attio-mcp 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +102 -3
- package/README.md +77 -1
- package/dist/api/attio-client.d.ts +25 -5
- package/dist/api/attio-client.d.ts.map +1 -1
- package/dist/api/attio-client.js +119 -125
- package/dist/api/attio-client.js.map +1 -1
- package/dist/api/client-cache.d.ts +43 -0
- package/dist/api/client-cache.d.ts.map +1 -0
- package/dist/api/client-cache.js +71 -0
- package/dist/api/client-cache.js.map +1 -0
- package/dist/api/client-config.d.ts +53 -0
- package/dist/api/client-config.d.ts.map +1 -0
- package/dist/api/client-config.js +101 -0
- package/dist/api/client-config.js.map +1 -0
- package/dist/api/client-context.js +1 -1
- package/dist/api/client-context.js.map +1 -1
- package/dist/api/client-strategies.d.ts +76 -0
- package/dist/api/client-strategies.d.ts.map +1 -0
- package/dist/api/client-strategies.js +218 -0
- package/dist/api/client-strategies.js.map +1 -0
- package/dist/api/lazy-client.d.ts +4 -3
- package/dist/api/lazy-client.d.ts.map +1 -1
- package/dist/api/lazy-client.js +20 -8
- package/dist/api/lazy-client.js.map +1 -1
- package/dist/api/operations/notes.d.ts +3 -2
- package/dist/api/operations/notes.d.ts.map +1 -1
- package/dist/api/operations/notes.js +4 -3
- package/dist/api/operations/notes.js.map +1 -1
- package/dist/api/operations/query-parser.d.ts +27 -0
- package/dist/api/operations/query-parser.d.ts.map +1 -0
- package/dist/api/operations/query-parser.js +123 -0
- package/dist/api/operations/query-parser.js.map +1 -0
- package/dist/api/operations/search.d.ts +2 -2
- package/dist/api/operations/search.d.ts.map +1 -1
- package/dist/api/operations/search.js +77 -22
- package/dist/api/operations/search.js.map +1 -1
- package/dist/api/operations/tasks.js +9 -15
- package/dist/api/operations/tasks.js.map +1 -1
- package/dist/api/operations/workspace-members.js +9 -15
- package/dist/api/operations/workspace-members.js.map +1 -1
- package/dist/cli.js +7 -1
- package/dist/cli.js.map +1 -1
- package/dist/config/tool-aliases.d.ts +21 -0
- package/dist/config/tool-aliases.d.ts.map +1 -0
- package/dist/config/tool-aliases.js +98 -0
- package/dist/config/tool-aliases.js.map +1 -0
- package/dist/config/tool-mode.d.ts.map +1 -1
- package/dist/config/tool-mode.js +1 -6
- package/dist/config/tool-mode.js.map +1 -1
- package/dist/errors/enhanced-api-errors.d.ts +21 -7
- package/dist/errors/enhanced-api-errors.d.ts.map +1 -1
- package/dist/errors/enhanced-api-errors.js +18 -1
- package/dist/errors/enhanced-api-errors.js.map +1 -1
- package/dist/handlers/tool-configs/lists.d.ts +48 -0
- package/dist/handlers/tool-configs/lists.d.ts.map +1 -1
- package/dist/handlers/tool-configs/lists.js +126 -22
- package/dist/handlers/tool-configs/lists.js.map +1 -1
- package/dist/handlers/tool-configs/openai/index.d.ts +1 -1
- package/dist/handlers/tool-configs/openai/index.d.ts.map +1 -1
- package/dist/handlers/tool-configs/openai/index.js +1 -1
- package/dist/handlers/tool-configs/openai/index.js.map +1 -1
- package/dist/handlers/tool-configs/people/crud.d.ts +5 -0
- package/dist/handlers/tool-configs/people/crud.d.ts.map +1 -1
- package/dist/handlers/tool-configs/people/crud.js +7 -2
- package/dist/handlers/tool-configs/people/crud.js.map +1 -1
- package/dist/handlers/tool-configs/people/index.d.ts +5 -0
- package/dist/handlers/tool-configs/people/index.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/batch-search.d.ts +10 -0
- package/dist/handlers/tool-configs/universal/batch-search.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/batch-search.js +18 -5
- package/dist/handlers/tool-configs/universal/batch-search.js.map +1 -1
- 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 +39 -1
- 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 +22 -0
- package/dist/handlers/tool-configs/universal/core/crud-operations.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/core/detailed-info-operations.d.ts +4 -0
- package/dist/handlers/tool-configs/universal/core/detailed-info-operations.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/core/detailed-info-operations.js +10 -4
- package/dist/handlers/tool-configs/universal/core/detailed-info-operations.js.map +1 -1
- package/dist/handlers/tool-configs/universal/core/index.d.ts +61 -11
- package/dist/handlers/tool-configs/universal/core/index.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/core/index.js +10 -10
- package/dist/handlers/tool-configs/universal/core/index.js.map +1 -1
- package/dist/handlers/tool-configs/universal/core/metadata-operations.d.ts +8 -0
- package/dist/handlers/tool-configs/universal/core/metadata-operations.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/core/metadata-operations.js +19 -8
- package/dist/handlers/tool-configs/universal/core/metadata-operations.js.map +1 -1
- package/dist/handlers/tool-configs/universal/core/notes-operations.d.ts +10 -4
- package/dist/handlers/tool-configs/universal/core/notes-operations.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/core/notes-operations.js +69 -51
- 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 +5 -0
- 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 +10 -4
- 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 +5 -0
- package/dist/handlers/tool-configs/universal/core/search-operations.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/core/search-operations.js +10 -4
- package/dist/handlers/tool-configs/universal/core/search-operations.js.map +1 -1
- package/dist/handlers/tool-configs/universal/core/utils/note-formatters.d.ts +14 -0
- package/dist/handlers/tool-configs/universal/core/utils/note-formatters.d.ts.map +1 -0
- package/dist/handlers/tool-configs/universal/core/utils/note-formatters.js +92 -0
- package/dist/handlers/tool-configs/universal/core/utils/note-formatters.js.map +1 -0
- package/dist/handlers/tool-configs/universal/index.d.ts +118 -98
- package/dist/handlers/tool-configs/universal/index.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/index.js +43 -73
- package/dist/handlers/tool-configs/universal/index.js.map +1 -1
- package/dist/handlers/tool-configs/universal/operations/advanced-search.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/operations/advanced-search.js +3 -3
- package/dist/handlers/tool-configs/universal/operations/advanced-search.js.map +1 -1
- package/dist/handlers/tool-configs/universal/operations/batch-operations.js +3 -3
- package/dist/handlers/tool-configs/universal/operations/batch-operations.js.map +1 -1
- package/dist/handlers/tool-configs/universal/operations/content-search.js +3 -3
- package/dist/handlers/tool-configs/universal/operations/content-search.js.map +1 -1
- package/dist/handlers/tool-configs/universal/operations/index.d.ts +49 -10
- package/dist/handlers/tool-configs/universal/operations/index.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/operations/index.js +47 -20
- package/dist/handlers/tool-configs/universal/operations/index.js.map +1 -1
- package/dist/handlers/tool-configs/universal/operations/operations-array.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/operations/operations-array.js +3 -1
- package/dist/handlers/tool-configs/universal/operations/operations-array.js.map +1 -1
- package/dist/handlers/tool-configs/universal/operations/relationship-search.js +4 -4
- package/dist/handlers/tool-configs/universal/operations/relationship-search.js.map +1 -1
- package/dist/handlers/tool-configs/universal/operations/timeframe-search.js +3 -3
- package/dist/handlers/tool-configs/universal/operations/timeframe-search.js.map +1 -1
- package/dist/handlers/tool-configs/universal/schemas/advanced-schemas.d.ts +43 -0
- package/dist/handlers/tool-configs/universal/schemas/advanced-schemas.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/schemas/advanced-schemas.js +55 -0
- package/dist/handlers/tool-configs/universal/schemas/advanced-schemas.js.map +1 -1
- package/dist/handlers/tool-configs/universal/schemas/core-schemas.d.ts +32 -0
- package/dist/handlers/tool-configs/universal/schemas/core-schemas.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/schemas/core-schemas.js +40 -0
- package/dist/handlers/tool-configs/universal/schemas/core-schemas.js.map +1 -1
- package/dist/handlers/tool-configs/universal/schemas/utility-schemas.d.ts +8 -2
- package/dist/handlers/tool-configs/universal/schemas/utility-schemas.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/schemas/utility-schemas.js +9 -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 +8 -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 +12 -0
- package/dist/handlers/tool-configs/universal/schemas/validation-schemas.js.map +1 -1
- package/dist/handlers/tool-configs/universal/validators/schema-validator.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/validators/schema-validator.js +38 -3
- package/dist/handlers/tool-configs/universal/validators/schema-validator.js.map +1 -1
- package/dist/handlers/tool-configs/workspace-members.d.ts +25 -0
- package/dist/handlers/tool-configs/workspace-members.d.ts.map +1 -1
- package/dist/handlers/tool-configs/workspace-members.js +73 -40
- package/dist/handlers/tool-configs/workspace-members.js.map +1 -1
- package/dist/handlers/tools/dispatcher/core.d.ts.map +1 -1
- package/dist/handlers/tools/dispatcher/core.js +24 -31
- package/dist/handlers/tools/dispatcher/core.js.map +1 -1
- package/dist/handlers/tools/dispatcher/logging.d.ts +2 -10
- package/dist/handlers/tools/dispatcher/logging.d.ts.map +1 -1
- package/dist/handlers/tools/dispatcher/logging.js +3 -2
- package/dist/handlers/tools/dispatcher/logging.js.map +1 -1
- package/dist/handlers/tools/index.d.ts.map +1 -1
- package/dist/handlers/tools/index.js +35 -39
- package/dist/handlers/tools/index.js.map +1 -1
- package/dist/handlers/tools/registry.d.ts +269 -57
- package/dist/handlers/tools/registry.d.ts.map +1 -1
- package/dist/handlers/tools/registry.js +21 -13
- package/dist/handlers/tools/registry.js.map +1 -1
- package/dist/handlers/tools/standards/index.d.ts +17 -0
- package/dist/handlers/tools/standards/index.d.ts.map +1 -0
- package/dist/handlers/tools/standards/index.js +32 -0
- package/dist/handlers/tools/standards/index.js.map +1 -0
- package/dist/middleware/performance-enhanced.d.ts +4 -0
- package/dist/middleware/performance-enhanced.d.ts.map +1 -1
- package/dist/middleware/performance-enhanced.js +63 -3
- package/dist/middleware/performance-enhanced.js.map +1 -1
- package/dist/objects/batch-companies.d.ts.map +1 -1
- package/dist/objects/batch-companies.js +6 -2
- package/dist/objects/batch-companies.js.map +1 -1
- package/dist/objects/companies/search.d.ts.map +1 -1
- package/dist/objects/companies/search.js +6 -1
- package/dist/objects/companies/search.js.map +1 -1
- package/dist/objects/notes.d.ts.map +1 -1
- package/dist/objects/notes.js +21 -7
- package/dist/objects/notes.js.map +1 -1
- package/dist/prompts/error-handler.d.ts +8 -2
- package/dist/prompts/error-handler.d.ts.map +1 -1
- package/dist/prompts/error-handler.js +63 -4
- package/dist/prompts/error-handler.js.map +1 -1
- package/dist/prompts/handlers.d.ts +4 -1
- package/dist/prompts/handlers.d.ts.map +1 -1
- package/dist/prompts/handlers.js +146 -48
- package/dist/prompts/handlers.js.map +1 -1
- package/dist/prompts/v1/add-to-list.v1.d.ts +38 -0
- package/dist/prompts/v1/add-to-list.v1.d.ts.map +1 -0
- package/dist/prompts/v1/add-to-list.v1.js +91 -0
- package/dist/prompts/v1/add-to-list.v1.js.map +1 -0
- package/dist/prompts/v1/advance-deal.v1.d.ts +41 -0
- package/dist/prompts/v1/advance-deal.v1.d.ts.map +1 -0
- package/dist/prompts/v1/advance-deal.v1.js +100 -0
- package/dist/prompts/v1/advance-deal.v1.js.map +1 -0
- package/dist/prompts/v1/company-search.v1.d.ts +44 -0
- package/dist/prompts/v1/company-search.v1.d.ts.map +1 -0
- package/dist/prompts/v1/company-search.v1.js +114 -0
- package/dist/prompts/v1/company-search.v1.js.map +1 -0
- package/dist/prompts/v1/constants.d.ts +112 -0
- package/dist/prompts/v1/constants.d.ts.map +1 -0
- package/dist/prompts/v1/constants.js +119 -0
- package/dist/prompts/v1/constants.js.map +1 -0
- package/dist/prompts/v1/create-task.v1.d.ts +50 -0
- package/dist/prompts/v1/create-task.v1.d.ts.map +1 -0
- package/dist/prompts/v1/create-task.v1.js +136 -0
- package/dist/prompts/v1/create-task.v1.js.map +1 -0
- package/dist/prompts/v1/deal-search.v1.d.ts +44 -0
- package/dist/prompts/v1/deal-search.v1.d.ts.map +1 -0
- package/dist/prompts/v1/deal-search.v1.js +114 -0
- package/dist/prompts/v1/deal-search.v1.js.map +1 -0
- package/dist/prompts/v1/index.d.ts +56 -0
- package/dist/prompts/v1/index.d.ts.map +1 -0
- package/dist/prompts/v1/index.js +81 -0
- package/dist/prompts/v1/index.js.map +1 -0
- package/dist/prompts/v1/log-activity.v1.d.ts +48 -0
- package/dist/prompts/v1/log-activity.v1.d.ts.map +1 -0
- package/dist/prompts/v1/log-activity.v1.js +124 -0
- package/dist/prompts/v1/log-activity.v1.js.map +1 -0
- package/dist/prompts/v1/meeting-prep.v1.d.ts +42 -0
- package/dist/prompts/v1/meeting-prep.v1.d.ts.map +1 -0
- package/dist/prompts/v1/meeting-prep.v1.js +105 -0
- package/dist/prompts/v1/meeting-prep.v1.js.map +1 -0
- package/dist/prompts/v1/people-search.v1.d.ts +45 -0
- package/dist/prompts/v1/people-search.v1.d.ts.map +1 -0
- package/dist/prompts/v1/people-search.v1.js +115 -0
- package/dist/prompts/v1/people-search.v1.js.map +1 -0
- package/dist/prompts/v1/pipeline-health.v1.d.ts +48 -0
- package/dist/prompts/v1/pipeline-health.v1.d.ts.map +1 -0
- package/dist/prompts/v1/pipeline-health.v1.js +131 -0
- package/dist/prompts/v1/pipeline-health.v1.js.map +1 -0
- package/dist/prompts/v1/qualify-lead.v1.d.ts +51 -0
- package/dist/prompts/v1/qualify-lead.v1.d.ts.map +1 -0
- package/dist/prompts/v1/qualify-lead.v1.js +157 -0
- package/dist/prompts/v1/qualify-lead.v1.js.map +1 -0
- package/dist/prompts/v1/types.d.ts +134 -0
- package/dist/prompts/v1/types.d.ts.map +1 -0
- package/dist/prompts/v1/types.js +36 -0
- package/dist/prompts/v1/types.js.map +1 -0
- package/dist/prompts/v1/utils/telemetry.d.ts +64 -0
- package/dist/prompts/v1/utils/telemetry.d.ts.map +1 -0
- package/dist/prompts/v1/utils/telemetry.js +88 -0
- package/dist/prompts/v1/utils/telemetry.js.map +1 -0
- package/dist/prompts/v1/utils/token-metadata.d.ts +43 -0
- package/dist/prompts/v1/utils/token-metadata.d.ts.map +1 -0
- package/dist/prompts/v1/utils/token-metadata.js +90 -0
- package/dist/prompts/v1/utils/token-metadata.js.map +1 -0
- package/dist/prompts/v1/utils/validation.d.ts +69 -0
- package/dist/prompts/v1/utils/validation.d.ts.map +1 -0
- package/dist/prompts/v1/utils/validation.js +140 -0
- package/dist/prompts/v1/utils/validation.js.map +1 -0
- package/dist/server/createServer.d.ts +2 -2
- package/dist/server/createServer.d.ts.map +1 -1
- package/dist/server/createServer.js +2 -2
- package/dist/server/createServer.js.map +1 -1
- package/dist/services/ErrorService.d.ts +27 -0
- package/dist/services/ErrorService.d.ts.map +1 -1
- package/dist/services/ErrorService.js +92 -1
- package/dist/services/ErrorService.js.map +1 -1
- package/dist/services/UniversalUpdateService.d.ts.map +1 -1
- package/dist/services/UniversalUpdateService.js +32 -2
- package/dist/services/UniversalUpdateService.js.map +1 -1
- package/dist/services/create/data-normalizers.d.ts.map +1 -1
- package/dist/services/create/data-normalizers.js +18 -1
- package/dist/services/create/data-normalizers.js.map +1 -1
- package/dist/services/metadata/MetadataDiscoveryService.d.ts +4 -2
- package/dist/services/metadata/MetadataDiscoveryService.d.ts.map +1 -1
- package/dist/services/metadata/MetadataDiscoveryService.js +69 -157
- package/dist/services/metadata/MetadataDiscoveryService.js.map +1 -1
- package/dist/services/metadata/discovery-runner.d.ts +25 -0
- package/dist/services/metadata/discovery-runner.d.ts.map +1 -0
- package/dist/services/metadata/discovery-runner.js +66 -0
- package/dist/services/metadata/discovery-runner.js.map +1 -0
- package/dist/services/metadata/task-metadata.d.ts +13 -0
- package/dist/services/metadata/task-metadata.d.ts.map +1 -0
- package/dist/services/metadata/task-metadata.js +84 -0
- package/dist/services/metadata/task-metadata.js.map +1 -0
- package/dist/services/normalizers/AttributeAwareNormalizer.d.ts.map +1 -1
- package/dist/services/normalizers/AttributeAwareNormalizer.js +99 -5
- package/dist/services/normalizers/AttributeAwareNormalizer.js.map +1 -1
- package/dist/services/normalizers/PhoneNormalizer.d.ts +2 -2
- package/dist/services/normalizers/PhoneNormalizer.d.ts.map +1 -1
- package/dist/services/normalizers/PhoneNormalizer.js +1 -7
- package/dist/services/normalizers/PhoneNormalizer.js.map +1 -1
- package/dist/services/search-strategies/CompanySearchStrategy.d.ts.map +1 -1
- package/dist/services/search-strategies/CompanySearchStrategy.js +10 -4
- package/dist/services/search-strategies/CompanySearchStrategy.js.map +1 -1
- package/dist/services/search-strategies/PeopleSearchStrategy.d.ts.map +1 -1
- package/dist/services/search-strategies/PeopleSearchStrategy.js +21 -15
- package/dist/services/search-strategies/PeopleSearchStrategy.js.map +1 -1
- package/dist/services/search-strategies/query-filter-builder.d.ts +5 -0
- package/dist/services/search-strategies/query-filter-builder.d.ts.map +1 -0
- package/dist/services/search-strategies/query-filter-builder.js +129 -0
- package/dist/services/search-strategies/query-filter-builder.js.map +1 -0
- package/dist/services/utils/attribute-metadata.d.ts +7 -0
- package/dist/services/utils/attribute-metadata.d.ts.map +1 -0
- package/dist/services/utils/attribute-metadata.js +84 -0
- package/dist/services/utils/attribute-metadata.js.map +1 -0
- package/dist/smithery.d.ts +2 -2
- package/dist/smithery.d.ts.map +1 -1
- package/dist/smithery.js +4 -2
- package/dist/smithery.js.map +1 -1
- package/dist/types/attio.d.ts +32 -11
- package/dist/types/attio.d.ts.map +1 -1
- package/dist/types/attio.js.map +1 -1
- package/dist/types/list-types.d.ts +2 -0
- package/dist/types/list-types.d.ts.map +1 -1
- package/dist/types/list-types.js.map +1 -1
- package/dist/utils/attribute-format-helpers.d.ts.map +1 -1
- package/dist/utils/attribute-format-helpers.js +22 -0
- package/dist/utils/attribute-format-helpers.js.map +1 -1
- package/dist/utils/axios-error-mapper.d.ts +1 -0
- package/dist/utils/axios-error-mapper.d.ts.map +1 -1
- package/dist/utils/axios-error-mapper.js.map +1 -1
- package/dist/utils/client-resolver.d.ts +3 -3
- package/dist/utils/client-resolver.d.ts.map +1 -1
- package/dist/utils/client-resolver.js +28 -21
- package/dist/utils/client-resolver.js.map +1 -1
- package/dist/utils/error-handler.js +2 -2
- package/dist/utils/error-handler.js.map +1 -1
- package/dist/utils/error-sanitizer.d.ts.map +1 -1
- package/dist/utils/error-sanitizer.js +52 -3
- package/dist/utils/error-sanitizer.js.map +1 -1
- package/dist/utils/json-serializer.d.ts.map +1 -1
- package/dist/utils/json-serializer.js +55 -6
- package/dist/utils/json-serializer.js.map +1 -1
- package/dist/utils/log-sanitizer.d.ts +14 -0
- package/dist/utils/log-sanitizer.d.ts.map +1 -0
- package/dist/utils/log-sanitizer.js +248 -0
- package/dist/utils/log-sanitizer.js.map +1 -0
- package/dist/utils/logger.d.ts +15 -9
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +74 -42
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/mcp-discovery.d.ts +16 -0
- package/dist/utils/mcp-discovery.d.ts.map +1 -0
- package/dist/utils/mcp-discovery.js +36 -0
- package/dist/utils/mcp-discovery.js.map +1 -0
- package/dist/utils/secure-error-handler.d.ts +16 -1
- package/dist/utils/secure-error-handler.d.ts.map +1 -1
- package/dist/utils/secure-error-handler.js +91 -12
- package/dist/utils/secure-error-handler.js.map +1 -1
- package/dist/utils/token-count.d.ts +5 -0
- package/dist/utils/token-count.d.ts.map +1 -0
- package/dist/utils/token-count.js +57 -0
- package/dist/utils/token-count.js.map +1 -0
- package/dist/utils/token-footprint-analyzer.d.ts +46 -0
- package/dist/utils/token-footprint-analyzer.d.ts.map +1 -0
- package/dist/utils/token-footprint-analyzer.js +221 -0
- package/dist/utils/token-footprint-analyzer.js.map +1 -0
- package/dist/utils/validation/phone-validation.d.ts +25 -0
- package/dist/utils/validation/phone-validation.d.ts.map +1 -0
- package/dist/utils/validation/phone-validation.js +133 -0
- package/dist/utils/validation/phone-validation.js.map +1 -0
- package/dist/utils/validation/uuid-validation.d.ts.map +1 -1
- package/dist/utils/validation/uuid-validation.js +1 -0
- package/dist/utils/validation/uuid-validation.js.map +1 -1
- package/package.json +19 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attio-client.js","sourceRoot":"","sources":["../../src/api/attio-client.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"attio-client.js","sourceRoot":"","sources":["../../src/api/attio-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unified cache management for Attio client instances and context
|
|
3
|
+
* Consolidates cache clearing from multiple modules into single interface
|
|
4
|
+
*/
|
|
5
|
+
import { AxiosInstance } from 'axios';
|
|
6
|
+
/**
|
|
7
|
+
* Cache management for client instances
|
|
8
|
+
*/
|
|
9
|
+
export declare class ClientCache {
|
|
10
|
+
/**
|
|
11
|
+
* Set the cached client instance
|
|
12
|
+
*/
|
|
13
|
+
static setInstance(client: AxiosInstance): void;
|
|
14
|
+
/**
|
|
15
|
+
* Get the cached client instance
|
|
16
|
+
*/
|
|
17
|
+
static getInstance(): AxiosInstance | null;
|
|
18
|
+
/**
|
|
19
|
+
* Clear the cached client instance
|
|
20
|
+
*/
|
|
21
|
+
static clearInstance(): void;
|
|
22
|
+
/**
|
|
23
|
+
* Check if a cached instance exists
|
|
24
|
+
*/
|
|
25
|
+
static hasInstance(): boolean;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Unified cache clearing interface
|
|
29
|
+
* Consolidates all cache clearing operations into a single function
|
|
30
|
+
*/
|
|
31
|
+
export declare function clearAllCaches(): void;
|
|
32
|
+
/**
|
|
33
|
+
* Memory management utility for clearing caches on process exit
|
|
34
|
+
*/
|
|
35
|
+
export declare function setupCacheCleanup(): void;
|
|
36
|
+
/**
|
|
37
|
+
* Get cache status for debugging
|
|
38
|
+
*/
|
|
39
|
+
export declare function getCacheStatus(): {
|
|
40
|
+
hasClientInstance: boolean;
|
|
41
|
+
cacheSize: number;
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=client-cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-cache.d.ts","sourceRoot":"","sources":["../../src/api/client-cache.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAMtC;;GAEG;AACH,qBAAa,WAAW;IACtB;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAI/C;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,aAAa,GAAG,IAAI;IAI1C;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,IAAI;IAI5B;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,OAAO;CAG9B;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,IAAI,CASrC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAUxC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI;IAChC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;CACnB,CAKA"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unified cache management for Attio client instances and context
|
|
3
|
+
* Consolidates cache clearing from multiple modules into single interface
|
|
4
|
+
*/
|
|
5
|
+
import { clearClientContext } from './client-context.js';
|
|
6
|
+
// Global client instance cache
|
|
7
|
+
let apiInstanceCache = null;
|
|
8
|
+
/**
|
|
9
|
+
* Cache management for client instances
|
|
10
|
+
*/
|
|
11
|
+
export class ClientCache {
|
|
12
|
+
/**
|
|
13
|
+
* Set the cached client instance
|
|
14
|
+
*/
|
|
15
|
+
static setInstance(client) {
|
|
16
|
+
apiInstanceCache = client;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Get the cached client instance
|
|
20
|
+
*/
|
|
21
|
+
static getInstance() {
|
|
22
|
+
return apiInstanceCache;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Clear the cached client instance
|
|
26
|
+
*/
|
|
27
|
+
static clearInstance() {
|
|
28
|
+
apiInstanceCache = null;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Check if a cached instance exists
|
|
32
|
+
*/
|
|
33
|
+
static hasInstance() {
|
|
34
|
+
return apiInstanceCache !== null;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Unified cache clearing interface
|
|
39
|
+
* Consolidates all cache clearing operations into a single function
|
|
40
|
+
*/
|
|
41
|
+
export function clearAllCaches() {
|
|
42
|
+
// Clear client instance cache
|
|
43
|
+
ClientCache.clearInstance();
|
|
44
|
+
// Clear client context (from client-context.ts)
|
|
45
|
+
clearClientContext();
|
|
46
|
+
// Note: Additional caches can be added here as needed
|
|
47
|
+
// Example: clearInterceptorCache(), clearFailedRequestCache(), etc.
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Memory management utility for clearing caches on process exit
|
|
51
|
+
*/
|
|
52
|
+
export function setupCacheCleanup() {
|
|
53
|
+
const cleanup = () => {
|
|
54
|
+
clearAllCaches();
|
|
55
|
+
};
|
|
56
|
+
// Handle various exit scenarios
|
|
57
|
+
process.on('exit', cleanup);
|
|
58
|
+
process.on('SIGINT', cleanup);
|
|
59
|
+
process.on('SIGTERM', cleanup);
|
|
60
|
+
process.on('uncaughtException', cleanup);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Get cache status for debugging
|
|
64
|
+
*/
|
|
65
|
+
export function getCacheStatus() {
|
|
66
|
+
return {
|
|
67
|
+
hasClientInstance: ClientCache.hasInstance(),
|
|
68
|
+
cacheSize: apiInstanceCache ? 1 : 0,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=client-cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-cache.js","sourceRoot":"","sources":["../../src/api/client-cache.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,+BAA+B;AAC/B,IAAI,gBAAgB,GAAyB,IAAI,CAAC;AAElD;;GAEG;AACH,MAAM,OAAO,WAAW;IACtB;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,MAAqB;QACtC,gBAAgB,GAAG,MAAM,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,WAAW;QAChB,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,aAAa;QAClB,gBAAgB,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,WAAW;QAChB,OAAO,gBAAgB,KAAK,IAAI,CAAC;IACnC,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc;IAC5B,8BAA8B;IAC9B,WAAW,CAAC,aAAa,EAAE,CAAC;IAE5B,gDAAgD;IAChD,kBAAkB,EAAE,CAAC;IAErB,sDAAsD;IACtD,oEAAoE;AACtE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,cAAc,EAAE,CAAC;IACnB,CAAC,CAAC;IAEF,gCAAgC;IAChC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc;IAI5B,OAAO;QACL,iBAAiB,EAAE,WAAW,CAAC,WAAW,EAAE;QAC5C,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACpC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unified client configuration and environment mode handling
|
|
3
|
+
* Consolidates complex environment logic from getAttioClient into clean patterns
|
|
4
|
+
*/
|
|
5
|
+
export declare enum ClientMode {
|
|
6
|
+
PRODUCTION = "production",
|
|
7
|
+
E2E = "e2e",
|
|
8
|
+
E2E_RAW = "e2e_raw",
|
|
9
|
+
TEST = "test"
|
|
10
|
+
}
|
|
11
|
+
export interface InterceptorConfig {
|
|
12
|
+
prefix?: string;
|
|
13
|
+
enableDiagnostics?: boolean;
|
|
14
|
+
enableErrorHandling?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export interface ClientConfig {
|
|
17
|
+
apiKey?: string;
|
|
18
|
+
baseURL?: string;
|
|
19
|
+
timeout?: number;
|
|
20
|
+
mode?: ClientMode;
|
|
21
|
+
interceptors?: InterceptorConfig;
|
|
22
|
+
/** Force bypass of cached instances (used in E2E) */
|
|
23
|
+
bypassCache?: boolean;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Handles environment mode detection and client configuration
|
|
27
|
+
* Extracted from the 80+ line getAttioClient function
|
|
28
|
+
*/
|
|
29
|
+
export declare class EnvironmentModeHandler {
|
|
30
|
+
/**
|
|
31
|
+
* Determines the client mode based on environment variables
|
|
32
|
+
*/
|
|
33
|
+
static determineMode(): ClientMode;
|
|
34
|
+
/**
|
|
35
|
+
* Should we use the real Attio API client (not mocks)
|
|
36
|
+
*/
|
|
37
|
+
static shouldUseRealClient(): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Get the appropriate client configuration based on environment
|
|
40
|
+
*/
|
|
41
|
+
static getClientConfig(opts?: {
|
|
42
|
+
rawE2E?: boolean;
|
|
43
|
+
}): ClientConfig;
|
|
44
|
+
/**
|
|
45
|
+
* Get standard timeout value (eliminates 30s vs 20s inconsistency)
|
|
46
|
+
*/
|
|
47
|
+
static getStandardTimeout(): number;
|
|
48
|
+
/**
|
|
49
|
+
* Get default base URL
|
|
50
|
+
*/
|
|
51
|
+
static getDefaultBaseURL(): string;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=client-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-config.d.ts","sourceRoot":"","sources":["../../src/api/client-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,oBAAY,UAAU;IACpB,UAAU,eAAe;IACzB,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,IAAI,SAAS;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,qDAAqD;IACrD,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;GAGG;AACH,qBAAa,sBAAsB;IACjC;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,UAAU;IAkBlC;;OAEG;IACH,MAAM,CAAC,mBAAmB,IAAI,OAAO;IASrC;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,YAAY;IAqDjE;;OAEG;IACH,MAAM,CAAC,kBAAkB,IAAI,MAAM;IAInC;;OAEG;IACH,MAAM,CAAC,iBAAiB,IAAI,MAAM;CAMnC"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unified client configuration and environment mode handling
|
|
3
|
+
* Consolidates complex environment logic from getAttioClient into clean patterns
|
|
4
|
+
*/
|
|
5
|
+
export var ClientMode;
|
|
6
|
+
(function (ClientMode) {
|
|
7
|
+
ClientMode["PRODUCTION"] = "production";
|
|
8
|
+
ClientMode["E2E"] = "e2e";
|
|
9
|
+
ClientMode["E2E_RAW"] = "e2e_raw";
|
|
10
|
+
ClientMode["TEST"] = "test";
|
|
11
|
+
})(ClientMode || (ClientMode = {}));
|
|
12
|
+
/**
|
|
13
|
+
* Handles environment mode detection and client configuration
|
|
14
|
+
* Extracted from the 80+ line getAttioClient function
|
|
15
|
+
*/
|
|
16
|
+
export class EnvironmentModeHandler {
|
|
17
|
+
/**
|
|
18
|
+
* Determines the client mode based on environment variables
|
|
19
|
+
*/
|
|
20
|
+
static determineMode() {
|
|
21
|
+
const isE2E = process.env.E2E_MODE === 'true';
|
|
22
|
+
const useMocks = process.env.USE_MOCK_DATA === 'true' ||
|
|
23
|
+
process.env.OFFLINE_MODE === 'true';
|
|
24
|
+
const isTest = process.env.NODE_ENV === 'test';
|
|
25
|
+
if (isE2E && !useMocks) {
|
|
26
|
+
return ClientMode.E2E;
|
|
27
|
+
}
|
|
28
|
+
if (isTest || useMocks) {
|
|
29
|
+
return ClientMode.TEST;
|
|
30
|
+
}
|
|
31
|
+
return ClientMode.PRODUCTION;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Should we use the real Attio API client (not mocks)
|
|
35
|
+
*/
|
|
36
|
+
static shouldUseRealClient() {
|
|
37
|
+
const isE2E = process.env.E2E_MODE === 'true';
|
|
38
|
+
const useMocks = process.env.USE_MOCK_DATA === 'true' ||
|
|
39
|
+
process.env.OFFLINE_MODE === 'true';
|
|
40
|
+
return isE2E && !useMocks;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Get the appropriate client configuration based on environment
|
|
44
|
+
*/
|
|
45
|
+
static getClientConfig(opts) {
|
|
46
|
+
const mode = this.determineMode();
|
|
47
|
+
const shouldBypassCache = this.shouldUseRealClient() || opts?.rawE2E;
|
|
48
|
+
// Determine if we need raw E2E mode (no interceptors, bypass cache)
|
|
49
|
+
const actualMode = opts?.rawE2E ? ClientMode.E2E_RAW : mode;
|
|
50
|
+
const baseConfig = {
|
|
51
|
+
baseURL: (process.env.ATTIO_BASE_URL || 'https://api.attio.com/v2').replace(/\/+$/, ''),
|
|
52
|
+
timeout: 20000, // Standardized timeout
|
|
53
|
+
mode: actualMode,
|
|
54
|
+
bypassCache: shouldBypassCache,
|
|
55
|
+
};
|
|
56
|
+
// Configure interceptors based on mode
|
|
57
|
+
switch (actualMode) {
|
|
58
|
+
case ClientMode.E2E:
|
|
59
|
+
baseConfig.interceptors = {
|
|
60
|
+
prefix: 'E2E',
|
|
61
|
+
enableDiagnostics: true,
|
|
62
|
+
enableErrorHandling: true,
|
|
63
|
+
};
|
|
64
|
+
break;
|
|
65
|
+
case ClientMode.E2E_RAW:
|
|
66
|
+
baseConfig.interceptors = {
|
|
67
|
+
prefix: 'E2E-RAW',
|
|
68
|
+
enableDiagnostics: true,
|
|
69
|
+
enableErrorHandling: true,
|
|
70
|
+
};
|
|
71
|
+
break;
|
|
72
|
+
case ClientMode.TEST:
|
|
73
|
+
baseConfig.interceptors = {
|
|
74
|
+
prefix: 'TEST',
|
|
75
|
+
enableDiagnostics: false,
|
|
76
|
+
enableErrorHandling: true,
|
|
77
|
+
};
|
|
78
|
+
break;
|
|
79
|
+
default:
|
|
80
|
+
baseConfig.interceptors = {
|
|
81
|
+
prefix: '',
|
|
82
|
+
enableDiagnostics: true,
|
|
83
|
+
enableErrorHandling: true,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
return baseConfig;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Get standard timeout value (eliminates 30s vs 20s inconsistency)
|
|
90
|
+
*/
|
|
91
|
+
static getStandardTimeout() {
|
|
92
|
+
return 20000;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Get default base URL
|
|
96
|
+
*/
|
|
97
|
+
static getDefaultBaseURL() {
|
|
98
|
+
return (process.env.ATTIO_BASE_URL || 'https://api.attio.com/v2').replace(/\/+$/, '');
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=client-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-config.js","sourceRoot":"","sources":["../../src/api/client-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -88,7 +88,7 @@ export function getContextApiKey() {
|
|
|
88
88
|
return key;
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
|
-
catch
|
|
91
|
+
catch {
|
|
92
92
|
// Cache this failure to avoid repeated exceptions
|
|
93
93
|
// Clear existing timer if present to prevent duplicates
|
|
94
94
|
const existingTimer = failedContextCache.get(getApiKeyIdentifier);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-context.js","sourceRoot":"","sources":["../../src/api/client-context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,iEAAiE;AACjE,MAAM,cAAc,GAAG,IAAI,OAAO,EAAmC,CAAC;AACtE,IAAI,UAAU,GAAkB,IAAI,CAAC;AAErC,6DAA6D;AAC7D,IAAI,aAAa,GAAmC,IAAI,CAAC;AAEzD,wEAAwE;AACxE,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAA0B,CAAC;AAC7D,MAAM,wBAAwB,GAAG,KAAK,CAAC,CAAC,6CAA6C;AAErF;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAgC;IAC/D,iEAAiE;IACjE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,UAAU,GAAG,EAAE,CAAC;IAClB,CAAC;IACD,cAAc,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAE/C,wCAAwC;IACxC,aAAa,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;IAE/B,qDAAqD;IACrD,uBAAuB,EAAE,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,IAAI,UAAU,EAAE,CAAC;QACf,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAClC,UAAU,GAAG,IAAI,CAAC;IACpB,CAAC;IACD,aAAa,GAAG,IAAI,CAAC;IACrB,uBAAuB,EAAE,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB;IAC9B,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,kBAAkB,CAAC,OAAO,EAAE,EAAE,CAAC;QAC1D,YAAY,CAAC,OAAO,CAAC,CAAC;QACtB,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB;IAC9B,4BAA4B;IAC5B,IAAI,UAAU,IAAI,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QACjD,OAAO,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;IAChD,CAAC;IAED,6BAA6B;IAC7B,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IACnC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,YAAY,GAAG,OAGpB,CAAC;IAEF,oEAAoE;IACpE,MAAM,mBAAmB,GAAG,WAAW,CAAC;IACxC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAErE,IAAI,OAAO,YAAY,CAAC,SAAS,KAAK,UAAU,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtE,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,YAAY,CAAC,SAAS,EAAE,CAAC;YACrC,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;gBACjD,OAAO,GAAG,CAAC;YACb,CAAC;QACH,CAAC;QAAC,
|
|
1
|
+
{"version":3,"file":"client-context.js","sourceRoot":"","sources":["../../src/api/client-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Client creation strategies for different environments
|
|
3
|
+
* Implements strategy pattern to handle production, E2E, and test modes
|
|
4
|
+
*/
|
|
5
|
+
import { AxiosInstance } from 'axios';
|
|
6
|
+
import { ClientConfig, ClientMode, InterceptorConfig } from './client-config.js';
|
|
7
|
+
/**
|
|
8
|
+
* Strategy interface for client creation
|
|
9
|
+
*/
|
|
10
|
+
export interface ClientStrategy {
|
|
11
|
+
createClient(config: ClientConfig): AxiosInstance;
|
|
12
|
+
getDefaultConfig(): Partial<ClientConfig>;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Base strategy with common client setup logic
|
|
16
|
+
*/
|
|
17
|
+
declare abstract class BaseClientStrategy implements ClientStrategy {
|
|
18
|
+
abstract createClient(config: ClientConfig): AxiosInstance;
|
|
19
|
+
abstract getDefaultConfig(): Partial<ClientConfig>;
|
|
20
|
+
/**
|
|
21
|
+
* Creates the base Axios instance with common configuration
|
|
22
|
+
*/
|
|
23
|
+
protected createBaseClient(config: ClientConfig): AxiosInstance;
|
|
24
|
+
/**
|
|
25
|
+
* Configure standard error handling for Attio API responses
|
|
26
|
+
*/
|
|
27
|
+
protected configureErrorHandling(client: AxiosInstance): void;
|
|
28
|
+
/**
|
|
29
|
+
* Configure interceptors based on provided configuration
|
|
30
|
+
*/
|
|
31
|
+
protected configureInterceptors(client: AxiosInstance, interceptorConfig?: InterceptorConfig): void;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Production client strategy - full interceptors, standard configuration
|
|
35
|
+
*/
|
|
36
|
+
export declare class ProductionClientStrategy extends BaseClientStrategy {
|
|
37
|
+
createClient(config: ClientConfig): AxiosInstance;
|
|
38
|
+
getDefaultConfig(): Partial<ClientConfig>;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* E2E client strategy - full interceptors with E2E prefix
|
|
42
|
+
*/
|
|
43
|
+
export declare class E2EClientStrategy extends BaseClientStrategy {
|
|
44
|
+
createClient(config: ClientConfig): AxiosInstance;
|
|
45
|
+
getDefaultConfig(): Partial<ClientConfig>;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* E2E Raw client strategy - minimal interceptors for raw testing
|
|
49
|
+
*/
|
|
50
|
+
export declare class E2ERawClientStrategy extends BaseClientStrategy {
|
|
51
|
+
createClient(config: ClientConfig): AxiosInstance;
|
|
52
|
+
getDefaultConfig(): Partial<ClientConfig>;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Test client strategy - minimal logging, optimized for test performance
|
|
56
|
+
*/
|
|
57
|
+
export declare class TestClientStrategy extends BaseClientStrategy {
|
|
58
|
+
createClient(config: ClientConfig): AxiosInstance;
|
|
59
|
+
getDefaultConfig(): Partial<ClientConfig>;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Strategy factory - determines the appropriate strategy based on mode
|
|
63
|
+
*/
|
|
64
|
+
export declare class ClientStrategyFactory {
|
|
65
|
+
private static strategies;
|
|
66
|
+
/**
|
|
67
|
+
* Get the appropriate strategy for the given mode
|
|
68
|
+
*/
|
|
69
|
+
static getStrategy(mode: ClientMode): ClientStrategy;
|
|
70
|
+
/**
|
|
71
|
+
* Create a client using the appropriate strategy
|
|
72
|
+
*/
|
|
73
|
+
static createClient(config: ClientConfig): AxiosInstance;
|
|
74
|
+
}
|
|
75
|
+
export {};
|
|
76
|
+
//# sourceMappingURL=client-strategies.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-strategies.d.ts","sourceRoot":"","sources":["../../src/api/client-strategies.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAc,EAAE,aAAa,EAA6B,MAAM,OAAO,CAAC;AAGxE,OAAO,EACL,YAAY,EACZ,UAAU,EAEV,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAG5B;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,aAAa,CAAC;IAClD,gBAAgB,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;CAC3C;AAED;;GAEG;AACH,uBAAe,kBAAmB,YAAW,cAAc;IACzD,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,aAAa;IAC1D,QAAQ,CAAC,gBAAgB,IAAI,OAAO,CAAC,YAAY,CAAC;IAElD;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,aAAa;IA0B/D;;OAEG;IACH,SAAS,CAAC,sBAAsB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAqB7D;;OAEG;IACH,SAAS,CAAC,qBAAqB,CAC7B,MAAM,EAAE,aAAa,EACrB,iBAAiB,CAAC,EAAE,iBAAiB,GACpC,IAAI;CAWR;AAED;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,kBAAkB;IAC9D,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,aAAa;IAYjD,gBAAgB,IAAI,OAAO,CAAC,YAAY,CAAC;CAW1C;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,kBAAkB;IACvD,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,aAAa;IAYjD,gBAAgB,IAAI,OAAO,CAAC,YAAY,CAAC;CAW1C;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,kBAAkB;IAC1D,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,aAAa;IAYjD,gBAAgB,IAAI,OAAO,CAAC,YAAY,CAAC;CAW1C;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,kBAAkB;IACxD,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,aAAa;IAWjD,gBAAgB,IAAI,OAAO,CAAC,YAAY,CAAC;CAW1C;AAED;;GAEG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAAC,UAAU,CAKtB;IAEH;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,cAAc;IAQpD;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,aAAa;CAiBzD"}
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Client creation strategies for different environments
|
|
3
|
+
* Implements strategy pattern to handle production, E2E, and test modes
|
|
4
|
+
*/
|
|
5
|
+
import axios from 'axios';
|
|
6
|
+
import { debug } from '../utils/logger.js';
|
|
7
|
+
import { configureStandardInterceptors } from './client-interceptors.js';
|
|
8
|
+
import { ClientMode, EnvironmentModeHandler, } from './client-config.js';
|
|
9
|
+
import { isAttioErrorData } from './types.js';
|
|
10
|
+
/**
|
|
11
|
+
* Base strategy with common client setup logic
|
|
12
|
+
*/
|
|
13
|
+
class BaseClientStrategy {
|
|
14
|
+
/**
|
|
15
|
+
* Creates the base Axios instance with common configuration
|
|
16
|
+
*/
|
|
17
|
+
createBaseClient(config) {
|
|
18
|
+
const client = axios.create({
|
|
19
|
+
baseURL: config.baseURL || EnvironmentModeHandler.getDefaultBaseURL(),
|
|
20
|
+
timeout: config.timeout || EnvironmentModeHandler.getStandardTimeout(),
|
|
21
|
+
headers: {
|
|
22
|
+
Authorization: `Bearer ${config.apiKey}`,
|
|
23
|
+
'Content-Type': 'application/json',
|
|
24
|
+
Accept: 'application/json',
|
|
25
|
+
},
|
|
26
|
+
// Preserve raw server JSON response
|
|
27
|
+
transformResponse: [
|
|
28
|
+
(data) => {
|
|
29
|
+
try {
|
|
30
|
+
return JSON.parse(data);
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
return data;
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
],
|
|
37
|
+
validateStatus: (status) => status >= 200 && status < 300,
|
|
38
|
+
});
|
|
39
|
+
this.configureErrorHandling(client);
|
|
40
|
+
return client;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Configure standard error handling for Attio API responses
|
|
44
|
+
*/
|
|
45
|
+
configureErrorHandling(client) {
|
|
46
|
+
client.interceptors.response.use((response) => response, (error) => {
|
|
47
|
+
const data = error?.response?.data;
|
|
48
|
+
if (isAttioErrorData(data)) {
|
|
49
|
+
// Mirror serverData onto the error so wrappers can preserve it
|
|
50
|
+
const attioError = error;
|
|
51
|
+
attioError.serverData = {
|
|
52
|
+
status_code: data.status_code ?? error.response?.status,
|
|
53
|
+
type: data.type,
|
|
54
|
+
code: data.code,
|
|
55
|
+
message: data.message,
|
|
56
|
+
};
|
|
57
|
+
return Promise.reject(attioError);
|
|
58
|
+
}
|
|
59
|
+
return Promise.reject(error);
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Configure interceptors based on provided configuration
|
|
64
|
+
*/
|
|
65
|
+
configureInterceptors(client, interceptorConfig) {
|
|
66
|
+
if (!interceptorConfig)
|
|
67
|
+
return;
|
|
68
|
+
debug('client-strategies', 'Configuring client interceptors', {
|
|
69
|
+
prefix: interceptorConfig.prefix,
|
|
70
|
+
enableDiagnostics: interceptorConfig.enableDiagnostics,
|
|
71
|
+
enableErrorHandling: interceptorConfig.enableErrorHandling,
|
|
72
|
+
});
|
|
73
|
+
configureStandardInterceptors(client, interceptorConfig);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Production client strategy - full interceptors, standard configuration
|
|
78
|
+
*/
|
|
79
|
+
export class ProductionClientStrategy extends BaseClientStrategy {
|
|
80
|
+
createClient(config) {
|
|
81
|
+
debug('client-strategies', 'Creating production client', {
|
|
82
|
+
hasApiKey: Boolean(config.apiKey),
|
|
83
|
+
baseURL: config.baseURL,
|
|
84
|
+
timeout: config.timeout,
|
|
85
|
+
});
|
|
86
|
+
const client = this.createBaseClient(config);
|
|
87
|
+
this.configureInterceptors(client, config.interceptors);
|
|
88
|
+
return client;
|
|
89
|
+
}
|
|
90
|
+
getDefaultConfig() {
|
|
91
|
+
return {
|
|
92
|
+
mode: ClientMode.PRODUCTION,
|
|
93
|
+
timeout: EnvironmentModeHandler.getStandardTimeout(),
|
|
94
|
+
interceptors: {
|
|
95
|
+
prefix: '',
|
|
96
|
+
enableDiagnostics: true,
|
|
97
|
+
enableErrorHandling: true,
|
|
98
|
+
},
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* E2E client strategy - full interceptors with E2E prefix
|
|
104
|
+
*/
|
|
105
|
+
export class E2EClientStrategy extends BaseClientStrategy {
|
|
106
|
+
createClient(config) {
|
|
107
|
+
debug('client-strategies', 'Creating E2E client', {
|
|
108
|
+
hasApiKey: Boolean(config.apiKey),
|
|
109
|
+
baseURL: config.baseURL,
|
|
110
|
+
mode: config.mode,
|
|
111
|
+
});
|
|
112
|
+
const client = this.createBaseClient(config);
|
|
113
|
+
this.configureInterceptors(client, config.interceptors);
|
|
114
|
+
return client;
|
|
115
|
+
}
|
|
116
|
+
getDefaultConfig() {
|
|
117
|
+
return {
|
|
118
|
+
mode: ClientMode.E2E,
|
|
119
|
+
timeout: EnvironmentModeHandler.getStandardTimeout(),
|
|
120
|
+
interceptors: {
|
|
121
|
+
prefix: 'E2E',
|
|
122
|
+
enableDiagnostics: true,
|
|
123
|
+
enableErrorHandling: true,
|
|
124
|
+
},
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* E2E Raw client strategy - minimal interceptors for raw testing
|
|
130
|
+
*/
|
|
131
|
+
export class E2ERawClientStrategy extends BaseClientStrategy {
|
|
132
|
+
createClient(config) {
|
|
133
|
+
debug('client-strategies', 'Creating E2E raw client', {
|
|
134
|
+
hasApiKey: Boolean(config.apiKey),
|
|
135
|
+
baseURL: config.baseURL,
|
|
136
|
+
});
|
|
137
|
+
// Create minimal client for raw E2E testing
|
|
138
|
+
const client = this.createBaseClient(config);
|
|
139
|
+
this.configureInterceptors(client, config.interceptors);
|
|
140
|
+
return client;
|
|
141
|
+
}
|
|
142
|
+
getDefaultConfig() {
|
|
143
|
+
return {
|
|
144
|
+
mode: ClientMode.E2E_RAW,
|
|
145
|
+
timeout: EnvironmentModeHandler.getStandardTimeout(),
|
|
146
|
+
interceptors: {
|
|
147
|
+
prefix: 'E2E-RAW',
|
|
148
|
+
enableDiagnostics: true,
|
|
149
|
+
enableErrorHandling: true,
|
|
150
|
+
},
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Test client strategy - minimal logging, optimized for test performance
|
|
156
|
+
*/
|
|
157
|
+
export class TestClientStrategy extends BaseClientStrategy {
|
|
158
|
+
createClient(config) {
|
|
159
|
+
debug('client-strategies', 'Creating test client', {
|
|
160
|
+
hasApiKey: Boolean(config.apiKey),
|
|
161
|
+
baseURL: config.baseURL,
|
|
162
|
+
});
|
|
163
|
+
const client = this.createBaseClient(config);
|
|
164
|
+
this.configureInterceptors(client, config.interceptors);
|
|
165
|
+
return client;
|
|
166
|
+
}
|
|
167
|
+
getDefaultConfig() {
|
|
168
|
+
return {
|
|
169
|
+
mode: ClientMode.TEST,
|
|
170
|
+
timeout: EnvironmentModeHandler.getStandardTimeout(),
|
|
171
|
+
interceptors: {
|
|
172
|
+
prefix: 'TEST',
|
|
173
|
+
enableDiagnostics: false,
|
|
174
|
+
enableErrorHandling: true,
|
|
175
|
+
},
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Strategy factory - determines the appropriate strategy based on mode
|
|
181
|
+
*/
|
|
182
|
+
export class ClientStrategyFactory {
|
|
183
|
+
static strategies = new Map([
|
|
184
|
+
[ClientMode.PRODUCTION, new ProductionClientStrategy()],
|
|
185
|
+
[ClientMode.E2E, new E2EClientStrategy()],
|
|
186
|
+
[ClientMode.E2E_RAW, new E2ERawClientStrategy()],
|
|
187
|
+
[ClientMode.TEST, new TestClientStrategy()],
|
|
188
|
+
]);
|
|
189
|
+
/**
|
|
190
|
+
* Get the appropriate strategy for the given mode
|
|
191
|
+
*/
|
|
192
|
+
static getStrategy(mode) {
|
|
193
|
+
const strategy = this.strategies.get(mode);
|
|
194
|
+
if (!strategy) {
|
|
195
|
+
throw new Error(`Unsupported client mode: ${mode}`);
|
|
196
|
+
}
|
|
197
|
+
return strategy;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Create a client using the appropriate strategy
|
|
201
|
+
*/
|
|
202
|
+
static createClient(config) {
|
|
203
|
+
const mode = config.mode || EnvironmentModeHandler.determineMode();
|
|
204
|
+
const strategy = this.getStrategy(mode);
|
|
205
|
+
// Merge strategy defaults with provided config
|
|
206
|
+
const defaultConfig = strategy.getDefaultConfig();
|
|
207
|
+
const mergedConfig = {
|
|
208
|
+
...defaultConfig,
|
|
209
|
+
...config,
|
|
210
|
+
interceptors: {
|
|
211
|
+
...defaultConfig.interceptors,
|
|
212
|
+
...config.interceptors,
|
|
213
|
+
},
|
|
214
|
+
};
|
|
215
|
+
return strategy.createClient(mergedConfig);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
//# sourceMappingURL=client-strategies.js.map
|