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