attio-mcp 1.3.6 → 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +284 -3
- package/README.md +143 -334
- package/dist/api/attio-client.d.ts +13 -3
- package/dist/api/attio-client.d.ts.map +1 -1
- package/dist/api/attio-client.js +37 -7
- package/dist/api/attio-client.js.map +1 -1
- package/dist/api/attribute-types.d.ts.map +1 -1
- package/dist/api/attribute-types.js +42 -20
- package/dist/api/attribute-types.js.map +1 -1
- package/dist/api/client-context.d.ts.map +1 -1
- package/dist/api/client-context.js +28 -42
- package/dist/api/client-context.js.map +1 -1
- package/dist/api/operations/batch.d.ts +3 -3
- package/dist/api/operations/batch.d.ts.map +1 -1
- package/dist/api/operations/batch.js.map +1 -1
- package/dist/api/operations/crud.d.ts.map +1 -1
- package/dist/api/operations/crud.js.map +1 -1
- package/dist/api/operations/search.d.ts.map +1 -1
- package/dist/api/operations/search.js.map +1 -1
- package/dist/cli/commands/generate-skill.d.ts +28 -0
- package/dist/cli/commands/generate-skill.d.ts.map +1 -0
- package/dist/cli/commands/generate-skill.js +101 -0
- package/dist/cli/commands/generate-skill.js.map +1 -0
- package/dist/cli/discover.js +65 -0
- package/dist/cli/discover.js.map +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/config/deal-defaults.d.ts +2 -2
- package/dist/config/deal-defaults.d.ts.map +1 -1
- package/dist/config/deal-defaults.js +15 -6
- package/dist/config/deal-defaults.js.map +1 -1
- package/dist/config/tool-aliases.d.ts +12 -0
- package/dist/config/tool-aliases.d.ts.map +1 -1
- package/dist/config/tool-aliases.js +213 -69
- package/dist/config/tool-aliases.js.map +1 -1
- package/dist/constants/tool-names.d.ts +84 -0
- package/dist/constants/tool-names.d.ts.map +1 -0
- package/dist/constants/tool-names.js +81 -0
- package/dist/constants/tool-names.js.map +1 -0
- package/dist/constants/universal.constants.d.ts +24 -0
- package/dist/constants/universal.constants.d.ts.map +1 -1
- package/dist/constants/universal.constants.js +81 -9
- package/dist/constants/universal.constants.js.map +1 -1
- package/dist/errors/value-match-error.js +1 -1
- package/dist/handlers/tool-configs/lists.d.ts +142 -19
- package/dist/handlers/tool-configs/lists.d.ts.map +1 -1
- package/dist/handlers/tool-configs/lists.js +319 -25
- package/dist/handlers/tool-configs/lists.js.map +1 -1
- package/dist/handlers/tool-configs/universal/batch-search.d.ts +1 -1
- package/dist/handlers/tool-configs/universal/batch-search.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/batch-search.js +17 -13
- package/dist/handlers/tool-configs/universal/batch-search.js.map +1 -1
- package/dist/handlers/tool-configs/universal/core/crud-error-handlers.d.ts +26 -4
- package/dist/handlers/tool-configs/universal/core/crud-error-handlers.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/core/crud-error-handlers.js +181 -21
- package/dist/handlers/tool-configs/universal/core/crud-error-handlers.js.map +1 -1
- package/dist/handlers/tool-configs/universal/core/crud-operations.d.ts +4 -4
- package/dist/handlers/tool-configs/universal/core/crud-operations.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/core/crud-operations.js +37 -24
- package/dist/handlers/tool-configs/universal/core/crud-operations.js.map +1 -1
- package/dist/handlers/tool-configs/universal/core/detailed-info-operations.js +3 -3
- package/dist/handlers/tool-configs/universal/core/detailed-info-operations.js.map +1 -1
- package/dist/handlers/tool-configs/universal/core/error-enhancers/attribute-enhancer.d.ts +17 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/attribute-enhancer.d.ts.map +1 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/attribute-enhancer.js +118 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/attribute-enhancer.js.map +1 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/complex-type-enhancer.d.ts +14 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/complex-type-enhancer.d.ts.map +1 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/complex-type-enhancer.js +77 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/complex-type-enhancer.js.map +1 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/index.d.ts +24 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/index.d.ts.map +1 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/index.js +35 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/index.js.map +1 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/record-reference-enhancer.d.ts +15 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/record-reference-enhancer.d.ts.map +1 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/record-reference-enhancer.js +108 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/record-reference-enhancer.js.map +1 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/required-fields-enhancer.d.ts +14 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/required-fields-enhancer.d.ts.map +1 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/required-fields-enhancer.js +91 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/required-fields-enhancer.js.map +1 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/select-status-enhancer.d.ts +14 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/select-status-enhancer.d.ts.map +1 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/select-status-enhancer.js +118 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/select-status-enhancer.js.map +1 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/types.d.ts +77 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/types.d.ts.map +1 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/types.js +42 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/types.js.map +1 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/uniqueness-enhancer.d.ts +15 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/uniqueness-enhancer.d.ts.map +1 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/uniqueness-enhancer.js +109 -0
- package/dist/handlers/tool-configs/universal/core/error-enhancers/uniqueness-enhancer.js.map +1 -0
- package/dist/handlers/tool-configs/universal/core/index.d.ts +63 -22
- package/dist/handlers/tool-configs/universal/core/index.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/core/index.js +24 -22
- package/dist/handlers/tool-configs/universal/core/index.js.map +1 -1
- package/dist/handlers/tool-configs/universal/core/metadata-operations.d.ts +43 -1
- package/dist/handlers/tool-configs/universal/core/metadata-operations.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/core/metadata-operations.js +117 -11
- package/dist/handlers/tool-configs/universal/core/metadata-operations.js.map +1 -1
- package/dist/handlers/tool-configs/universal/core/notes-operations.js +12 -12
- package/dist/handlers/tool-configs/universal/core/notes-operations.js.map +1 -1
- package/dist/handlers/tool-configs/universal/core/record-details-operations.d.ts +6 -3
- package/dist/handlers/tool-configs/universal/core/record-details-operations.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/core/record-details-operations.js +35 -10
- package/dist/handlers/tool-configs/universal/core/record-details-operations.js.map +1 -1
- package/dist/handlers/tool-configs/universal/core/search-operations.d.ts +4 -3
- package/dist/handlers/tool-configs/universal/core/search-operations.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/core/search-operations.js +31 -12
- package/dist/handlers/tool-configs/universal/core/search-operations.js.map +1 -1
- package/dist/handlers/tool-configs/universal/core/utils.d.ts +1 -0
- package/dist/handlers/tool-configs/universal/core/utils.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/core/utils.js +3 -0
- package/dist/handlers/tool-configs/universal/core/utils.js.map +1 -1
- package/dist/handlers/tool-configs/universal/field-mapper/constants/companies.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/field-mapper/constants/companies.js +32 -9
- package/dist/handlers/tool-configs/universal/field-mapper/constants/companies.js.map +1 -1
- package/dist/handlers/tool-configs/universal/field-mapper/constants/deals.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/field-mapper/constants/deals.js +45 -6
- package/dist/handlers/tool-configs/universal/field-mapper/constants/deals.js.map +1 -1
- package/dist/handlers/tool-configs/universal/field-mapper/constants/people.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/field-mapper/constants/people.js +36 -5
- package/dist/handlers/tool-configs/universal/field-mapper/constants/people.js.map +1 -1
- package/dist/handlers/tool-configs/universal/field-mapper/transformers/value-transformer.d.ts +1 -1
- package/dist/handlers/tool-configs/universal/field-mapper/transformers/value-transformer.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/field-mapper/transformers/value-transformer.js +17 -1
- package/dist/handlers/tool-configs/universal/field-mapper/transformers/value-transformer.js.map +1 -1
- package/dist/handlers/tool-configs/universal/field-mapper/validators/field-validator.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/field-mapper/validators/field-validator.js +3 -1
- package/dist/handlers/tool-configs/universal/field-mapper/validators/field-validator.js.map +1 -1
- package/dist/handlers/tool-configs/universal/index.d.ts +75 -34
- package/dist/handlers/tool-configs/universal/index.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/index.js +58 -58
- package/dist/handlers/tool-configs/universal/index.js.map +1 -1
- package/dist/handlers/tool-configs/universal/operations/advanced-search.d.ts +3 -3
- package/dist/handlers/tool-configs/universal/operations/advanced-search.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/operations/advanced-search.js +17 -10
- package/dist/handlers/tool-configs/universal/operations/advanced-search.js.map +1 -1
- package/dist/handlers/tool-configs/universal/operations/batch-format.d.ts +1 -1
- package/dist/handlers/tool-configs/universal/operations/batch-format.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/operations/batch-format.js +31 -10
- package/dist/handlers/tool-configs/universal/operations/batch-format.js.map +1 -1
- package/dist/handlers/tool-configs/universal/operations/batch-operations.js +3 -3
- package/dist/handlers/tool-configs/universal/operations/content-search.d.ts +3 -3
- package/dist/handlers/tool-configs/universal/operations/content-search.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/operations/content-search.js +15 -9
- package/dist/handlers/tool-configs/universal/operations/content-search.js.map +1 -1
- package/dist/handlers/tool-configs/universal/operations/index.d.ts +10 -10
- package/dist/handlers/tool-configs/universal/operations/index.js +15 -15
- package/dist/handlers/tool-configs/universal/operations/relationship-search.d.ts +3 -3
- package/dist/handlers/tool-configs/universal/operations/relationship-search.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/operations/relationship-search.js +11 -8
- package/dist/handlers/tool-configs/universal/operations/relationship-search.js.map +1 -1
- package/dist/handlers/tool-configs/universal/operations/timeframe-search.d.ts +3 -3
- package/dist/handlers/tool-configs/universal/operations/timeframe-search.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/operations/timeframe-search.js +16 -10
- package/dist/handlers/tool-configs/universal/operations/timeframe-search.js.map +1 -1
- package/dist/handlers/tool-configs/universal/schemas/utility-schemas.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/schemas/utility-schemas.js +5 -2
- package/dist/handlers/tool-configs/universal/schemas/utility-schemas.js.map +1 -1
- package/dist/handlers/tool-configs/universal/schemas/validation-schemas.d.ts +29 -0
- package/dist/handlers/tool-configs/universal/schemas/validation-schemas.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/schemas/validation-schemas.js +28 -0
- package/dist/handlers/tool-configs/universal/schemas/validation-schemas.js.map +1 -1
- package/dist/handlers/tool-configs/universal/schemas.d.ts +1 -1
- package/dist/handlers/tool-configs/universal/schemas.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/schemas.js +1 -1
- package/dist/handlers/tool-configs/universal/schemas.js.map +1 -1
- package/dist/handlers/tool-configs/universal/shared-handlers.d.ts +27 -7
- package/dist/handlers/tool-configs/universal/shared-handlers.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/shared-handlers.js +221 -25
- package/dist/handlers/tool-configs/universal/shared-handlers.js.map +1 -1
- package/dist/handlers/tool-configs/universal/smithery-diagnostics.js +2 -2
- package/dist/handlers/tool-configs/universal/smithery-diagnostics.js.map +1 -1
- package/dist/handlers/tool-configs/universal/types.d.ts +17 -7
- package/dist/handlers/tool-configs/universal/types.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/validators/schema-validator.d.ts +11 -0
- package/dist/handlers/tool-configs/universal/validators/schema-validator.d.ts.map +1 -1
- package/dist/handlers/tool-configs/universal/validators/schema-validator.js +80 -17
- package/dist/handlers/tool-configs/universal/validators/schema-validator.js.map +1 -1
- package/dist/handlers/tools/dispatcher/core.d.ts.map +1 -1
- package/dist/handlers/tools/dispatcher/core.js +9 -2
- package/dist/handlers/tools/dispatcher/core.js.map +1 -1
- package/dist/handlers/tools/dispatcher/operations/lists.d.ts +20 -1
- package/dist/handlers/tools/dispatcher/operations/lists.d.ts.map +1 -1
- package/dist/handlers/tools/dispatcher/operations/lists.js +366 -17
- package/dist/handlers/tools/dispatcher/operations/lists.js.map +1 -1
- package/dist/handlers/tools/formatters.d.ts +8 -1
- package/dist/handlers/tools/formatters.d.ts.map +1 -1
- package/dist/handlers/tools/formatters.js +30 -14
- package/dist/handlers/tools/formatters.js.map +1 -1
- package/dist/handlers/tools/registry.d.ts +409 -122
- package/dist/handlers/tools/registry.d.ts.map +1 -1
- package/dist/handlers/tools/registry.js +14 -9
- package/dist/handlers/tools/registry.js.map +1 -1
- package/dist/handlers/tools/standards/index.d.ts.map +1 -1
- package/dist/handlers/tools/standards/index.js +19 -11
- package/dist/handlers/tools/standards/index.js.map +1 -1
- package/dist/objects/companies/attributes.d.ts +5 -0
- package/dist/objects/companies/attributes.d.ts.map +1 -1
- package/dist/objects/companies/attributes.js +45 -31
- package/dist/objects/companies/attributes.js.map +1 -1
- package/dist/objects/companies/basic.d.ts.map +1 -1
- package/dist/objects/companies/basic.js.map +1 -1
- package/dist/objects/lists/base.d.ts.map +1 -1
- package/dist/objects/lists/base.js +6 -2
- package/dist/objects/lists/base.js.map +1 -1
- package/dist/objects/lists/shared.d.ts.map +1 -1
- package/dist/objects/lists/shared.js +12 -1
- package/dist/objects/lists/shared.js.map +1 -1
- package/dist/objects/records/index.d.ts.map +1 -1
- package/dist/objects/records/index.js.map +1 -1
- package/dist/server/createServer.d.ts.map +1 -1
- package/dist/server/createServer.js +4 -3
- package/dist/server/createServer.js.map +1 -1
- package/dist/services/ErrorService.js +3 -3
- package/dist/services/ErrorService.js.map +1 -1
- package/dist/services/OpenAiCompatibilityService.d.ts.map +1 -1
- package/dist/services/OpenAiCompatibilityService.js +12 -8
- package/dist/services/OpenAiCompatibilityService.js.map +1 -1
- package/dist/services/UniversalCreateService.d.ts +3 -3
- package/dist/services/UniversalCreateService.d.ts.map +1 -1
- package/dist/services/UniversalCreateService.js +162 -38
- package/dist/services/UniversalCreateService.js.map +1 -1
- package/dist/services/UniversalMetadataService.d.ts +8 -0
- package/dist/services/UniversalMetadataService.d.ts.map +1 -1
- package/dist/services/UniversalMetadataService.js +21 -0
- package/dist/services/UniversalMetadataService.js.map +1 -1
- package/dist/services/UniversalRetrievalService.d.ts +7 -5
- package/dist/services/UniversalRetrievalService.d.ts.map +1 -1
- package/dist/services/UniversalRetrievalService.js +31 -29
- package/dist/services/UniversalRetrievalService.js.map +1 -1
- package/dist/services/UniversalSearchService.d.ts +8 -27
- package/dist/services/UniversalSearchService.d.ts.map +1 -1
- package/dist/services/UniversalSearchService.js +19 -327
- package/dist/services/UniversalSearchService.js.map +1 -1
- package/dist/services/UniversalUpdateService.d.ts +25 -7
- package/dist/services/UniversalUpdateService.d.ts.map +1 -1
- package/dist/services/UniversalUpdateService.js +132 -157
- package/dist/services/UniversalUpdateService.js.map +1 -1
- package/dist/services/UniversalUtilityService.d.ts +9 -1
- package/dist/services/UniversalUtilityService.d.ts.map +1 -1
- package/dist/services/UniversalUtilityService.js +13 -0
- package/dist/services/UniversalUtilityService.js.map +1 -1
- package/dist/services/ValidationService.js +4 -4
- package/dist/services/ValidationService.js.map +1 -1
- package/dist/services/create/attio-create.service.d.ts.map +1 -1
- package/dist/services/create/attio-create.service.js +2 -1
- package/dist/services/create/attio-create.service.js.map +1 -1
- package/dist/services/create/creators/company-creator.js.map +1 -1
- package/dist/services/create/creators/note-creator.d.ts.map +1 -1
- package/dist/services/create/creators/note-creator.js +4 -2
- package/dist/services/create/creators/note-creator.js.map +1 -1
- package/dist/services/create/factory.d.ts.map +1 -1
- package/dist/services/create/factory.js +2 -1
- package/dist/services/create/factory.js.map +1 -1
- package/dist/services/create/mock-create.service.d.ts.map +1 -1
- package/dist/services/create/mock-create.service.js.map +1 -1
- package/dist/services/create/strategies/BaseCreateStrategy.d.ts +2 -2
- package/dist/services/create/strategies/BaseCreateStrategy.d.ts.map +1 -1
- package/dist/services/create/strategies/ListCreateStrategy.d.ts +3 -3
- package/dist/services/create/strategies/ListCreateStrategy.d.ts.map +1 -1
- package/dist/services/create/strategies/ListCreateStrategy.js +2 -16
- package/dist/services/create/strategies/ListCreateStrategy.js.map +1 -1
- package/dist/services/create/strategies/TaskCreateStrategy.d.ts.map +1 -1
- package/dist/services/create/strategies/TaskCreateStrategy.js.map +1 -1
- package/dist/services/metadata/AttributeOptionsService.d.ts +38 -0
- package/dist/services/metadata/AttributeOptionsService.d.ts.map +1 -0
- package/dist/services/metadata/AttributeOptionsService.js +92 -0
- package/dist/services/metadata/AttributeOptionsService.js.map +1 -0
- package/dist/services/metadata/MetadataDiscoveryService.d.ts.map +1 -1
- package/dist/services/metadata/MetadataDiscoveryService.js.map +1 -1
- package/dist/services/metadata/MetadataTransformService.d.ts.map +1 -1
- package/dist/services/metadata/MetadataTransformService.js.map +1 -1
- package/dist/services/metadata/index.d.ts +1 -0
- package/dist/services/metadata/index.d.ts.map +1 -1
- package/dist/services/metadata/index.js +1 -0
- package/dist/services/metadata/index.js.map +1 -1
- package/dist/services/search/QueryApiService.d.ts +27 -0
- package/dist/services/search/QueryApiService.d.ts.map +1 -0
- package/dist/services/search/QueryApiService.js +144 -0
- package/dist/services/search/QueryApiService.js.map +1 -0
- package/dist/services/search/RecordsSearchService.d.ts +27 -0
- package/dist/services/search/RecordsSearchService.d.ts.map +1 -0
- package/dist/services/search/RecordsSearchService.js +122 -0
- package/dist/services/search/RecordsSearchService.js.map +1 -0
- package/dist/services/search/SearchCoordinator.d.ts +41 -0
- package/dist/services/search/SearchCoordinator.d.ts.map +1 -0
- package/dist/services/search/SearchCoordinator.js +83 -0
- package/dist/services/search/SearchCoordinator.js.map +1 -0
- package/dist/services/search/StrategyFactory.d.ts +31 -0
- package/dist/services/search/StrategyFactory.d.ts.map +1 -0
- package/dist/services/search/StrategyFactory.js +100 -0
- package/dist/services/search/StrategyFactory.js.map +1 -0
- package/dist/services/search-strategies/BaseSearchStrategy.d.ts +5 -5
- package/dist/services/search-strategies/BaseSearchStrategy.d.ts.map +1 -1
- package/dist/services/search-strategies/BaseSearchStrategy.js.map +1 -1
- package/dist/services/search-strategies/CompanySearchStrategy.d.ts +4 -4
- package/dist/services/search-strategies/CompanySearchStrategy.d.ts.map +1 -1
- package/dist/services/search-strategies/CompanySearchStrategy.js +1 -1
- package/dist/services/search-strategies/CompanySearchStrategy.js.map +1 -1
- package/dist/services/search-strategies/DealSearchStrategy.d.ts +4 -4
- package/dist/services/search-strategies/DealSearchStrategy.d.ts.map +1 -1
- package/dist/services/search-strategies/DealSearchStrategy.js +1 -1
- package/dist/services/search-strategies/DealSearchStrategy.js.map +1 -1
- package/dist/services/search-strategies/ListSearchStrategy.d.ts +34 -7
- package/dist/services/search-strategies/ListSearchStrategy.d.ts.map +1 -1
- package/dist/services/search-strategies/ListSearchStrategy.js +65 -24
- package/dist/services/search-strategies/ListSearchStrategy.js.map +1 -1
- package/dist/services/search-strategies/NoteSearchStrategy.d.ts +4 -4
- package/dist/services/search-strategies/NoteSearchStrategy.d.ts.map +1 -1
- package/dist/services/search-strategies/NoteSearchStrategy.js +6 -7
- package/dist/services/search-strategies/NoteSearchStrategy.js.map +1 -1
- package/dist/services/search-strategies/PeopleSearchStrategy.d.ts +4 -4
- package/dist/services/search-strategies/PeopleSearchStrategy.d.ts.map +1 -1
- package/dist/services/search-strategies/PeopleSearchStrategy.js +1 -1
- package/dist/services/search-strategies/PeopleSearchStrategy.js.map +1 -1
- package/dist/services/search-strategies/TaskSearchStrategy.d.ts +4 -4
- package/dist/services/search-strategies/TaskSearchStrategy.d.ts.map +1 -1
- package/dist/services/search-strategies/TaskSearchStrategy.js +7 -8
- package/dist/services/search-strategies/TaskSearchStrategy.js.map +1 -1
- package/dist/services/search-strategies/interfaces.d.ts +7 -6
- package/dist/services/search-strategies/interfaces.d.ts.map +1 -1
- package/dist/services/search-utilities/SearchUtilities.d.ts +22 -7
- package/dist/services/search-utilities/SearchUtilities.d.ts.map +1 -1
- package/dist/services/search-utilities/SearchUtilities.js +52 -4
- package/dist/services/search-utilities/SearchUtilities.js.map +1 -1
- package/dist/services/skill-generator/OutputWriterService.d.ts +41 -0
- package/dist/services/skill-generator/OutputWriterService.d.ts.map +1 -0
- package/dist/services/skill-generator/OutputWriterService.js +100 -0
- package/dist/services/skill-generator/OutputWriterService.js.map +1 -0
- package/dist/services/skill-generator/SchemaFormatterService.d.ts +61 -0
- package/dist/services/skill-generator/SchemaFormatterService.d.ts.map +1 -0
- package/dist/services/skill-generator/SchemaFormatterService.js +168 -0
- package/dist/services/skill-generator/SchemaFormatterService.js.map +1 -0
- package/dist/services/skill-generator/WorkspaceSchemaService.d.ts +84 -0
- package/dist/services/skill-generator/WorkspaceSchemaService.d.ts.map +1 -0
- package/dist/services/skill-generator/WorkspaceSchemaService.js +292 -0
- package/dist/services/skill-generator/WorkspaceSchemaService.js.map +1 -0
- package/dist/services/skill-generator/index.d.ts +12 -0
- package/dist/services/skill-generator/index.d.ts.map +1 -0
- package/dist/services/skill-generator/index.js +11 -0
- package/dist/services/skill-generator/index.js.map +1 -0
- package/dist/services/skill-generator/types.d.ts +137 -0
- package/dist/services/skill-generator/types.d.ts.map +1 -0
- package/dist/services/skill-generator/types.js +10 -0
- package/dist/services/skill-generator/types.js.map +1 -0
- package/dist/services/update/FieldPersistenceHandler.d.ts +101 -0
- package/dist/services/update/FieldPersistenceHandler.d.ts.map +1 -0
- package/dist/services/update/FieldPersistenceHandler.js +207 -0
- package/dist/services/update/FieldPersistenceHandler.js.map +1 -0
- package/dist/services/update/FieldValidationHandler.d.ts +77 -0
- package/dist/services/update/FieldValidationHandler.d.ts.map +1 -0
- package/dist/services/update/FieldValidationHandler.js +157 -0
- package/dist/services/update/FieldValidationHandler.js.map +1 -0
- package/dist/services/update/MetadataResolver.d.ts +50 -0
- package/dist/services/update/MetadataResolver.d.ts.map +1 -0
- package/dist/services/update/MetadataResolver.js +110 -0
- package/dist/services/update/MetadataResolver.js.map +1 -0
- package/dist/services/update/ResponseNormalizer.d.ts +4 -4
- package/dist/services/update/ResponseNormalizer.d.ts.map +1 -1
- package/dist/services/update/ResponseNormalizer.js +18 -9
- package/dist/services/update/ResponseNormalizer.js.map +1 -1
- package/dist/services/update/UpdateOrchestrator.d.ts +37 -0
- package/dist/services/update/UpdateOrchestrator.d.ts.map +1 -0
- package/dist/services/update/UpdateOrchestrator.js +58 -0
- package/dist/services/update/UpdateOrchestrator.js.map +1 -0
- package/dist/services/update/UpdateValidation.d.ts +7 -3
- package/dist/services/update/UpdateValidation.d.ts.map +1 -1
- package/dist/services/update/UpdateValidation.js +56 -32
- package/dist/services/update/UpdateValidation.js.map +1 -1
- package/dist/services/update/strategies/BaseUpdateStrategy.d.ts +2 -2
- package/dist/services/update/strategies/BaseUpdateStrategy.d.ts.map +1 -1
- package/dist/services/update/strategies/ListUpdateStrategy.d.ts +3 -3
- package/dist/services/update/strategies/ListUpdateStrategy.d.ts.map +1 -1
- package/dist/services/update/strategies/ListUpdateStrategy.js +4 -14
- package/dist/services/update/strategies/ListUpdateStrategy.js.map +1 -1
- package/dist/services/value-transformer/index.d.ts +57 -0
- package/dist/services/value-transformer/index.d.ts.map +1 -0
- package/dist/services/value-transformer/index.js +326 -0
- package/dist/services/value-transformer/index.js.map +1 -0
- package/dist/services/value-transformer/multi-select-transformer.d.ts +63 -0
- package/dist/services/value-transformer/multi-select-transformer.d.ts.map +1 -0
- package/dist/services/value-transformer/multi-select-transformer.js +144 -0
- package/dist/services/value-transformer/multi-select-transformer.js.map +1 -0
- package/dist/services/value-transformer/record-reference-transformer.d.ts +43 -0
- package/dist/services/value-transformer/record-reference-transformer.d.ts.map +1 -0
- package/dist/services/value-transformer/record-reference-transformer.js +245 -0
- package/dist/services/value-transformer/record-reference-transformer.js.map +1 -0
- package/dist/services/value-transformer/select-transformer.d.ts +48 -0
- package/dist/services/value-transformer/select-transformer.d.ts.map +1 -0
- package/dist/services/value-transformer/select-transformer.js +232 -0
- package/dist/services/value-transformer/select-transformer.js.map +1 -0
- package/dist/services/value-transformer/status-transformer.d.ts +32 -0
- package/dist/services/value-transformer/status-transformer.d.ts.map +1 -0
- package/dist/services/value-transformer/status-transformer.js +329 -0
- package/dist/services/value-transformer/status-transformer.js.map +1 -0
- package/dist/services/value-transformer/types.d.ts +100 -0
- package/dist/services/value-transformer/types.d.ts.map +1 -0
- package/dist/services/value-transformer/types.js +6 -0
- package/dist/services/value-transformer/types.js.map +1 -0
- package/dist/templates/skill/SKILL.template.md +78 -0
- package/dist/templates/skill/attribute-reference.template.md +126 -0
- package/dist/templates/skill/complex-types.template.md +255 -0
- package/dist/types/attio.d.ts +55 -0
- package/dist/types/attio.d.ts.map +1 -1
- package/dist/types/attio.js +36 -0
- package/dist/types/attio.js.map +1 -1
- package/dist/utils/client-resolver.d.ts.map +1 -1
- package/dist/utils/client-resolver.js +8 -16
- package/dist/utils/client-resolver.js.map +1 -1
- package/dist/utils/complex-type-validation.d.ts +16 -0
- package/dist/utils/complex-type-validation.d.ts.map +1 -0
- package/dist/utils/complex-type-validation.js +196 -0
- package/dist/utils/complex-type-validation.js.map +1 -0
- package/dist/utils/error-response-utils.js +3 -3
- package/dist/utils/error-response-utils.js.map +1 -1
- package/dist/utils/error-utilities.d.ts.map +1 -1
- package/dist/utils/error-utilities.js +16 -9
- package/dist/utils/error-utilities.js.map +1 -1
- package/dist/utils/location-normalizer.d.ts +26 -0
- package/dist/utils/location-normalizer.d.ts.map +1 -0
- package/dist/utils/location-normalizer.js +39 -0
- package/dist/utils/location-normalizer.js.map +1 -0
- package/dist/utils/metadata-utils.d.ts +27 -0
- package/dist/utils/metadata-utils.d.ts.map +1 -0
- package/dist/utils/metadata-utils.js +59 -0
- package/dist/utils/metadata-utils.js.map +1 -0
- package/dist/utils/normalization/record-data-normalization.d.ts +47 -0
- package/dist/utils/normalization/record-data-normalization.d.ts.map +1 -0
- package/dist/utils/normalization/record-data-normalization.js +103 -0
- package/dist/utils/normalization/record-data-normalization.js.map +1 -0
- package/dist/utils/personal-name-parser.d.ts.map +1 -1
- package/dist/utils/personal-name-parser.js +26 -17
- package/dist/utils/personal-name-parser.js.map +1 -1
- package/dist/validators/company/field_detector.d.ts.map +1 -1
- package/dist/validators/company/field_detector.js +5 -0
- package/dist/validators/company/field_detector.js.map +1 -1
- package/package.json +35 -33
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskSearchStrategy.js","sourceRoot":"","sources":["../../../src/services/search-strategies/TaskSearchStrategy.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"TaskSearchStrategy.js","sourceRoot":"","sources":["../../../src/services/search-strategies/TaskSearchStrategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Search strategy interfaces for UniversalSearchService refactoring
|
|
3
3
|
* Issue #574: Extract resource-specific search strategies
|
|
4
4
|
*/
|
|
5
|
-
import {
|
|
5
|
+
import type { AttioList, AttioTask, UniversalRecordResult } from '../../types/attio.js';
|
|
6
6
|
import { SearchType, MatchType, SortType } from '../../handlers/tool-configs/universal/types.js';
|
|
7
7
|
/**
|
|
8
8
|
* Timeframe parameters for date-based filtering
|
|
@@ -33,8 +33,9 @@ export interface SearchStrategyParams {
|
|
|
33
33
|
export interface ISearchStrategy {
|
|
34
34
|
/**
|
|
35
35
|
* Execute the search for this resource type
|
|
36
|
+
* Note: Return type will be updated to UniversalRecord[] in Issue #1073 PR 2
|
|
36
37
|
*/
|
|
37
|
-
search(params: SearchStrategyParams): Promise<
|
|
38
|
+
search(params: SearchStrategyParams): Promise<UniversalRecordResult[]>;
|
|
38
39
|
/**
|
|
39
40
|
* Get the resource type this strategy handles
|
|
40
41
|
*/
|
|
@@ -52,12 +53,12 @@ export interface ISearchStrategy {
|
|
|
52
53
|
* Dependencies that strategies may need
|
|
53
54
|
*/
|
|
54
55
|
export interface StrategyDependencies {
|
|
55
|
-
advancedSearchFunction?: ((filters: Record<string, unknown>, limit?: number, offset?: number) => Promise<
|
|
56
|
+
advancedSearchFunction?: ((filters: Record<string, unknown>, limit?: number, offset?: number) => Promise<UniversalRecordResult[]>) | null;
|
|
56
57
|
paginatedSearchFunction?: ((filters: Record<string, unknown>, pagination: {
|
|
57
58
|
limit?: number;
|
|
58
59
|
offset?: number;
|
|
59
60
|
}) => Promise<{
|
|
60
|
-
results:
|
|
61
|
+
results: UniversalRecordResult[];
|
|
61
62
|
}>) | null;
|
|
62
63
|
listFunction?: (query?: string, limit?: number, offset?: number) => Promise<AttioList[]>;
|
|
63
64
|
taskFunction?: (status?: string, assigneeId?: string, page?: number, pageSize?: number) => Promise<AttioTask[]>;
|
|
@@ -69,7 +70,7 @@ export interface StrategyDependencies {
|
|
|
69
70
|
}>;
|
|
70
71
|
createDateFilter?: (params: TimeframeParams) => Record<string, unknown> | null;
|
|
71
72
|
mergeFilters?: (existing: Record<string, unknown> | undefined, dateFilter: Record<string, unknown>) => Record<string, unknown>;
|
|
72
|
-
rankByRelevance?: (results:
|
|
73
|
-
getFieldValue?: (record:
|
|
73
|
+
rankByRelevance?: <T extends UniversalRecordResult>(results: T[], query: string, searchFields: string[]) => T[];
|
|
74
|
+
getFieldValue?: (record: UniversalRecordResult, field: string) => string;
|
|
74
75
|
}
|
|
75
76
|
//# sourceMappingURL=interfaces.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/services/search-strategies/interfaces.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/services/search-strategies/interfaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* Search utilities extracted from UniversalSearchService
|
|
3
3
|
* Issue #574: Extract shared utilities for reuse
|
|
4
4
|
*/
|
|
5
|
-
import {
|
|
6
|
-
import { TimeframeParams } from '
|
|
5
|
+
import type { UniversalRecordResult } from '../../types/attio.js';
|
|
6
|
+
import type { TimeframeParams } from '../../services/search-strategies/interfaces.js';
|
|
7
7
|
/**
|
|
8
8
|
* Utility functions for search operations
|
|
9
9
|
*/
|
|
@@ -12,12 +12,26 @@ export declare class SearchUtilities {
|
|
|
12
12
|
* Rank search results by relevance based on query match frequency
|
|
13
13
|
* This provides client-side relevance scoring since Attio API doesn't have native relevance ranking
|
|
14
14
|
*/
|
|
15
|
-
static rankByRelevance(results:
|
|
15
|
+
static rankByRelevance<T extends UniversalRecordResult>(results: T[], query: string, searchFields: string[]): T[];
|
|
16
|
+
/**
|
|
17
|
+
* Extract top-level field value with explicit null/undefined handling
|
|
18
|
+
*
|
|
19
|
+
* @param record - The record object to extract from
|
|
20
|
+
* @param field - The field name to extract
|
|
21
|
+
* @returns The string value if field exists at top level, null if not found
|
|
22
|
+
*/
|
|
23
|
+
private static getTopLevelFieldValue;
|
|
16
24
|
/**
|
|
17
25
|
* Helper method to extract field value from a record
|
|
18
26
|
* Issue #598: Simplified with better type safety and helper methods
|
|
27
|
+
* Issue #1068: Check top-level fields first (for lists), with explicit non-string handling
|
|
28
|
+
*
|
|
29
|
+
* Priority order:
|
|
30
|
+
* 1. Top-level string field (for lists and new format)
|
|
31
|
+
* 2. Top-level non-string field (convert to string, skip values wrapper)
|
|
32
|
+
* 3. Values wrapper field (for records in old format)
|
|
19
33
|
*/
|
|
20
|
-
static getFieldValue(record:
|
|
34
|
+
static getFieldValue(record: UniversalRecordResult, field: string): string;
|
|
21
35
|
/**
|
|
22
36
|
* Extract string value from various Attio field value structures
|
|
23
37
|
*/
|
|
@@ -32,17 +46,18 @@ export declare class SearchUtilities {
|
|
|
32
46
|
private static isFieldValueObject;
|
|
33
47
|
/**
|
|
34
48
|
* Helper method to extract field value from a list record for content search
|
|
49
|
+
* Issue #1068: Lists now have fields at top level (not wrapped in values)
|
|
35
50
|
*/
|
|
36
|
-
static getListFieldValue(list:
|
|
51
|
+
static getListFieldValue(list: UniversalRecordResult, field: string): string;
|
|
37
52
|
/**
|
|
38
53
|
* Helper method to extract field value from a task record for content search
|
|
39
54
|
*/
|
|
40
|
-
static getTaskFieldValue(task:
|
|
55
|
+
static getTaskFieldValue(task: UniversalRecordResult, field: string): string;
|
|
41
56
|
/**
|
|
42
57
|
* Helper method to extract field value from a note record for content search
|
|
43
58
|
* Issue #888: Support notes search by title and content
|
|
44
59
|
*/
|
|
45
|
-
static getNoteFieldValue(note:
|
|
60
|
+
static getNoteFieldValue(note: UniversalRecordResult, field: string): string;
|
|
46
61
|
/**
|
|
47
62
|
* Create date filter from timeframe parameters
|
|
48
63
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchUtilities.d.ts","sourceRoot":"","sources":["../../../src/services/search-utilities/SearchUtilities.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"SearchUtilities.d.ts","sourceRoot":"","sources":["../../../src/services/search-utilities/SearchUtilities.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAkBlF;;GAEG;AACH,qBAAa,eAAe;IAC1B;;;OAGG;IACH,MAAM,CAAC,eAAe,CAAC,CAAC,SAAS,qBAAqB,EACpD,OAAO,EAAE,CAAC,EAAE,EACZ,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EAAE,GACrB,CAAC,EAAE;IAwDN;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAmBpC;;;;;;;;;OASG;IACH,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAoB1E;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,2BAA2B;IAkB1C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAiBrC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAWjC;;;OAGG;IACH,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAgC5E;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAsB5E;;;OAGG;IACH,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAsB5E;;OAEG;IACH,MAAM,CAAC,gBAAgB,CACrB,eAAe,EAAE,eAAe,GAC/B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAuDjC;;OAEG;IACH,MAAM,CAAC,YAAY,CACjB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACpD,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CA+B3B"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Search utilities extracted from UniversalSearchService
|
|
3
3
|
* Issue #574: Extract shared utilities for reuse
|
|
4
4
|
*/
|
|
5
|
+
import { isAttioRecord } from '../../types/attio.js';
|
|
5
6
|
/**
|
|
6
7
|
* Utility functions for search operations
|
|
7
8
|
*/
|
|
@@ -60,12 +61,46 @@ export class SearchUtilities {
|
|
|
60
61
|
});
|
|
61
62
|
return scoredResults.map((item) => item.record);
|
|
62
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* Extract top-level field value with explicit null/undefined handling
|
|
66
|
+
*
|
|
67
|
+
* @param record - The record object to extract from
|
|
68
|
+
* @param field - The field name to extract
|
|
69
|
+
* @returns The string value if field exists at top level, null if not found
|
|
70
|
+
*/
|
|
71
|
+
static getTopLevelFieldValue(record, field) {
|
|
72
|
+
const topLevelValue = record[field];
|
|
73
|
+
// Explicitly handle non-string top-level values
|
|
74
|
+
if (topLevelValue !== undefined && topLevelValue !== null) {
|
|
75
|
+
if (typeof topLevelValue === 'string') {
|
|
76
|
+
return topLevelValue;
|
|
77
|
+
}
|
|
78
|
+
// Top-level exists but isn't a string - convert to string, skip values wrapper
|
|
79
|
+
// This prevents unintended fallback to values wrapper when top-level field exists
|
|
80
|
+
return String(topLevelValue);
|
|
81
|
+
}
|
|
82
|
+
return null; // Field not found at top level
|
|
83
|
+
}
|
|
63
84
|
/**
|
|
64
85
|
* Helper method to extract field value from a record
|
|
65
86
|
* Issue #598: Simplified with better type safety and helper methods
|
|
87
|
+
* Issue #1068: Check top-level fields first (for lists), with explicit non-string handling
|
|
88
|
+
*
|
|
89
|
+
* Priority order:
|
|
90
|
+
* 1. Top-level string field (for lists and new format)
|
|
91
|
+
* 2. Top-level non-string field (convert to string, skip values wrapper)
|
|
92
|
+
* 3. Values wrapper field (for records in old format)
|
|
66
93
|
*/
|
|
67
94
|
static getFieldValue(record, field) {
|
|
68
|
-
|
|
95
|
+
// Try top-level fields first (for lists and new format)
|
|
96
|
+
const topLevelValue = this.getTopLevelFieldValue(record, field);
|
|
97
|
+
if (topLevelValue !== null) {
|
|
98
|
+
return topLevelValue;
|
|
99
|
+
}
|
|
100
|
+
// No top-level field - check in values wrapper (for other record types)
|
|
101
|
+
const values = isAttioRecord(record)
|
|
102
|
+
? record.values
|
|
103
|
+
: undefined;
|
|
69
104
|
if (!values)
|
|
70
105
|
return '';
|
|
71
106
|
const fieldValue = values[field];
|
|
@@ -112,9 +147,18 @@ export class SearchUtilities {
|
|
|
112
147
|
}
|
|
113
148
|
/**
|
|
114
149
|
* Helper method to extract field value from a list record for content search
|
|
150
|
+
* Issue #1068: Lists now have fields at top level (not wrapped in values)
|
|
115
151
|
*/
|
|
116
152
|
static getListFieldValue(list, field) {
|
|
117
|
-
|
|
153
|
+
// Try top-level field first (new format) - uses shared helper for consistency
|
|
154
|
+
const topLevelValue = this.getTopLevelFieldValue(list, field);
|
|
155
|
+
if (topLevelValue !== null) {
|
|
156
|
+
return topLevelValue;
|
|
157
|
+
}
|
|
158
|
+
// Fall back to values wrapper for backwards compatibility (old format)
|
|
159
|
+
const values = isAttioRecord(list)
|
|
160
|
+
? list.values
|
|
161
|
+
: undefined;
|
|
118
162
|
if (!values)
|
|
119
163
|
return '';
|
|
120
164
|
const fieldValue = values[field];
|
|
@@ -133,7 +177,9 @@ export class SearchUtilities {
|
|
|
133
177
|
* Helper method to extract field value from a task record for content search
|
|
134
178
|
*/
|
|
135
179
|
static getTaskFieldValue(task, field) {
|
|
136
|
-
const values = task
|
|
180
|
+
const values = isAttioRecord(task)
|
|
181
|
+
? task.values
|
|
182
|
+
: undefined;
|
|
137
183
|
if (!values)
|
|
138
184
|
return '';
|
|
139
185
|
const fieldValue = values[field];
|
|
@@ -153,7 +199,9 @@ export class SearchUtilities {
|
|
|
153
199
|
* Issue #888: Support notes search by title and content
|
|
154
200
|
*/
|
|
155
201
|
static getNoteFieldValue(note, field) {
|
|
156
|
-
const values = note
|
|
202
|
+
const values = isAttioRecord(note)
|
|
203
|
+
? note.values
|
|
204
|
+
: undefined;
|
|
157
205
|
if (!values)
|
|
158
206
|
return '';
|
|
159
207
|
const fieldValue = values[field];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchUtilities.js","sourceRoot":"","sources":["../../../src/services/search-utilities/SearchUtilities.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"SearchUtilities.js","sourceRoot":"","sources":["../../../src/services/search-utilities/SearchUtilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Service for writing formatted output to disk
|
|
3
|
+
*
|
|
4
|
+
* Handles file I/O operations including:
|
|
5
|
+
* - Creating directory structures
|
|
6
|
+
* - Writing files to disk
|
|
7
|
+
* - Creating ZIP archives
|
|
8
|
+
* - Path validation (security)
|
|
9
|
+
*
|
|
10
|
+
* @see Issue #983
|
|
11
|
+
*/
|
|
12
|
+
import type { FormattedOutput, GenerateSkillConfig, SkillOutput } from './types.js';
|
|
13
|
+
/**
|
|
14
|
+
* Service for writing skill output to disk
|
|
15
|
+
*/
|
|
16
|
+
export declare class OutputWriterService {
|
|
17
|
+
/**
|
|
18
|
+
* Writes formatted output to disk
|
|
19
|
+
*
|
|
20
|
+
* @param formatted - Formatted output from SchemaFormatterService
|
|
21
|
+
* @param config - Generation configuration
|
|
22
|
+
* @returns Information about written files
|
|
23
|
+
*/
|
|
24
|
+
write(formatted: FormattedOutput, config: GenerateSkillConfig): Promise<SkillOutput>;
|
|
25
|
+
/**
|
|
26
|
+
* Creates ZIP archive of output files
|
|
27
|
+
*
|
|
28
|
+
* @param basePath - Base directory path
|
|
29
|
+
* @param files - Map of relative paths to file contents
|
|
30
|
+
*/
|
|
31
|
+
private createZip;
|
|
32
|
+
/**
|
|
33
|
+
* Resolves and validates output path
|
|
34
|
+
*
|
|
35
|
+
* @param config - Generation configuration
|
|
36
|
+
* @returns Absolute output path
|
|
37
|
+
* @throws Error if path validation fails (directory traversal attempt)
|
|
38
|
+
*/
|
|
39
|
+
private resolveOutputPath;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=OutputWriterService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OutputWriterService.d.ts","sourceRoot":"","sources":["../../../src/services/skill-generator/OutputWriterService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACnB,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,qBAAa,mBAAmB;IAC9B;;;;;;OAMG;IACG,KAAK,CACT,SAAS,EAAE,eAAe,EAC1B,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,WAAW,CAAC;IAiCvB;;;;;OAKG;YACW,SAAS;IAqBvB;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;CA4B1B"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Service for writing formatted output to disk
|
|
3
|
+
*
|
|
4
|
+
* Handles file I/O operations including:
|
|
5
|
+
* - Creating directory structures
|
|
6
|
+
* - Writing files to disk
|
|
7
|
+
* - Creating ZIP archives
|
|
8
|
+
* - Path validation (security)
|
|
9
|
+
*
|
|
10
|
+
* @see Issue #983
|
|
11
|
+
*/
|
|
12
|
+
import * as fs from 'fs/promises';
|
|
13
|
+
import * as path from 'path';
|
|
14
|
+
import { zipSync, strToU8 } from 'fflate';
|
|
15
|
+
/**
|
|
16
|
+
* Service for writing skill output to disk
|
|
17
|
+
*/
|
|
18
|
+
export class OutputWriterService {
|
|
19
|
+
/**
|
|
20
|
+
* Writes formatted output to disk
|
|
21
|
+
*
|
|
22
|
+
* @param formatted - Formatted output from SchemaFormatterService
|
|
23
|
+
* @param config - Generation configuration
|
|
24
|
+
* @returns Information about written files
|
|
25
|
+
*/
|
|
26
|
+
async write(formatted, config) {
|
|
27
|
+
const outputPath = this.resolveOutputPath(config);
|
|
28
|
+
// Create output directory
|
|
29
|
+
await fs.mkdir(outputPath, { recursive: true });
|
|
30
|
+
// Write all files
|
|
31
|
+
const writtenFiles = [];
|
|
32
|
+
for (const [relativePath, content] of Object.entries(formatted.files)) {
|
|
33
|
+
const fullPath = path.join(outputPath, relativePath);
|
|
34
|
+
const dir = path.dirname(fullPath);
|
|
35
|
+
// Ensure directory exists
|
|
36
|
+
await fs.mkdir(dir, { recursive: true });
|
|
37
|
+
// Write file
|
|
38
|
+
await fs.writeFile(fullPath, content, 'utf8');
|
|
39
|
+
writtenFiles.push(relativePath);
|
|
40
|
+
}
|
|
41
|
+
// Create ZIP if requested
|
|
42
|
+
if (config.zip) {
|
|
43
|
+
await this.createZip(outputPath, formatted.files);
|
|
44
|
+
writtenFiles.push(`${path.basename(outputPath)}.zip`);
|
|
45
|
+
}
|
|
46
|
+
return {
|
|
47
|
+
format: formatted.format,
|
|
48
|
+
path: outputPath,
|
|
49
|
+
files: writtenFiles,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Creates ZIP archive of output files
|
|
54
|
+
*
|
|
55
|
+
* @param basePath - Base directory path
|
|
56
|
+
* @param files - Map of relative paths to file contents
|
|
57
|
+
*/
|
|
58
|
+
async createZip(basePath, files) {
|
|
59
|
+
// Convert files to fflate format (Uint8Array)
|
|
60
|
+
const fileMap = {};
|
|
61
|
+
for (const [relativePath, content] of Object.entries(files)) {
|
|
62
|
+
fileMap[relativePath] = strToU8(content);
|
|
63
|
+
}
|
|
64
|
+
// Create ZIP
|
|
65
|
+
const zipped = zipSync(fileMap, {
|
|
66
|
+
level: 6, // Compression level (0-9, 6 is default)
|
|
67
|
+
});
|
|
68
|
+
// Write ZIP file
|
|
69
|
+
const zipPath = `${basePath}.zip`;
|
|
70
|
+
await fs.writeFile(zipPath, zipped);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Resolves and validates output path
|
|
74
|
+
*
|
|
75
|
+
* @param config - Generation configuration
|
|
76
|
+
* @returns Absolute output path
|
|
77
|
+
* @throws Error if path validation fails (directory traversal attempt)
|
|
78
|
+
*/
|
|
79
|
+
resolveOutputPath(config) {
|
|
80
|
+
// Determine base name based on format
|
|
81
|
+
const baseName = config.format === 'skill'
|
|
82
|
+
? 'attio-workspace-skill'
|
|
83
|
+
: `attio-workspace-schema-${config.format}`;
|
|
84
|
+
// Resolve absolute paths
|
|
85
|
+
const outputDirResolved = path.resolve(config.outputDir);
|
|
86
|
+
const currentWorkingDir = process.cwd();
|
|
87
|
+
// Security: Prevent directory traversal attacks
|
|
88
|
+
// Check if outputDir attempts to escape the current working directory
|
|
89
|
+
const normalized = path.normalize(outputDirResolved);
|
|
90
|
+
// Only allow output within current working directory or subdirectories
|
|
91
|
+
if (!normalized.startsWith(currentWorkingDir)) {
|
|
92
|
+
throw new Error('Invalid output path: directory traversal detected. ' +
|
|
93
|
+
`Output directory must be within current working directory: ${currentWorkingDir}`);
|
|
94
|
+
}
|
|
95
|
+
// Construct final output path
|
|
96
|
+
const outputPath = path.join(outputDirResolved, baseName);
|
|
97
|
+
return outputPath;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=OutputWriterService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OutputWriterService.js","sourceRoot":"","sources":["../../../src/services/skill-generator/OutputWriterService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Service for formatting workspace schemas into various output formats
|
|
3
|
+
*
|
|
4
|
+
* Uses Handlebars templates to transform WorkspaceSchema objects into:
|
|
5
|
+
* - Claude Skills (SKILL.md + resources/)
|
|
6
|
+
* - Plain Markdown (single file)
|
|
7
|
+
* - JSON (machine-readable)
|
|
8
|
+
*
|
|
9
|
+
* @see Issue #983
|
|
10
|
+
*/
|
|
11
|
+
import type { WorkspaceSchema, FormattedOutput } from './types.js';
|
|
12
|
+
/**
|
|
13
|
+
* Service for formatting workspace schemas into various output formats
|
|
14
|
+
*/
|
|
15
|
+
export declare class SchemaFormatterService {
|
|
16
|
+
private templates;
|
|
17
|
+
private helpersRegistered;
|
|
18
|
+
constructor();
|
|
19
|
+
/**
|
|
20
|
+
* Formats schema to specified output format
|
|
21
|
+
*
|
|
22
|
+
* @param schema - Complete workspace schema
|
|
23
|
+
* @param format - Output format (skill, markdown, json)
|
|
24
|
+
* @returns Formatted output ready for writing
|
|
25
|
+
*/
|
|
26
|
+
format(schema: WorkspaceSchema, format: 'skill' | 'markdown' | 'json'): Promise<FormattedOutput>;
|
|
27
|
+
/**
|
|
28
|
+
* Formats as Claude Skill with SKILL.md + resources/
|
|
29
|
+
*
|
|
30
|
+
* @param schema - Workspace schema
|
|
31
|
+
* @returns Skill files ready for writing
|
|
32
|
+
*/
|
|
33
|
+
private formatAsSkill;
|
|
34
|
+
/**
|
|
35
|
+
* Formats as single markdown file (all-in-one)
|
|
36
|
+
*
|
|
37
|
+
* @param schema - Workspace schema
|
|
38
|
+
* @returns Single markdown file
|
|
39
|
+
*/
|
|
40
|
+
private formatAsMarkdown;
|
|
41
|
+
/**
|
|
42
|
+
* Formats as JSON (machine-readable)
|
|
43
|
+
*
|
|
44
|
+
* @param schema - Workspace schema
|
|
45
|
+
* @returns JSON representation
|
|
46
|
+
*/
|
|
47
|
+
private formatAsJSON;
|
|
48
|
+
/**
|
|
49
|
+
* Renders a template with the given data
|
|
50
|
+
*
|
|
51
|
+
* @param templateName - Template filename
|
|
52
|
+
* @param data - Data to pass to template
|
|
53
|
+
* @returns Rendered template string
|
|
54
|
+
*/
|
|
55
|
+
private renderTemplate;
|
|
56
|
+
/**
|
|
57
|
+
* Registers custom Handlebars helpers
|
|
58
|
+
*/
|
|
59
|
+
private registerHelpers;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=SchemaFormatterService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaFormatterService.d.ts","sourceRoot":"","sources":["../../../src/services/skill-generator/SchemaFormatterService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAMnE;;GAEG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,SAAS,CAAsD;IACvE,OAAO,CAAC,iBAAiB,CAAS;;IAMlC;;;;;;OAMG;IACG,MAAM,CACV,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,OAAO,GAAG,UAAU,GAAG,MAAM,GACpC,OAAO,CAAC,eAAe,CAAC;IAa3B;;;;;OAKG;YACW,aAAa;IAsD3B;;;;;OAKG;YACW,gBAAgB;IAyB9B;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IASpB;;;;;;OAMG;YACW,cAAc;IA+B5B;;OAEG;IACH,OAAO,CAAC,eAAe;CAsBxB"}
|