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.
- package/CHANGELOG.md +284 -3
- package/README.md +143 -334
- package/dist/api/attio-client.d.ts +13 -3
- package/dist/api/attio-client.d.ts.map +1 -1
- package/dist/api/attio-client.js +37 -7
- package/dist/api/attio-client.js.map +1 -1
- package/dist/api/attribute-types.d.ts.map +1 -1
- package/dist/api/attribute-types.js +42 -20
- package/dist/api/attribute-types.js.map +1 -1
- package/dist/api/client-context.d.ts.map +1 -1
- package/dist/api/client-context.js +28 -42
- package/dist/api/client-context.js.map +1 -1
- package/dist/api/operations/batch.d.ts +3 -3
- package/dist/api/operations/batch.d.ts.map +1 -1
- package/dist/api/operations/batch.js.map +1 -1
- package/dist/api/operations/crud.d.ts.map +1 -1
- package/dist/api/operations/crud.js.map +1 -1
- package/dist/api/operations/search.d.ts.map +1 -1
- package/dist/api/operations/search.js.map +1 -1
- package/dist/cli/commands/generate-skill.d.ts +28 -0
- package/dist/cli/commands/generate-skill.d.ts.map +1 -0
- package/dist/cli/commands/generate-skill.js +101 -0
- package/dist/cli/commands/generate-skill.js.map +1 -0
- package/dist/cli/discover.js +65 -0
- package/dist/cli/discover.js.map +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/config/deal-defaults.d.ts +2 -2
- package/dist/config/deal-defaults.d.ts.map +1 -1
- package/dist/config/deal-defaults.js +15 -6
- package/dist/config/deal-defaults.js.map +1 -1
- package/dist/config/tool-aliases.d.ts +12 -0
- package/dist/config/tool-aliases.d.ts.map +1 -1
- package/dist/config/tool-aliases.js +213 -69
- package/dist/config/tool-aliases.js.map +1 -1
- package/dist/constants/tool-names.d.ts +84 -0
- package/dist/constants/tool-names.d.ts.map +1 -0
- package/dist/constants/tool-names.js +81 -0
- package/dist/constants/tool-names.js.map +1 -0
- package/dist/constants/universal.constants.d.ts +24 -0
- package/dist/constants/universal.constants.d.ts.map +1 -1
- package/dist/constants/universal.constants.js +81 -9
- package/dist/constants/universal.constants.js.map +1 -1
- package/dist/errors/value-match-error.js +1 -1
- package/dist/handlers/tool-configs/lists.d.ts +142 -19
- package/dist/handlers/tool-configs/lists.d.ts.map +1 -1
- package/dist/handlers/tool-configs/lists.js +319 -25
- package/dist/handlers/tool-configs/lists.js.map +1 -1
- package/dist/handlers/tool-configs/universal/batch-search.d.ts +1 -1
- package/dist/handlers/tool-configs/universal/batch-search.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/batch-search.js +17 -13
- package/dist/handlers/tool-configs/universal/batch-search.js.map +1 -1
- package/dist/handlers/tool-configs/universal/core/crud-error-handlers.d.ts +26 -4
- package/dist/handlers/tool-configs/universal/core/crud-error-handlers.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/core/crud-error-handlers.js +181 -21
- package/dist/handlers/tool-configs/universal/core/crud-error-handlers.js.map +1 -1
- package/dist/handlers/tool-configs/universal/core/crud-operations.d.ts +4 -4
- package/dist/handlers/tool-configs/universal/core/crud-operations.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/core/crud-operations.js +37 -24
- package/dist/handlers/tool-configs/universal/core/crud-operations.js.map +1 -1
- package/dist/handlers/tool-configs/universal/core/detailed-info-operations.js +3 -3
- package/dist/handlers/tool-configs/universal/core/detailed-info-operations.js.map +1 -1
- package/dist/handlers/tool-configs/universal/core/error-enhancers/attribute-enhancer.d.ts +17 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/attribute-enhancer.d.ts.map +1 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/attribute-enhancer.js +118 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/attribute-enhancer.js.map +1 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/complex-type-enhancer.d.ts +14 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/complex-type-enhancer.d.ts.map +1 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/complex-type-enhancer.js +77 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/complex-type-enhancer.js.map +1 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/index.d.ts +24 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/index.d.ts.map +1 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/index.js +35 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/index.js.map +1 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/record-reference-enhancer.d.ts +15 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/record-reference-enhancer.d.ts.map +1 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/record-reference-enhancer.js +108 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/record-reference-enhancer.js.map +1 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/required-fields-enhancer.d.ts +14 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/required-fields-enhancer.d.ts.map +1 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/required-fields-enhancer.js +91 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/required-fields-enhancer.js.map +1 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/select-status-enhancer.d.ts +14 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/select-status-enhancer.d.ts.map +1 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/select-status-enhancer.js +118 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/select-status-enhancer.js.map +1 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/types.d.ts +77 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/types.d.ts.map +1 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/types.js +42 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/types.js.map +1 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/uniqueness-enhancer.d.ts +15 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/uniqueness-enhancer.d.ts.map +1 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/uniqueness-enhancer.js +109 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/uniqueness-enhancer.js.map +1 -0
- package/dist/handlers/tool-configs/universal/core/index.d.ts +63 -22
- package/dist/handlers/tool-configs/universal/core/index.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/core/index.js +24 -22
- package/dist/handlers/tool-configs/universal/core/index.js.map +1 -1
- package/dist/handlers/tool-configs/universal/core/metadata-operations.d.ts +43 -1
- package/dist/handlers/tool-configs/universal/core/metadata-operations.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/core/metadata-operations.js +117 -11
- package/dist/handlers/tool-configs/universal/core/metadata-operations.js.map +1 -1
- package/dist/handlers/tool-configs/universal/core/notes-operations.js +12 -12
- package/dist/handlers/tool-configs/universal/core/notes-operations.js.map +1 -1
- package/dist/handlers/tool-configs/universal/core/record-details-operations.d.ts +6 -3
- package/dist/handlers/tool-configs/universal/core/record-details-operations.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/core/record-details-operations.js +35 -10
- package/dist/handlers/tool-configs/universal/core/record-details-operations.js.map +1 -1
- package/dist/handlers/tool-configs/universal/core/search-operations.d.ts +4 -3
- package/dist/handlers/tool-configs/universal/core/search-operations.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/core/search-operations.js +31 -12
- package/dist/handlers/tool-configs/universal/core/search-operations.js.map +1 -1
- package/dist/handlers/tool-configs/universal/core/utils.d.ts +1 -0
- package/dist/handlers/tool-configs/universal/core/utils.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/core/utils.js +3 -0
- package/dist/handlers/tool-configs/universal/core/utils.js.map +1 -1
- package/dist/handlers/tool-configs/universal/field-mapper/constants/companies.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/field-mapper/constants/companies.js +32 -9
- package/dist/handlers/tool-configs/universal/field-mapper/constants/companies.js.map +1 -1
- package/dist/handlers/tool-configs/universal/field-mapper/constants/deals.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/field-mapper/constants/deals.js +45 -6
- package/dist/handlers/tool-configs/universal/field-mapper/constants/deals.js.map +1 -1
- package/dist/handlers/tool-configs/universal/field-mapper/constants/people.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/field-mapper/constants/people.js +36 -5
- package/dist/handlers/tool-configs/universal/field-mapper/constants/people.js.map +1 -1
- package/dist/handlers/tool-configs/universal/field-mapper/transformers/value-transformer.d.ts +1 -1
- package/dist/handlers/tool-configs/universal/field-mapper/transformers/value-transformer.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/field-mapper/transformers/value-transformer.js +17 -1
- package/dist/handlers/tool-configs/universal/field-mapper/transformers/value-transformer.js.map +1 -1
- package/dist/handlers/tool-configs/universal/field-mapper/validators/field-validator.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/field-mapper/validators/field-validator.js +3 -1
- package/dist/handlers/tool-configs/universal/field-mapper/validators/field-validator.js.map +1 -1
- package/dist/handlers/tool-configs/universal/index.d.ts +75 -34
- package/dist/handlers/tool-configs/universal/index.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/index.js +58 -58
- package/dist/handlers/tool-configs/universal/index.js.map +1 -1
- package/dist/handlers/tool-configs/universal/operations/advanced-search.d.ts +3 -3
- package/dist/handlers/tool-configs/universal/operations/advanced-search.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/operations/advanced-search.js +17 -10
- package/dist/handlers/tool-configs/universal/operations/advanced-search.js.map +1 -1
- package/dist/handlers/tool-configs/universal/operations/batch-format.d.ts +1 -1
- package/dist/handlers/tool-configs/universal/operations/batch-format.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/operations/batch-format.js +31 -10
- package/dist/handlers/tool-configs/universal/operations/batch-format.js.map +1 -1
- package/dist/handlers/tool-configs/universal/operations/batch-operations.js +3 -3
- package/dist/handlers/tool-configs/universal/operations/content-search.d.ts +3 -3
- package/dist/handlers/tool-configs/universal/operations/content-search.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/operations/content-search.js +15 -9
- package/dist/handlers/tool-configs/universal/operations/content-search.js.map +1 -1
- package/dist/handlers/tool-configs/universal/operations/index.d.ts +10 -10
- package/dist/handlers/tool-configs/universal/operations/index.js +15 -15
- package/dist/handlers/tool-configs/universal/operations/relationship-search.d.ts +3 -3
- package/dist/handlers/tool-configs/universal/operations/relationship-search.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/operations/relationship-search.js +11 -8
- package/dist/handlers/tool-configs/universal/operations/relationship-search.js.map +1 -1
- package/dist/handlers/tool-configs/universal/operations/timeframe-search.d.ts +3 -3
- package/dist/handlers/tool-configs/universal/operations/timeframe-search.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/operations/timeframe-search.js +16 -10
- package/dist/handlers/tool-configs/universal/operations/timeframe-search.js.map +1 -1
- package/dist/handlers/tool-configs/universal/schemas/utility-schemas.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/schemas/utility-schemas.js +5 -2
- package/dist/handlers/tool-configs/universal/schemas/utility-schemas.js.map +1 -1
- package/dist/handlers/tool-configs/universal/schemas/validation-schemas.d.ts +29 -0
- package/dist/handlers/tool-configs/universal/schemas/validation-schemas.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/schemas/validation-schemas.js +28 -0
- package/dist/handlers/tool-configs/universal/schemas/validation-schemas.js.map +1 -1
- package/dist/handlers/tool-configs/universal/schemas.d.ts +1 -1
- package/dist/handlers/tool-configs/universal/schemas.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/schemas.js +1 -1
- package/dist/handlers/tool-configs/universal/schemas.js.map +1 -1
- package/dist/handlers/tool-configs/universal/shared-handlers.d.ts +27 -7
- package/dist/handlers/tool-configs/universal/shared-handlers.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/shared-handlers.js +221 -25
- package/dist/handlers/tool-configs/universal/shared-handlers.js.map +1 -1
- package/dist/handlers/tool-configs/universal/smithery-diagnostics.js +2 -2
- package/dist/handlers/tool-configs/universal/smithery-diagnostics.js.map +1 -1
- package/dist/handlers/tool-configs/universal/types.d.ts +17 -7
- package/dist/handlers/tool-configs/universal/types.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/validators/schema-validator.d.ts +11 -0
- package/dist/handlers/tool-configs/universal/validators/schema-validator.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/validators/schema-validator.js +80 -17
- package/dist/handlers/tool-configs/universal/validators/schema-validator.js.map +1 -1
- package/dist/handlers/tools/dispatcher/core.d.ts.map +1 -1
- package/dist/handlers/tools/dispatcher/core.js +9 -2
- package/dist/handlers/tools/dispatcher/core.js.map +1 -1
- package/dist/handlers/tools/dispatcher/operations/lists.d.ts +20 -1
- package/dist/handlers/tools/dispatcher/operations/lists.d.ts.map +1 -1
- package/dist/handlers/tools/dispatcher/operations/lists.js +366 -17
- package/dist/handlers/tools/dispatcher/operations/lists.js.map +1 -1
- package/dist/handlers/tools/formatters.d.ts +8 -1
- package/dist/handlers/tools/formatters.d.ts.map +1 -1
- package/dist/handlers/tools/formatters.js +30 -14
- package/dist/handlers/tools/formatters.js.map +1 -1
- package/dist/handlers/tools/registry.d.ts +409 -122
- package/dist/handlers/tools/registry.d.ts.map +1 -1
- package/dist/handlers/tools/registry.js +14 -9
- package/dist/handlers/tools/registry.js.map +1 -1
- package/dist/handlers/tools/standards/index.d.ts.map +1 -1
- package/dist/handlers/tools/standards/index.js +19 -11
- package/dist/handlers/tools/standards/index.js.map +1 -1
- package/dist/objects/companies/attributes.d.ts +5 -0
- package/dist/objects/companies/attributes.d.ts.map +1 -1
- package/dist/objects/companies/attributes.js +45 -31
- package/dist/objects/companies/attributes.js.map +1 -1
- package/dist/objects/companies/basic.d.ts.map +1 -1
- package/dist/objects/companies/basic.js.map +1 -1
- package/dist/objects/lists/base.d.ts.map +1 -1
- package/dist/objects/lists/base.js +6 -2
- package/dist/objects/lists/base.js.map +1 -1
- package/dist/objects/lists/shared.d.ts.map +1 -1
- package/dist/objects/lists/shared.js +12 -1
- package/dist/objects/lists/shared.js.map +1 -1
- package/dist/objects/records/index.d.ts.map +1 -1
- package/dist/objects/records/index.js.map +1 -1
- package/dist/server/createServer.d.ts.map +1 -1
- package/dist/server/createServer.js +4 -3
- package/dist/server/createServer.js.map +1 -1
- package/dist/services/ErrorService.js +3 -3
- package/dist/services/ErrorService.js.map +1 -1
- package/dist/services/OpenAiCompatibilityService.d.ts.map +1 -1
- package/dist/services/OpenAiCompatibilityService.js +12 -8
- package/dist/services/OpenAiCompatibilityService.js.map +1 -1
- package/dist/services/UniversalCreateService.d.ts +3 -3
- package/dist/services/UniversalCreateService.d.ts.map +1 -1
- package/dist/services/UniversalCreateService.js +162 -38
- package/dist/services/UniversalCreateService.js.map +1 -1
- package/dist/services/UniversalMetadataService.d.ts +8 -0
- package/dist/services/UniversalMetadataService.d.ts.map +1 -1
- package/dist/services/UniversalMetadataService.js +21 -0
- package/dist/services/UniversalMetadataService.js.map +1 -1
- package/dist/services/UniversalRetrievalService.d.ts +7 -5
- package/dist/services/UniversalRetrievalService.d.ts.map +1 -1
- package/dist/services/UniversalRetrievalService.js +31 -29
- package/dist/services/UniversalRetrievalService.js.map +1 -1
- package/dist/services/UniversalSearchService.d.ts +8 -27
- package/dist/services/UniversalSearchService.d.ts.map +1 -1
- package/dist/services/UniversalSearchService.js +19 -327
- package/dist/services/UniversalSearchService.js.map +1 -1
- package/dist/services/UniversalUpdateService.d.ts +25 -7
- package/dist/services/UniversalUpdateService.d.ts.map +1 -1
- package/dist/services/UniversalUpdateService.js +132 -157
- package/dist/services/UniversalUpdateService.js.map +1 -1
- package/dist/services/UniversalUtilityService.d.ts +9 -1
- package/dist/services/UniversalUtilityService.d.ts.map +1 -1
- package/dist/services/UniversalUtilityService.js +13 -0
- package/dist/services/UniversalUtilityService.js.map +1 -1
- package/dist/services/ValidationService.js +4 -4
- package/dist/services/ValidationService.js.map +1 -1
- package/dist/services/create/attio-create.service.d.ts.map +1 -1
- package/dist/services/create/attio-create.service.js +2 -1
- package/dist/services/create/attio-create.service.js.map +1 -1
- package/dist/services/create/creators/company-creator.js.map +1 -1
- package/dist/services/create/creators/note-creator.d.ts.map +1 -1
- package/dist/services/create/creators/note-creator.js +4 -2
- package/dist/services/create/creators/note-creator.js.map +1 -1
- package/dist/services/create/factory.d.ts.map +1 -1
- package/dist/services/create/factory.js +2 -1
- package/dist/services/create/factory.js.map +1 -1
- package/dist/services/create/mock-create.service.d.ts.map +1 -1
- package/dist/services/create/mock-create.service.js.map +1 -1
- package/dist/services/create/strategies/BaseCreateStrategy.d.ts +2 -2
- package/dist/services/create/strategies/BaseCreateStrategy.d.ts.map +1 -1
- package/dist/services/create/strategies/ListCreateStrategy.d.ts +3 -3
- package/dist/services/create/strategies/ListCreateStrategy.d.ts.map +1 -1
- package/dist/services/create/strategies/ListCreateStrategy.js +2 -16
- package/dist/services/create/strategies/ListCreateStrategy.js.map +1 -1
- package/dist/services/create/strategies/TaskCreateStrategy.d.ts.map +1 -1
- package/dist/services/create/strategies/TaskCreateStrategy.js.map +1 -1
- package/dist/services/metadata/AttributeOptionsService.d.ts +38 -0
- package/dist/services/metadata/AttributeOptionsService.d.ts.map +1 -0
- package/dist/services/metadata/AttributeOptionsService.js +92 -0
- package/dist/services/metadata/AttributeOptionsService.js.map +1 -0
- package/dist/services/metadata/MetadataDiscoveryService.d.ts.map +1 -1
- package/dist/services/metadata/MetadataDiscoveryService.js.map +1 -1
- package/dist/services/metadata/MetadataTransformService.d.ts.map +1 -1
- package/dist/services/metadata/MetadataTransformService.js.map +1 -1
- package/dist/services/metadata/index.d.ts +1 -0
- package/dist/services/metadata/index.d.ts.map +1 -1
- package/dist/services/metadata/index.js +1 -0
- package/dist/services/metadata/index.js.map +1 -1
- package/dist/services/search/QueryApiService.d.ts +27 -0
- package/dist/services/search/QueryApiService.d.ts.map +1 -0
- package/dist/services/search/QueryApiService.js +144 -0
- package/dist/services/search/QueryApiService.js.map +1 -0
- package/dist/services/search/RecordsSearchService.d.ts +27 -0
- package/dist/services/search/RecordsSearchService.d.ts.map +1 -0
- package/dist/services/search/RecordsSearchService.js +122 -0
- package/dist/services/search/RecordsSearchService.js.map +1 -0
- package/dist/services/search/SearchCoordinator.d.ts +41 -0
- package/dist/services/search/SearchCoordinator.d.ts.map +1 -0
- package/dist/services/search/SearchCoordinator.js +83 -0
- package/dist/services/search/SearchCoordinator.js.map +1 -0
- package/dist/services/search/StrategyFactory.d.ts +31 -0
- package/dist/services/search/StrategyFactory.d.ts.map +1 -0
- package/dist/services/search/StrategyFactory.js +100 -0
- package/dist/services/search/StrategyFactory.js.map +1 -0
- package/dist/services/search-strategies/BaseSearchStrategy.d.ts +5 -5
- package/dist/services/search-strategies/BaseSearchStrategy.d.ts.map +1 -1
- package/dist/services/search-strategies/BaseSearchStrategy.js.map +1 -1
- package/dist/services/search-strategies/CompanySearchStrategy.d.ts +4 -4
- package/dist/services/search-strategies/CompanySearchStrategy.d.ts.map +1 -1
- package/dist/services/search-strategies/CompanySearchStrategy.js +1 -1
- package/dist/services/search-strategies/CompanySearchStrategy.js.map +1 -1
- package/dist/services/search-strategies/DealSearchStrategy.d.ts +4 -4
- package/dist/services/search-strategies/DealSearchStrategy.d.ts.map +1 -1
- package/dist/services/search-strategies/DealSearchStrategy.js +1 -1
- package/dist/services/search-strategies/DealSearchStrategy.js.map +1 -1
- package/dist/services/search-strategies/ListSearchStrategy.d.ts +34 -7
- package/dist/services/search-strategies/ListSearchStrategy.d.ts.map +1 -1
- package/dist/services/search-strategies/ListSearchStrategy.js +65 -24
- package/dist/services/search-strategies/ListSearchStrategy.js.map +1 -1
- package/dist/services/search-strategies/NoteSearchStrategy.d.ts +4 -4
- package/dist/services/search-strategies/NoteSearchStrategy.d.ts.map +1 -1
- package/dist/services/search-strategies/NoteSearchStrategy.js +6 -7
- package/dist/services/search-strategies/NoteSearchStrategy.js.map +1 -1
- package/dist/services/search-strategies/PeopleSearchStrategy.d.ts +4 -4
- package/dist/services/search-strategies/PeopleSearchStrategy.d.ts.map +1 -1
- package/dist/services/search-strategies/PeopleSearchStrategy.js +1 -1
- package/dist/services/search-strategies/PeopleSearchStrategy.js.map +1 -1
- package/dist/services/search-strategies/TaskSearchStrategy.d.ts +4 -4
- package/dist/services/search-strategies/TaskSearchStrategy.d.ts.map +1 -1
- package/dist/services/search-strategies/TaskSearchStrategy.js +7 -8
- package/dist/services/search-strategies/TaskSearchStrategy.js.map +1 -1
- package/dist/services/search-strategies/interfaces.d.ts +7 -6
- package/dist/services/search-strategies/interfaces.d.ts.map +1 -1
- package/dist/services/search-utilities/SearchUtilities.d.ts +22 -7
- package/dist/services/search-utilities/SearchUtilities.d.ts.map +1 -1
- package/dist/services/search-utilities/SearchUtilities.js +52 -4
- package/dist/services/search-utilities/SearchUtilities.js.map +1 -1
- package/dist/services/skill-generator/OutputWriterService.d.ts +41 -0
- package/dist/services/skill-generator/OutputWriterService.d.ts.map +1 -0
- package/dist/services/skill-generator/OutputWriterService.js +100 -0
- package/dist/services/skill-generator/OutputWriterService.js.map +1 -0
- package/dist/services/skill-generator/SchemaFormatterService.d.ts +61 -0
- package/dist/services/skill-generator/SchemaFormatterService.d.ts.map +1 -0
- package/dist/services/skill-generator/SchemaFormatterService.js +168 -0
- package/dist/services/skill-generator/SchemaFormatterService.js.map +1 -0
- package/dist/services/skill-generator/WorkspaceSchemaService.d.ts +84 -0
- package/dist/services/skill-generator/WorkspaceSchemaService.d.ts.map +1 -0
- package/dist/services/skill-generator/WorkspaceSchemaService.js +292 -0
- package/dist/services/skill-generator/WorkspaceSchemaService.js.map +1 -0
- package/dist/services/skill-generator/index.d.ts +12 -0
- package/dist/services/skill-generator/index.d.ts.map +1 -0
- package/dist/services/skill-generator/index.js +11 -0
- package/dist/services/skill-generator/index.js.map +1 -0
- package/dist/services/skill-generator/types.d.ts +137 -0
- package/dist/services/skill-generator/types.d.ts.map +1 -0
- package/dist/services/skill-generator/types.js +10 -0
- package/dist/services/skill-generator/types.js.map +1 -0
- package/dist/services/update/FieldPersistenceHandler.d.ts +101 -0
- package/dist/services/update/FieldPersistenceHandler.d.ts.map +1 -0
- package/dist/services/update/FieldPersistenceHandler.js +207 -0
- package/dist/services/update/FieldPersistenceHandler.js.map +1 -0
- package/dist/services/update/FieldValidationHandler.d.ts +77 -0
- package/dist/services/update/FieldValidationHandler.d.ts.map +1 -0
- package/dist/services/update/FieldValidationHandler.js +157 -0
- package/dist/services/update/FieldValidationHandler.js.map +1 -0
- package/dist/services/update/MetadataResolver.d.ts +50 -0
- package/dist/services/update/MetadataResolver.d.ts.map +1 -0
- package/dist/services/update/MetadataResolver.js +110 -0
- package/dist/services/update/MetadataResolver.js.map +1 -0
- package/dist/services/update/ResponseNormalizer.d.ts +4 -4
- package/dist/services/update/ResponseNormalizer.d.ts.map +1 -1
- package/dist/services/update/ResponseNormalizer.js +18 -9
- package/dist/services/update/ResponseNormalizer.js.map +1 -1
- package/dist/services/update/UpdateOrchestrator.d.ts +37 -0
- package/dist/services/update/UpdateOrchestrator.d.ts.map +1 -0
- package/dist/services/update/UpdateOrchestrator.js +58 -0
- package/dist/services/update/UpdateOrchestrator.js.map +1 -0
- package/dist/services/update/UpdateValidation.d.ts +7 -3
- package/dist/services/update/UpdateValidation.d.ts.map +1 -1
- package/dist/services/update/UpdateValidation.js +56 -32
- package/dist/services/update/UpdateValidation.js.map +1 -1
- package/dist/services/update/strategies/BaseUpdateStrategy.d.ts +2 -2
- package/dist/services/update/strategies/BaseUpdateStrategy.d.ts.map +1 -1
- package/dist/services/update/strategies/ListUpdateStrategy.d.ts +3 -3
- package/dist/services/update/strategies/ListUpdateStrategy.d.ts.map +1 -1
- package/dist/services/update/strategies/ListUpdateStrategy.js +4 -14
- package/dist/services/update/strategies/ListUpdateStrategy.js.map +1 -1
- package/dist/services/value-transformer/index.d.ts +57 -0
- package/dist/services/value-transformer/index.d.ts.map +1 -0
- package/dist/services/value-transformer/index.js +326 -0
- package/dist/services/value-transformer/index.js.map +1 -0
- package/dist/services/value-transformer/multi-select-transformer.d.ts +63 -0
- package/dist/services/value-transformer/multi-select-transformer.d.ts.map +1 -0
- package/dist/services/value-transformer/multi-select-transformer.js +144 -0
- package/dist/services/value-transformer/multi-select-transformer.js.map +1 -0
- package/dist/services/value-transformer/record-reference-transformer.d.ts +43 -0
- package/dist/services/value-transformer/record-reference-transformer.d.ts.map +1 -0
- package/dist/services/value-transformer/record-reference-transformer.js +245 -0
- package/dist/services/value-transformer/record-reference-transformer.js.map +1 -0
- package/dist/services/value-transformer/select-transformer.d.ts +48 -0
- package/dist/services/value-transformer/select-transformer.d.ts.map +1 -0
- package/dist/services/value-transformer/select-transformer.js +232 -0
- package/dist/services/value-transformer/select-transformer.js.map +1 -0
- package/dist/services/value-transformer/status-transformer.d.ts +32 -0
- package/dist/services/value-transformer/status-transformer.d.ts.map +1 -0
- package/dist/services/value-transformer/status-transformer.js +329 -0
- package/dist/services/value-transformer/status-transformer.js.map +1 -0
- package/dist/services/value-transformer/types.d.ts +100 -0
- package/dist/services/value-transformer/types.d.ts.map +1 -0
- package/dist/services/value-transformer/types.js +6 -0
- package/dist/services/value-transformer/types.js.map +1 -0
- package/dist/templates/skill/SKILL.template.md +78 -0
- package/dist/templates/skill/attribute-reference.template.md +126 -0
- package/dist/templates/skill/complex-types.template.md +255 -0
- package/dist/types/attio.d.ts +55 -0
- package/dist/types/attio.d.ts.map +1 -1
- package/dist/types/attio.js +36 -0
- package/dist/types/attio.js.map +1 -1
- package/dist/utils/client-resolver.d.ts.map +1 -1
- package/dist/utils/client-resolver.js +8 -16
- package/dist/utils/client-resolver.js.map +1 -1
- package/dist/utils/complex-type-validation.d.ts +16 -0
- package/dist/utils/complex-type-validation.d.ts.map +1 -0
- package/dist/utils/complex-type-validation.js +196 -0
- package/dist/utils/complex-type-validation.js.map +1 -0
- package/dist/utils/error-response-utils.js +3 -3
- package/dist/utils/error-response-utils.js.map +1 -1
- package/dist/utils/error-utilities.d.ts.map +1 -1
- package/dist/utils/error-utilities.js +16 -9
- package/dist/utils/error-utilities.js.map +1 -1
- package/dist/utils/location-normalizer.d.ts +26 -0
- package/dist/utils/location-normalizer.d.ts.map +1 -0
- package/dist/utils/location-normalizer.js +39 -0
- package/dist/utils/location-normalizer.js.map +1 -0
- package/dist/utils/metadata-utils.d.ts +27 -0
- package/dist/utils/metadata-utils.d.ts.map +1 -0
- package/dist/utils/metadata-utils.js +59 -0
- package/dist/utils/metadata-utils.js.map +1 -0
- package/dist/utils/normalization/record-data-normalization.d.ts +47 -0
- package/dist/utils/normalization/record-data-normalization.d.ts.map +1 -0
- package/dist/utils/normalization/record-data-normalization.js +103 -0
- package/dist/utils/normalization/record-data-normalization.js.map +1 -0
- package/dist/utils/personal-name-parser.d.ts.map +1 -1
- package/dist/utils/personal-name-parser.js +26 -17
- package/dist/utils/personal-name-parser.js.map +1 -1
- package/dist/validators/company/field_detector.d.ts.map +1 -1
- package/dist/validators/company/field_detector.js +5 -0
- package/dist/validators/company/field_detector.js.map +1 -1
- package/package.json +35 -33
package/README.md
CHANGED
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
[](https://badge.fury.io/js/attio-mcp)
|
|
5
5
|
[](https://nodejs.org/)
|
|
6
6
|
[](https://github.com/kesslerio/attio-mcp-server/releases)
|
|
7
|
-
[](https://smithery.ai/server/@kesslerio/attio-mcp-server)
|
|
8
7
|
[](https://deepwiki.com/kesslerio/attio-mcp-server)
|
|
9
8
|
|
|
10
9
|
A comprehensive Model Context Protocol (MCP) server for [Attio](https://attio.com/), providing **complete CRM surface coverage**. This server enables AI assistants like Claude and ChatGPT to interact directly with your entire Attio workspace through natural language—manage Deals, Tasks, Lists, People, Companies, Records, and Notes without falling back to raw API calls.
|
|
@@ -17,14 +16,16 @@ Transform your CRM workflows with AI-powered automation. Instead of clicking thr
|
|
|
17
16
|
|
|
18
17
|
> "Find all AI companies with 50+ employees that we haven't contacted in 30 days and add them to our Q1 outreach list"
|
|
19
18
|
|
|
20
|
-
## 🚀 **
|
|
19
|
+
## 🚀 **ChatGPT Developer Mode Integration**
|
|
21
20
|
|
|
22
|
-
|
|
21
|
+
> **⚠️ Smithery Temporarily Unavailable**: Smithery has changed their deployment model to require external hosting. We're working on Cloudflare Worker hosting for ChatGPT users. In the meantime, use [Tier 4 (Cloudflare Worker)](#tier-4-cloudflare-worker-remote-deployment) for ChatGPT/remote access.
|
|
22
|
+
|
|
23
|
+
ChatGPT Pro/Plus users can access the Attio toolset through natural language using a self-hosted Cloudflare Worker:
|
|
23
24
|
|
|
24
25
|
- **🔐 Built-in Approval Flows**: MCP safety annotations auto-approve read operations, request approval for writes
|
|
25
|
-
- **🌐 OAuth Integration**:
|
|
26
|
+
- **🌐 OAuth Integration**: Self-hosted OAuth via Cloudflare Worker deployment
|
|
26
27
|
- **💬 Natural Language CRM**: Manage your entire Attio workspace through conversational AI
|
|
27
|
-
- **📖 Setup Guide**: See [ChatGPT Developer Mode docs](./docs/chatgpt-developer-mode.md)
|
|
28
|
+
- **📖 Setup Guide**: See [ChatGPT Developer Mode docs](./docs/chatgpt-developer-mode.md) and [Cloudflare Worker Guide](./examples/cloudflare-mcp-server/README.md)
|
|
28
29
|
|
|
29
30
|
## ✨ Core Features & Implementation Status
|
|
30
31
|
|
|
@@ -54,22 +55,28 @@ Transform your CRM workflows with AI-powered automation. Instead of clicking thr
|
|
|
54
55
|
|
|
55
56
|
### 📊 **Company Management**
|
|
56
57
|
|
|
57
|
-
- **Universal Search**: Find companies with `
|
|
58
|
+
- **Universal Search**: Find companies with `search_records` and `search_records_advanced`
|
|
58
59
|
- **Full CRUD**: Create, read, update, and delete with universal record operations
|
|
59
|
-
- **Relationship Discovery**: Find companies through `
|
|
60
|
-
- **Batch Operations**: Process hundreds of companies with `
|
|
61
|
-
- **Detailed Information**: Get contact, business, and social info with `
|
|
60
|
+
- **Relationship Discovery**: Find companies through `search_records_by_relationship`
|
|
61
|
+
- **Batch Operations**: Process hundreds of companies with `batch_records`
|
|
62
|
+
- **Detailed Information**: Get contact, business, and social info with `get_record_info`
|
|
62
63
|
|
|
63
64
|
### 👥 **People Management**
|
|
64
65
|
|
|
65
66
|
- **Universal Contact Search**: Find people by any criteria using universal search tools
|
|
66
|
-
- **Relationship Tracking**: Link people to companies with `
|
|
67
|
-
- **Activity Timeline**: Track interactions with `
|
|
67
|
+
- **Relationship Tracking**: Link people to companies with `search_records_by_relationship`
|
|
68
|
+
- **Activity Timeline**: Track interactions with `search_records_by_content` and `search_records_by_timeframe`
|
|
68
69
|
- **Advanced Filtering**: Multi-attribute search with universal filtering
|
|
69
70
|
- **Bulk Operations**: Efficiently manage contacts with universal batch operations
|
|
70
71
|
|
|
71
|
-
### 📋 **Lists & Pipeline Management** (
|
|
72
|
+
### 📋 **Lists & Pipeline Management** (4 Tools + 8 Deprecated)
|
|
72
73
|
|
|
74
|
+
- **Active Tools**: 4 consolidated tools with auto-mode detection ([Migration Guide](./docs/migration/v2-list-tools.md))
|
|
75
|
+
- `filter-list-entries` - Unified filtering with 4 modes
|
|
76
|
+
- `manage-list-entry` - Unified entry management with 3 modes
|
|
77
|
+
- `get-list-entries` - Retrieve list entries
|
|
78
|
+
- `get-record-list-memberships` - Find record's list memberships
|
|
79
|
+
- **Deprecated (v2.0.0 removal)**: 8 legacy tools replaced by consolidated versions
|
|
73
80
|
- **Pipeline Operations**: Move deals through sales stages
|
|
74
81
|
- **Smart Segmentation**: Create and manage targeted contact lists
|
|
75
82
|
- **Advanced Filtering**: Complex multi-condition filtering with AND/OR logic
|
|
@@ -91,6 +98,25 @@ Transform your CRM workflows with AI-powered automation. Instead of clicking thr
|
|
|
91
98
|
- **Data Export**: JSON serialization for integrations
|
|
92
99
|
- **Real-time Updates**: Live data synchronization with Attio
|
|
93
100
|
|
|
101
|
+
### 🧠 **Claude Skills**
|
|
102
|
+
|
|
103
|
+
Supercharge Claude's Attio knowledge with pre-built skills that prevent common errors and teach best practices.
|
|
104
|
+
|
|
105
|
+
| Skill | Purpose | Setup |
|
|
106
|
+
| -------------------------- | ---------------------------------------------- | ----------------------------------------------- |
|
|
107
|
+
| **attio-mcp-usage** | Error prevention + universal workflow patterns | Bundled - just use it |
|
|
108
|
+
| **attio-workspace-schema** | YOUR workspace's exact field names and options | `npx attio-discover generate-skill --all --zip` |
|
|
109
|
+
| **attio-skill-generator** | Create custom workflow skills (advanced) | Python + prompting |
|
|
110
|
+
|
|
111
|
+
**Quick Start** (solves "wrong field name" errors):
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
npx attio-discover generate-skill --all --zip
|
|
115
|
+
# Import ZIP into Claude Desktop: Settings > Skills > Install Skill
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
See [Skills Documentation](./docs/usage/skills/README.md) for complete setup and usage guides.
|
|
119
|
+
|
|
94
120
|
### 💬 **Pre-Built Prompts** (10 Prompts)
|
|
95
121
|
|
|
96
122
|
Intelligent shortcuts that help Claude work faster with your CRM data:
|
|
@@ -177,7 +203,7 @@ For complete prompt documentation, see [docs/prompts/v1-catalog.md](./docs/promp
|
|
|
177
203
|
### 🤝 **OpenAI MCP Compatibility**
|
|
178
204
|
|
|
179
205
|
- **Developer Mode Ready**: Every tool now publishes MCP safety annotations (`readOnlyHint`, `destructiveHint`) so OpenAI Developer Mode can auto-approve reads and request confirmation for writes.
|
|
180
|
-
- **Full Tool Access (Default)**: All
|
|
206
|
+
- **Full Tool Access (Default)**: All 35 tools are exposed by default (21 universal + 11 list + 3 workspace member). Do NOT set `ATTIO_MCP_TOOL_MODE` in Smithery configuration for full access.
|
|
181
207
|
- **Search-Only Mode**: To restrict to read-only tools (`search`, `fetch`, `aaa-health-check`), explicitly configure `ATTIO_MCP_TOOL_MODE: 'search'` in Smithery dashboard when Developer Mode is unavailable.
|
|
182
208
|
- **Detailed Guide**: See [docs/chatgpt-developer-mode.md](./docs/chatgpt-developer-mode.md) for environment variables, approval flows, and validation tips.
|
|
183
209
|
- **User Documentation**: See the [ChatGPT Developer Mode docs](./docs/chatgpt-developer-mode.md) for a complete walkthrough of approval flows and setup instructions.
|
|
@@ -190,189 +216,9 @@ For complete prompt documentation, see [docs/prompts/v1-catalog.md](./docs/promp
|
|
|
190
216
|
|
|
191
217
|
For detailed troubleshooting and solutions, see [TROUBLESHOOTING.md](./TROUBLESHOOTING.md) and [GitHub Issues](https://github.com/kesslerio/attio-mcp-server/issues).
|
|
192
218
|
|
|
193
|
-
## 🎯 **
|
|
194
|
-
|
|
195
|
-
**The Power Behind Precise CRM Queries** - Stop wrestling with complex data searches. Our advanced filtering system lets you find exactly what you need with surgical precision.
|
|
196
|
-
|
|
197
|
-
> _"Find all AI companies with 50+ employees that we haven't contacted in 30 days and add them to our Q1 outreach list"_ - This kind of complex query is exactly what advanced search filters excel at.
|
|
198
|
-
|
|
199
|
-
### 🏗️ **Filter Architecture**
|
|
200
|
-
|
|
201
|
-
Every advanced search follows this proven pattern that's been battle-tested across thousands of CRM queries:
|
|
202
|
-
|
|
203
|
-
```json
|
|
204
|
-
{
|
|
205
|
-
"resource_type": "companies",
|
|
206
|
-
"filters": {
|
|
207
|
-
"filters": [
|
|
208
|
-
{
|
|
209
|
-
"attribute": { "slug": "field_name" },
|
|
210
|
-
"condition": "operator",
|
|
211
|
-
"value": "search_value"
|
|
212
|
-
}
|
|
213
|
-
]
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
```
|
|
217
|
-
|
|
218
|
-
### ⚡ **Real-World Examples**
|
|
219
|
-
|
|
220
|
-
**🔍 Single Criteria Search**
|
|
221
|
-
|
|
222
|
-
```json
|
|
223
|
-
{
|
|
224
|
-
"resource_type": "companies",
|
|
225
|
-
"filters": {
|
|
226
|
-
"filters": [
|
|
227
|
-
{
|
|
228
|
-
"attribute": { "slug": "name" },
|
|
229
|
-
"condition": "contains",
|
|
230
|
-
"value": "Tech"
|
|
231
|
-
}
|
|
232
|
-
]
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
```
|
|
236
|
-
|
|
237
|
-
**🎯 Multi-Criteria Power Search (AND Logic)**
|
|
238
|
-
|
|
239
|
-
```json
|
|
240
|
-
{
|
|
241
|
-
"resource_type": "companies",
|
|
242
|
-
"filters": {
|
|
243
|
-
"filters": [
|
|
244
|
-
{
|
|
245
|
-
"attribute": { "slug": "name" },
|
|
246
|
-
"condition": "contains",
|
|
247
|
-
"value": "Tech"
|
|
248
|
-
},
|
|
249
|
-
{
|
|
250
|
-
"attribute": { "slug": "employee_count" },
|
|
251
|
-
"condition": "greater_than",
|
|
252
|
-
"value": 50
|
|
253
|
-
},
|
|
254
|
-
{
|
|
255
|
-
"attribute": { "slug": "industry" },
|
|
256
|
-
"condition": "equals",
|
|
257
|
-
"value": "AI/Machine Learning"
|
|
258
|
-
}
|
|
259
|
-
]
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
```
|
|
263
|
-
|
|
264
|
-
**🚀 Flexible OR Logic**
|
|
265
|
-
|
|
266
|
-
```json
|
|
267
|
-
{
|
|
268
|
-
"resource_type": "companies",
|
|
269
|
-
"filters": {
|
|
270
|
-
"filters": [
|
|
271
|
-
{
|
|
272
|
-
"attribute": { "slug": "name" },
|
|
273
|
-
"condition": "contains",
|
|
274
|
-
"value": "Tech"
|
|
275
|
-
},
|
|
276
|
-
{
|
|
277
|
-
"attribute": { "slug": "name" },
|
|
278
|
-
"condition": "contains",
|
|
279
|
-
"value": "AI"
|
|
280
|
-
}
|
|
281
|
-
],
|
|
282
|
-
"matchAny": true
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
```
|
|
286
|
-
|
|
287
|
-
### 🧠 **Smart Filter Operators**
|
|
288
|
-
|
|
289
|
-
| Operator | Perfect For | Example Use Case |
|
|
290
|
-
| -------------- | ------------------- | ------------------------------------- |
|
|
291
|
-
| `contains` | Text searches | Finding companies with "Tech" in name |
|
|
292
|
-
| `equals` | Exact matches | Specific industry classification |
|
|
293
|
-
| `starts_with` | Prefix searches | Companies beginning with "Acme" |
|
|
294
|
-
| `ends_with` | Suffix searches | Companies ending with "Inc" |
|
|
295
|
-
| `greater_than` | Numerical analysis | Companies with 100+ employees |
|
|
296
|
-
| `less_than` | Size filtering | Startups under 50 people |
|
|
297
|
-
| `is_empty` | Data cleanup | Find records missing key information |
|
|
298
|
-
| `is_not_empty` | Completeness checks | Records with populated fields |
|
|
299
|
-
|
|
300
|
-
### 💡 **Pro Tips for Different Teams**
|
|
219
|
+
## 🎯 **Advanced Search Filters**
|
|
301
220
|
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
- **Companies**: `name`, `industry`, `employee_count`, `website`, `location`
|
|
305
|
-
- **People**: `full_name`, `job_title`, `email`, `company`
|
|
306
|
-
|
|
307
|
-
**📈 Marketing Teams** - Focus on engagement fields:
|
|
308
|
-
|
|
309
|
-
- **Activity tracking**: `last_interaction`, `email_status`, `campaign_response`
|
|
310
|
-
- **Segmentation**: `industry`, `company_size`, `location`, `engagement_score`
|
|
311
|
-
|
|
312
|
-
**✅ Customer Success** - Monitor health metrics:
|
|
313
|
-
|
|
314
|
-
- **Account health**: `renewal_date`, `support_tickets`, `usage_metrics`
|
|
315
|
-
- **Risk indicators**: `last_contact`, `satisfaction_score`, `contract_value`
|
|
316
|
-
|
|
317
|
-
### 🚨 **Avoid These Common Mistakes**
|
|
318
|
-
|
|
319
|
-
❌ **Wrong** (Flat object structure):
|
|
320
|
-
|
|
321
|
-
```json
|
|
322
|
-
{
|
|
323
|
-
"filters": {
|
|
324
|
-
"name": { "operator": "contains", "value": "Test" }
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
|
-
```
|
|
328
|
-
|
|
329
|
-
✅ **Correct** (Nested array structure):
|
|
330
|
-
|
|
331
|
-
```json
|
|
332
|
-
{
|
|
333
|
-
"filters": {
|
|
334
|
-
"filters": [
|
|
335
|
-
{
|
|
336
|
-
"attribute": { "slug": "name" },
|
|
337
|
-
"condition": "contains",
|
|
338
|
-
"value": "Test"
|
|
339
|
-
}
|
|
340
|
-
]
|
|
341
|
-
}
|
|
342
|
-
}
|
|
343
|
-
```
|
|
344
|
-
|
|
345
|
-
### 🔧 **Quick Troubleshooting**
|
|
346
|
-
|
|
347
|
-
**Getting "Filters must include a 'filters' array property"?**
|
|
348
|
-
|
|
349
|
-
1. ✅ Ensure your filters object contains a `filters` array
|
|
350
|
-
2. ✅ Each array item needs `attribute`, `condition`, and `value`
|
|
351
|
-
3. ✅ The `attribute` must be an object with a `slug` property
|
|
352
|
-
4. ✅ Double-check your JSON structure matches the examples above
|
|
353
|
-
|
|
354
|
-
**💬 Pro Tip**: Start with simple single-filter searches, then build complexity once you're comfortable with the structure.
|
|
355
|
-
|
|
356
|
-
## 🏆 Latest Updates - Critical Issues Resolved
|
|
357
|
-
|
|
358
|
-
✅ **100% Integration Test Pass Rate Achieved** - All critical API contract violations and build issues have been resolved:
|
|
359
|
-
|
|
360
|
-
### Recently Fixed Issues (August 2025)
|
|
361
|
-
|
|
362
|
-
- **P0 Critical API Failures**: Fixed response data structure handling for robust fallback patterns
|
|
363
|
-
- **Build Compilation Errors**: Created missing enhanced-validation module and resolved TypeScript compilation
|
|
364
|
-
- **E2E Test Implementation**: Fixed JSON truncation, resource mappings, and email validation consistency
|
|
365
|
-
- **Field Parameter Filtering**: Resolved tasks attribute handling with special case for missing `/objects/tasks/attributes` endpoint
|
|
366
|
-
- **Email Validation Consistency**: Fixed batch validation and create/update operation alignment
|
|
367
|
-
- **Pagination System**: Documented tasks pagination limitation with in-memory handling workaround
|
|
368
|
-
|
|
369
|
-
### Test Status
|
|
370
|
-
|
|
371
|
-
- **Integration Tests**: 15/15 passing (100% pass rate)
|
|
372
|
-
- **Build Status**: All TypeScript compilation successful
|
|
373
|
-
- **API Contract**: All violations resolved with robust error handling
|
|
374
|
-
|
|
375
|
-
See [TROUBLESHOOTING.md](./TROUBLESHOOTING.md) for detailed solutions to these resolved issues.
|
|
221
|
+
Build powerful CRM queries with multi-criteria AND/OR filtering. See the [Advanced Search Guide](./docs/usage/advanced-search.md) for complete examples and operator reference.
|
|
376
222
|
|
|
377
223
|
## 🚀 Installation
|
|
378
224
|
|
|
@@ -384,61 +230,23 @@ See [TROUBLESHOOTING.md](./TROUBLESHOOTING.md) for detailed solutions to these r
|
|
|
384
230
|
|
|
385
231
|
### Client Compatibility
|
|
386
232
|
|
|
387
|
-
| Client |
|
|
388
|
-
| ------------------ |
|
|
389
|
-
| Claude Desktop | ✅ Recommended
|
|
390
|
-
| Claude Web |
|
|
391
|
-
| ChatGPT (Pro/Plus) |
|
|
392
|
-
| Cursor IDE | ✅
|
|
393
|
-
| Claude Code (CLI) |
|
|
233
|
+
| Client | Local Install (Tier 1-2) | Cloudflare Worker (Tier 3) |
|
|
234
|
+
| ------------------ | ------------------------ | -------------------------- |
|
|
235
|
+
| Claude Desktop | ✅ Recommended | ✅ Full support |
|
|
236
|
+
| Claude Web | N/A | ✅ Full support |
|
|
237
|
+
| ChatGPT (Pro/Plus) | N/A | ✅ Recommended |
|
|
238
|
+
| Cursor IDE | ✅ Full support | ✅ Full support |
|
|
239
|
+
| Claude Code (CLI) | ✅ Recommended | Partial |
|
|
394
240
|
|
|
395
241
|
**Choose your installation method:**
|
|
396
242
|
|
|
397
|
-
- **Most users**: Use [Tier 1 (
|
|
398
|
-
- **
|
|
399
|
-
- **
|
|
400
|
-
- **Teams/Enterprise**: Use [Tier 4 (Cloudflare Worker)](#tier-4-cloudflare-worker-remote-deployment) - self-hosted, multi-user OAuth
|
|
243
|
+
- **Most users**: Use [Tier 1 (Shell Installers)](#tier-1-shell-installers) - one command, automatic setup
|
|
244
|
+
- **Power users**: Use [Tier 2 (Manual)](#tier-2-manual-configuration) - full control over configuration
|
|
245
|
+
- **ChatGPT/Teams/Enterprise**: Use [Tier 3 (Cloudflare Worker)](#tier-3-cloudflare-worker-remote-deployment) - self-hosted, multi-user OAuth
|
|
401
246
|
|
|
402
247
|
---
|
|
403
248
|
|
|
404
|
-
### Tier 1:
|
|
405
|
-
|
|
406
|
-
> **Best for**: Claude Desktop, Claude Web, ChatGPT, Cursor - zero local installation required.
|
|
407
|
-
|
|
408
|
-
[Smithery](https://smithery.ai/server/@kesslerio/attio-mcp-server) handles OAuth, hosting, and configuration automatically.
|
|
409
|
-
|
|
410
|
-
#### Claude Desktop via Smithery
|
|
411
|
-
|
|
412
|
-
```bash
|
|
413
|
-
npx -y @smithery/cli install @kesslerio/attio-mcp-server --client claude
|
|
414
|
-
```
|
|
415
|
-
|
|
416
|
-
#### Cursor IDE via Smithery
|
|
417
|
-
|
|
418
|
-
```bash
|
|
419
|
-
npx -y @smithery/cli install @kesslerio/attio-mcp-server --client cursor
|
|
420
|
-
```
|
|
421
|
-
|
|
422
|
-
#### ChatGPT Developer Mode
|
|
423
|
-
|
|
424
|
-
ChatGPT requires Smithery for OAuth authentication. Direct server URLs are not supported.
|
|
425
|
-
|
|
426
|
-
1. Enable Developer Mode: **Settings → Connectors → Advanced → Developer Mode**
|
|
427
|
-
2. Add MCP Server URL: `https://server.smithery.ai/@kesslerio/attio-mcp-server/mcp`
|
|
428
|
-
3. Complete OAuth authorization when prompted
|
|
429
|
-
|
|
430
|
-
See [ChatGPT Developer Mode Guide](./docs/chatgpt-developer-mode.md) for detailed setup instructions.
|
|
431
|
-
|
|
432
|
-
#### Claude Web
|
|
433
|
-
|
|
434
|
-
1. Go to [Claude.ai](https://claude.ai) Settings → Connectors
|
|
435
|
-
2. Add new MCP connector
|
|
436
|
-
3. Select "Attio CRM" from Smithery marketplace
|
|
437
|
-
4. Authorize with your Attio account
|
|
438
|
-
|
|
439
|
-
---
|
|
440
|
-
|
|
441
|
-
### Tier 2: Shell Installers
|
|
249
|
+
### Tier 1: Shell Installers
|
|
442
250
|
|
|
443
251
|
> **Best for**: Developers who prefer local installations with automatic configuration.
|
|
444
252
|
|
|
@@ -472,7 +280,7 @@ These scripts will:
|
|
|
472
280
|
|
|
473
281
|
---
|
|
474
282
|
|
|
475
|
-
### Tier
|
|
283
|
+
### Tier 2: Manual Configuration
|
|
476
284
|
|
|
477
285
|
> **Best for**: Power users who prefer full control or use unsupported clients.
|
|
478
286
|
|
|
@@ -603,7 +411,7 @@ npm install attio-mcp
|
|
|
603
411
|
|
|
604
412
|
---
|
|
605
413
|
|
|
606
|
-
### Tier
|
|
414
|
+
### Tier 3: Cloudflare Worker (Remote Deployment)
|
|
607
415
|
|
|
608
416
|
> **Best for**: Teams needing centralized OAuth, multi-user access, mobile access, or running MCP without local installation.
|
|
609
417
|
|
|
@@ -615,18 +423,18 @@ Deploy your own Attio MCP server on Cloudflare Workers with full OAuth 2.1 suppo
|
|
|
615
423
|
- Claude mobile app (iOS/Android)
|
|
616
424
|
- Any browser on any device
|
|
617
425
|
|
|
618
|
-
####
|
|
426
|
+
#### Cloudflare Worker Features
|
|
619
427
|
|
|
620
|
-
| Feature |
|
|
621
|
-
| ----------------- |
|
|
622
|
-
| Setup complexity |
|
|
623
|
-
| OAuth built-in | ✅
|
|
624
|
-
| Mobile app access | ✅
|
|
625
|
-
| Multi-user access |
|
|
626
|
-
| Custom domain |
|
|
627
|
-
| Self-hosted |
|
|
628
|
-
| Team deployments |
|
|
629
|
-
| Cost | Free tier
|
|
428
|
+
| Feature | Cloudflare Worker |
|
|
429
|
+
| ----------------- | ----------------- |
|
|
430
|
+
| Setup complexity | Medium |
|
|
431
|
+
| OAuth built-in | ✅ |
|
|
432
|
+
| Mobile app access | ✅ |
|
|
433
|
+
| Multi-user access | ✅ |
|
|
434
|
+
| Custom domain | ✅ |
|
|
435
|
+
| Self-hosted | ✅ |
|
|
436
|
+
| Team deployments | ✅ Full |
|
|
437
|
+
| Cost | Free tier |
|
|
630
438
|
|
|
631
439
|
#### Quick Deploy
|
|
632
440
|
|
|
@@ -655,6 +463,80 @@ See [Cloudflare Worker Deployment Guide](./examples/cloudflare-mcp-server/README
|
|
|
655
463
|
- Production deployment checklist
|
|
656
464
|
- Troubleshooting guide
|
|
657
465
|
|
|
466
|
+
---
|
|
467
|
+
|
|
468
|
+
## 🆕 What's New in v1.4.0
|
|
469
|
+
|
|
470
|
+
### Major Features
|
|
471
|
+
|
|
472
|
+
- **🎯 Workspace Schema Skill Generator** (#983) - Auto-generate Claude Skills from your Attio workspace schema for error-free field names and options
|
|
473
|
+
- **🔍 Select-field Transformer** (#1019) - Case-insensitive matching, partial matching, and UUID pass-through for select/status fields
|
|
474
|
+
- **🛠️ Attio Skill Generator Meta-skill** (#1020) - Meta-skill for automatic workspace documentation
|
|
475
|
+
- **📚 Universal Usage Guide Skill** (#1018) - Hand-crafted workflow patterns and error prevention
|
|
476
|
+
- **⚙️ `get_record_attribute_options` tool** (#975) - Get valid options for select/status fields with enhanced error messages
|
|
477
|
+
- **📞 Phone validation** (#951) - Built-in phone number validation support
|
|
478
|
+
- **⏱️ Configurable option fetch delay** - Rate limiting control via `--option-fetch-delay` flag
|
|
479
|
+
|
|
480
|
+
### Major Enhancements
|
|
481
|
+
|
|
482
|
+
- **🏷️ MCP-compliant tool naming** (#1039) - All tools now use `snake_case`, verb-first naming (old names work via aliases until v2.0.0)
|
|
483
|
+
- **🎨 Custom object display names** (#1017) - Fetch display names directly from Attio API
|
|
484
|
+
- **📖 Split integration patterns** (#1023) - Progressive discovery patterns by use case
|
|
485
|
+
- **💡 Enhanced attribute error messages** (#975) - Levenshtein distance suggestions for typos
|
|
486
|
+
|
|
487
|
+
### Critical Fixes
|
|
488
|
+
|
|
489
|
+
- 📝 Note content line breaks preserved (#1052)
|
|
490
|
+
- 👤 People search "Unnamed" display fixed (#1051)
|
|
491
|
+
- ✅ Select field persistence (#1045)
|
|
492
|
+
- 🔗 Record-reference auto-transformation (#997)
|
|
493
|
+
- 📊 Multi-select array auto-transformation (#992)
|
|
494
|
+
- 🛡️ Complex attribute validation (#991)
|
|
495
|
+
- ⚠️ Field persistence false warnings (#995)
|
|
496
|
+
- 📦 SDK dependency pinning (#1025)
|
|
497
|
+
- 💼 Deal stage/UTM validation (#1043)
|
|
498
|
+
- 📍 Location field auto-normalization (#987)
|
|
499
|
+
|
|
500
|
+
### Internal Improvements
|
|
501
|
+
|
|
502
|
+
- Tool alias system refactoring (#1041) - Type-safe constants with pattern-based generation
|
|
503
|
+
- Strategy Pattern for CRUD error handlers (#1001)
|
|
504
|
+
- Consolidated metadata fetching (#984)
|
|
505
|
+
- UniversalUpdateService modularization (#984)
|
|
506
|
+
- Select transformation type rename (#1055) - `select_title_to_array` for clarity
|
|
507
|
+
|
|
508
|
+
## 🔄 Migration Guide
|
|
509
|
+
|
|
510
|
+
**Upgrading from v1.3.x or earlier?** Tool names have changed to follow MCP naming conventions.
|
|
511
|
+
|
|
512
|
+
**Old names still work** via backward-compatible aliases, but will be removed in **v2.0.0 (Q1 2026)**.
|
|
513
|
+
|
|
514
|
+
### Tool Name Changes
|
|
515
|
+
|
|
516
|
+
| Old Name (Deprecated) | New Name (MCP-compliant) | Notes |
|
|
517
|
+
| -------------------------------- | -------------------------------- | ------------------ |
|
|
518
|
+
| `records_search` | `search_records` | Verb-first pattern |
|
|
519
|
+
| `records_get_details` | `get_record_details` | Verb-first pattern |
|
|
520
|
+
| `records_get_attributes` | `get_record_attributes` | Verb-first pattern |
|
|
521
|
+
| `records_discover_attributes` | `discover_record_attributes` | Verb-first pattern |
|
|
522
|
+
| `records_search_advanced` | `search_records_advanced` | Verb-first pattern |
|
|
523
|
+
| `records_search_by_relationship` | `search_records_by_relationship` | Verb-first pattern |
|
|
524
|
+
| `records_search_by_content` | `search_records_by_content` | Verb-first pattern |
|
|
525
|
+
| `records_search_by_timeframe` | `search_records_by_timeframe` | Verb-first pattern |
|
|
526
|
+
| `records_batch` | `batch_records` | Verb-first pattern |
|
|
527
|
+
| `search-records` | `search_records` | snake_case format |
|
|
528
|
+
| `get-record-details` | `get_record_details` | snake_case format |
|
|
529
|
+
| `create-record` | `create_record` | snake_case format |
|
|
530
|
+
| `update-record` | `update_record` | snake_case format |
|
|
531
|
+
| `delete-record` | `delete_record` | snake_case format |
|
|
532
|
+
| `create-note` | `create_note` | snake_case format |
|
|
533
|
+
| `list-notes` | `list_notes` | snake_case format |
|
|
534
|
+
| `smithery-debug-config` | `smithery_debug_config` | snake_case format |
|
|
535
|
+
|
|
536
|
+
**Action Required:** Update your integrations to use new tool names before Q1 2026. See [MIGRATION-GUIDE.md](docs/MIGRATION-GUIDE.md) for the complete migration table.
|
|
537
|
+
|
|
538
|
+
---
|
|
539
|
+
|
|
658
540
|
## ⚡ Quick Start
|
|
659
541
|
|
|
660
542
|
### Prerequisites
|
|
@@ -921,87 +803,14 @@ See [docs/deployment/smithery-cli-setup.md](./docs/deployment/smithery-cli-setup
|
|
|
921
803
|
|
|
922
804
|
### **Testing**
|
|
923
805
|
|
|
924
|
-
The project includes comprehensive testing at multiple levels with **100% E2E test pass rate**:
|
|
925
|
-
|
|
926
|
-
#### **🚀 E2E Test Framework (100% Pass Rate)**
|
|
927
|
-
|
|
928
|
-
Our comprehensive E2E test framework validates all universal tools with real Attio API integration:
|
|
929
|
-
|
|
930
806
|
```bash
|
|
931
|
-
# E2E Tests (requires ATTIO_API_KEY in .env file)
|
|
932
|
-
npm run e2e # Run complete E2E test suite (51 tests, 100% pass rate)
|
|
933
|
-
npm test -- test/e2e/suites/universal-tools.e2e.test.ts # Universal tools E2E tests
|
|
934
|
-
|
|
935
|
-
# Set up E2E environment
|
|
936
|
-
echo "ATTIO_API_KEY=your_api_key_here" > .env
|
|
937
|
-
npm run e2e # Should show 51/51 tests passing
|
|
938
|
-
```
|
|
939
|
-
|
|
940
|
-
**✅ Comprehensive Coverage:**
|
|
941
|
-
|
|
942
|
-
- **Pagination Testing**: Validates `offset` parameter across all universal tools
|
|
943
|
-
- **Field Filtering**: Tests `fields` parameter for selective data retrieval
|
|
944
|
-
- **Tasks Integration**: Complete lifecycle testing for tasks resource type
|
|
945
|
-
- **Cross-Resource Validation**: Ensures consistent behavior across companies, people, lists, tasks
|
|
946
|
-
- **Error Handling**: Validates graceful error responses and edge cases
|
|
947
|
-
- **Performance Monitoring**: Tracks execution times and API response sizes
|
|
948
|
-
|
|
949
|
-
**🛠️ Enhanced Assertions (7 New Methods):**
|
|
950
|
-
|
|
951
|
-
```typescript
|
|
952
|
-
// Available in test/e2e/utils/assertions.ts
|
|
953
|
-
expectValidPagination(result, params); // Validates pagination behavior
|
|
954
|
-
expectFieldFiltering(result, fields); // Validates field selection
|
|
955
|
-
expectValidTasksIntegration(result); // Tasks-specific validation
|
|
956
|
-
expectSpecificError(result, errorType); // Typed error validation
|
|
957
|
-
expectOptimalPerformance(result, budget); // Performance validation
|
|
958
|
-
expectValidUniversalToolParams(params); // Parameter validation
|
|
959
|
-
expectValidBatchOperation(result, records); // Batch operation validation
|
|
960
|
-
```
|
|
961
|
-
|
|
962
|
-
**📊 Performance Benchmarks:**
|
|
963
|
-
|
|
964
|
-
- **Search Operations**: < 1000ms per API call
|
|
965
|
-
- **CRUD Operations**: < 1500ms per operation
|
|
966
|
-
- **Batch Operations**: < 3000ms for 10 records
|
|
967
|
-
- **Field Filtering**: < 500ms additional overhead
|
|
968
|
-
- **Pagination**: < 200ms additional per offset
|
|
969
|
-
|
|
970
|
-
#### **Unit & Integration Tests**
|
|
971
|
-
|
|
972
|
-
```bash
|
|
973
|
-
# Unit Tests (no API required)
|
|
974
807
|
npm test # Run all tests
|
|
975
|
-
npm run test:offline # Run only offline tests (
|
|
976
|
-
npm run test:
|
|
977
|
-
|
|
978
|
-
# Integration Tests (requires API key and test data)
|
|
979
|
-
npm run test:integration # Run all integration tests (15 tests, 100% pass rate)
|
|
980
|
-
npm run setup:test-data # Create test data in your workspace
|
|
981
|
-
```
|
|
982
|
-
|
|
983
|
-
#### **Test Environment Setup**
|
|
984
|
-
|
|
985
|
-
For E2E and integration tests, you need:
|
|
986
|
-
|
|
987
|
-
1. **Create `.env` file** in project root:
|
|
988
|
-
|
|
989
|
-
```bash
|
|
990
|
-
# Required for E2E/Integration tests
|
|
991
|
-
ATTIO_API_KEY=your_64_character_api_key_here
|
|
992
|
-
PORT=3000
|
|
993
|
-
LOG_LEVEL=debug
|
|
994
|
-
NODE_ENV=development
|
|
995
|
-
```
|
|
996
|
-
|
|
997
|
-
2. **Verify API key** format (must be exactly 64 characters)
|
|
998
|
-
3. **Run tests** to validate setup:
|
|
999
|
-
|
|
1000
|
-
```bash
|
|
1001
|
-
npm run build && npm run test:integration
|
|
808
|
+
npm run test:offline # Run only offline tests (no API required)
|
|
809
|
+
npm run test:integration # Integration tests (requires ATTIO_API_KEY)
|
|
810
|
+
npm run e2e # E2E tests (requires ATTIO_API_KEY)
|
|
1002
811
|
```
|
|
1003
812
|
|
|
1004
|
-
See the [Testing Guide](./docs/testing.md)
|
|
813
|
+
For E2E/integration tests, create `.env` with your `ATTIO_API_KEY`. See the [Testing Guide](./docs/testing.md) for detailed setup.
|
|
1005
814
|
|
|
1006
815
|
### **Available Scripts**
|
|
1007
816
|
|
|
@@ -48,19 +48,29 @@ export declare function createLegacyAttioClient(apiKey: string): AxiosInstance;
|
|
|
48
48
|
*/
|
|
49
49
|
export declare function getAttributeSchema(objectSlug: string, attributeSlug: string): Promise<AttioAttributeSchema>;
|
|
50
50
|
/**
|
|
51
|
-
* Lists the available options for a select attribute.
|
|
51
|
+
* Lists the available options for a select attribute on an object.
|
|
52
52
|
* @param objectSlug - The slug of the object.
|
|
53
53
|
* @param attributeSlug - The slug of the select attribute.
|
|
54
|
+
* @param showArchived - Whether to include archived options.
|
|
54
55
|
* @returns A list of available select options.
|
|
55
56
|
*/
|
|
56
|
-
export declare function getSelectOptions(objectSlug: string, attributeSlug: string): Promise<AttioSelectOption[]>;
|
|
57
|
+
export declare function getSelectOptions(objectSlug: string, attributeSlug: string, showArchived?: boolean): Promise<AttioSelectOption[]>;
|
|
58
|
+
/**
|
|
59
|
+
* Lists the available options for a select attribute on a list.
|
|
60
|
+
* @param listId - The ID or slug of the list.
|
|
61
|
+
* @param attributeSlug - The slug of the select attribute.
|
|
62
|
+
* @param showArchived - Whether to include archived options.
|
|
63
|
+
* @returns A list of available select options.
|
|
64
|
+
*/
|
|
65
|
+
export declare function getListSelectOptions(listId: string, attributeSlug: string, showArchived?: boolean): Promise<AttioSelectOption[]>;
|
|
57
66
|
/**
|
|
58
67
|
* Lists the available statuses for a status attribute.
|
|
59
68
|
* @param objectSlug - The slug of the object.
|
|
60
69
|
* @param attributeSlug - The slug of the status attribute.
|
|
70
|
+
* @param showArchived - Whether to include archived statuses.
|
|
61
71
|
* @returns A list of available statuses.
|
|
62
72
|
*/
|
|
63
|
-
export declare function getStatusOptions(objectSlug: string, attributeSlug: string): Promise<AttioStatusOption[]>;
|
|
73
|
+
export declare function getStatusOptions(objectSlug: string, attributeSlug: string, showArchived?: boolean): Promise<AttioStatusOption[]>;
|
|
64
74
|
/**
|
|
65
75
|
* Initializes the global API client with the provided API key
|
|
66
76
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attio-client.d.ts","sourceRoot":"","sources":["../../src/api/attio-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAG7C,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,YAAY,EAGb,MAAM,oBAAoB,CAAC;AAa5B,eAAO,MAAM,eAAe,iBAAc,CAAC;AAE3C,MAAM,MAAM,WAAW,GAAG,aAAa,CAAC;AAmCxC;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,aAAa,CAAC;AACxE;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;AAqEjE;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,CAAC,EAAE;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,WAAW,CAqBd;AAID;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CA0DrE;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,oBAAoB,CAAC,CAe/B;AAED
|
|
1
|
+
{"version":3,"file":"attio-client.d.ts","sourceRoot":"","sources":["../../src/api/attio-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAG7C,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,YAAY,EAGb,MAAM,oBAAoB,CAAC;AAa5B,eAAO,MAAM,eAAe,iBAAc,CAAC;AAE3C,MAAM,MAAM,WAAW,GAAG,aAAa,CAAC;AAmCxC;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,aAAa,CAAC;AACxE;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;AAqEjE;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,CAAC,EAAE;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,WAAW,CAqBd;AAID;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CA0DrE;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,oBAAoB,CAAC,CAe/B;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,YAAY,CAAC,EAAE,OAAO,GACrB,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAkB9B;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,YAAY,CAAC,EAAE,OAAO,GACrB,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAkB9B;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,YAAY,CAAC,EAAE,OAAO,GACrB,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAkB9B;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAInE;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,aAAa,CAoEzE"}
|