attio-mcp 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +62 -0
- package/LICENSE +236 -0
- package/README.md +105 -0
- package/dist/api/attio-client.d.ts +25 -0
- package/dist/api/attio-client.d.ts.map +1 -0
- package/dist/api/attio-client.js +64 -0
- package/dist/api/attio-client.js.map +1 -0
- package/dist/api/attribute-types.d.ts +119 -0
- package/dist/api/attribute-types.d.ts.map +1 -0
- package/dist/api/attribute-types.js +320 -0
- package/dist/api/attribute-types.js.map +1 -0
- package/dist/api/client.d.ts +3 -0
- package/dist/api/client.d.ts.map +1 -0
- package/dist/api/client.js +61 -0
- package/dist/api/client.js.map +1 -0
- package/dist/api/operations/batch.d.ts +55 -0
- package/dist/api/operations/batch.d.ts.map +1 -0
- package/dist/api/operations/batch.js +176 -0
- package/dist/api/operations/batch.js.map +1 -0
- package/dist/api/operations/crud.d.ts +61 -0
- package/dist/api/operations/crud.d.ts.map +1 -0
- package/dist/api/operations/crud.js +192 -0
- package/dist/api/operations/crud.js.map +1 -0
- package/dist/api/operations/index.d.ts +14 -0
- package/dist/api/operations/index.d.ts.map +1 -0
- package/dist/api/operations/index.js +18 -0
- package/dist/api/operations/index.js.map +1 -0
- package/dist/api/operations/lists.d.ts +66 -0
- package/dist/api/operations/lists.d.ts.map +1 -0
- package/dist/api/operations/lists.js +300 -0
- package/dist/api/operations/lists.js.map +1 -0
- package/dist/api/operations/notes.d.ts +29 -0
- package/dist/api/operations/notes.d.ts.map +1 -0
- package/dist/api/operations/notes.js +63 -0
- package/dist/api/operations/notes.js.map +1 -0
- package/dist/api/operations/retry.d.ts +48 -0
- package/dist/api/operations/retry.d.ts.map +1 -0
- package/dist/api/operations/retry.js +98 -0
- package/dist/api/operations/retry.js.map +1 -0
- package/dist/api/operations/search.d.ts +37 -0
- package/dist/api/operations/search.d.ts.map +1 -0
- package/dist/api/operations/search.js +186 -0
- package/dist/api/operations/search.js.map +1 -0
- package/dist/api/operations/tasks.d.ts +20 -0
- package/dist/api/operations/tasks.d.ts.map +1 -0
- package/dist/api/operations/tasks.js +87 -0
- package/dist/api/operations/tasks.js.map +1 -0
- package/dist/api/operations/types.d.ts +61 -0
- package/dist/api/operations/types.d.ts.map +1 -0
- package/dist/api/operations/types.js +10 -0
- package/dist/api/operations/types.js.map +1 -0
- package/dist/cli/commands/attributes.d.ts +34 -0
- package/dist/cli/commands/attributes.d.ts.map +1 -0
- package/dist/cli/commands/attributes.js +171 -0
- package/dist/cli/commands/attributes.js.map +1 -0
- package/dist/cli/discover.d.ts +3 -0
- package/dist/cli/discover.d.ts.map +1 -0
- package/dist/cli/discover.js +72 -0
- package/dist/cli/discover.js.map +1 -0
- package/dist/errors/api-errors.d.ts +191 -0
- package/dist/errors/api-errors.d.ts.map +1 -0
- package/dist/errors/api-errors.js +305 -0
- package/dist/errors/api-errors.js.map +1 -0
- package/dist/errors/company-errors.d.ts +40 -0
- package/dist/errors/company-errors.d.ts.map +1 -0
- package/dist/errors/company-errors.js +62 -0
- package/dist/errors/company-errors.js.map +1 -0
- package/dist/errors/value-match-error.d.ts +15 -0
- package/dist/errors/value-match-error.d.ts.map +1 -0
- package/dist/errors/value-match-error.js +40 -0
- package/dist/errors/value-match-error.js.map +1 -0
- package/dist/handlers/error-interceptor.d.ts +6 -0
- package/dist/handlers/error-interceptor.d.ts.map +1 -0
- package/dist/handlers/error-interceptor.js +17 -0
- package/dist/handlers/error-interceptor.js.map +1 -0
- package/dist/handlers/rate-limited-handler.d.ts +17 -0
- package/dist/handlers/rate-limited-handler.d.ts.map +1 -0
- package/dist/handlers/rate-limited-handler.js +126 -0
- package/dist/handlers/rate-limited-handler.js.map +1 -0
- package/dist/handlers/resources.d.ts +11 -0
- package/dist/handlers/resources.d.ts.map +1 -0
- package/dist/handlers/resources.js +109 -0
- package/dist/handlers/resources.js.map +1 -0
- package/dist/handlers/tool-configs/companies/attributes.d.ts +85 -0
- package/dist/handlers/tool-configs/companies/attributes.d.ts.map +1 -0
- package/dist/handlers/tool-configs/companies/attributes.js +203 -0
- package/dist/handlers/tool-configs/companies/attributes.js.map +1 -0
- package/dist/handlers/tool-configs/companies/batch.d.ts +145 -0
- package/dist/handlers/tool-configs/companies/batch.d.ts.map +1 -0
- package/dist/handlers/tool-configs/companies/batch.js +249 -0
- package/dist/handlers/tool-configs/companies/batch.js.map +1 -0
- package/dist/handlers/tool-configs/companies/crud.d.ts +103 -0
- package/dist/handlers/tool-configs/companies/crud.d.ts.map +1 -0
- package/dist/handlers/tool-configs/companies/crud.js +157 -0
- package/dist/handlers/tool-configs/companies/crud.js.map +1 -0
- package/dist/handlers/tool-configs/companies/definitions.d.ts +5 -0
- package/dist/handlers/tool-configs/companies/definitions.d.ts.map +1 -0
- package/dist/handlers/tool-configs/companies/definitions.js +9 -0
- package/dist/handlers/tool-configs/companies/definitions.js.map +1 -0
- package/dist/handlers/tool-configs/companies/formatters.d.ts +42 -0
- package/dist/handlers/tool-configs/companies/formatters.d.ts.map +1 -0
- package/dist/handlers/tool-configs/companies/formatters.js +324 -0
- package/dist/handlers/tool-configs/companies/formatters.js.map +1 -0
- package/dist/handlers/tool-configs/companies/index.d.ts +642 -0
- package/dist/handlers/tool-configs/companies/index.d.ts.map +1 -0
- package/dist/handlers/tool-configs/companies/index.js +86 -0
- package/dist/handlers/tool-configs/companies/index.js.map +1 -0
- package/dist/handlers/tool-configs/companies/notes.d.ts +61 -0
- package/dist/handlers/tool-configs/companies/notes.d.ts.map +1 -0
- package/dist/handlers/tool-configs/companies/notes.js +109 -0
- package/dist/handlers/tool-configs/companies/notes.js.map +1 -0
- package/dist/handlers/tool-configs/companies/relationships.d.ts +137 -0
- package/dist/handlers/tool-configs/companies/relationships.d.ts.map +1 -0
- package/dist/handlers/tool-configs/companies/relationships.js +163 -0
- package/dist/handlers/tool-configs/companies/relationships.js.map +1 -0
- package/dist/handlers/tool-configs/companies/search.d.ts +101 -0
- package/dist/handlers/tool-configs/companies/search.d.ts.map +1 -0
- package/dist/handlers/tool-configs/companies/search.js +163 -0
- package/dist/handlers/tool-configs/companies/search.js.map +1 -0
- package/dist/handlers/tool-configs/companies/types.d.ts +6 -0
- package/dist/handlers/tool-configs/companies/types.d.ts.map +1 -0
- package/dist/handlers/tool-configs/companies/types.js +2 -0
- package/dist/handlers/tool-configs/companies/types.js.map +1 -0
- package/dist/handlers/tool-configs/index.d.ts +12 -0
- package/dist/handlers/tool-configs/index.d.ts.map +1 -0
- package/dist/handlers/tool-configs/index.js +12 -0
- package/dist/handlers/tool-configs/index.js.map +1 -0
- package/dist/handlers/tool-configs/lists.d.ts +459 -0
- package/dist/handlers/tool-configs/lists.d.ts.map +1 -0
- package/dist/handlers/tool-configs/lists.js +597 -0
- package/dist/handlers/tool-configs/lists.js.map +1 -0
- package/dist/handlers/tool-configs/paginated-people.d.ts +197 -0
- package/dist/handlers/tool-configs/paginated-people.d.ts.map +1 -0
- package/dist/handlers/tool-configs/paginated-people.js +256 -0
- package/dist/handlers/tool-configs/paginated-people.js.map +1 -0
- package/dist/handlers/tool-configs/people/activity-search.d.ts +98 -0
- package/dist/handlers/tool-configs/people/activity-search.d.ts.map +1 -0
- package/dist/handlers/tool-configs/people/activity-search.js +113 -0
- package/dist/handlers/tool-configs/people/activity-search.js.map +1 -0
- package/dist/handlers/tool-configs/people/advanced-search.d.ts +62 -0
- package/dist/handlers/tool-configs/people/advanced-search.d.ts.map +1 -0
- package/dist/handlers/tool-configs/people/advanced-search.js +74 -0
- package/dist/handlers/tool-configs/people/advanced-search.js.map +1 -0
- package/dist/handlers/tool-configs/people/crud.d.ts +63 -0
- package/dist/handlers/tool-configs/people/crud.d.ts.map +1 -0
- package/dist/handlers/tool-configs/people/crud.js +71 -0
- package/dist/handlers/tool-configs/people/crud.js.map +1 -0
- package/dist/handlers/tool-configs/people/date-search.d.ts +42 -0
- package/dist/handlers/tool-configs/people/date-search.d.ts.map +1 -0
- package/dist/handlers/tool-configs/people/date-search.js +93 -0
- package/dist/handlers/tool-configs/people/date-search.js.map +1 -0
- package/dist/handlers/tool-configs/people/formatters.d.ts +19 -0
- package/dist/handlers/tool-configs/people/formatters.d.ts.map +1 -0
- package/dist/handlers/tool-configs/people/formatters.js +98 -0
- package/dist/handlers/tool-configs/people/formatters.js.map +1 -0
- package/dist/handlers/tool-configs/people/index.d.ts +407 -0
- package/dist/handlers/tool-configs/people/index.d.ts.map +1 -0
- package/dist/handlers/tool-configs/people/index.js +30 -0
- package/dist/handlers/tool-configs/people/index.js.map +1 -0
- package/dist/handlers/tool-configs/people/notes.d.ts +38 -0
- package/dist/handlers/tool-configs/people/notes.d.ts.map +1 -0
- package/dist/handlers/tool-configs/people/notes.js +57 -0
- package/dist/handlers/tool-configs/people/notes.js.map +1 -0
- package/dist/handlers/tool-configs/people/relationships.d.ts +112 -0
- package/dist/handlers/tool-configs/people/relationships.d.ts.map +1 -0
- package/dist/handlers/tool-configs/people/relationships.js +173 -0
- package/dist/handlers/tool-configs/people/relationships.js.map +1 -0
- package/dist/handlers/tool-configs/people/search.d.ts +53 -0
- package/dist/handlers/tool-configs/people/search.d.ts.map +1 -0
- package/dist/handlers/tool-configs/people/search.js +61 -0
- package/dist/handlers/tool-configs/people/search.js.map +1 -0
- package/dist/handlers/tool-configs/people-fix-complete.d.ts +6 -0
- package/dist/handlers/tool-configs/people-fix-complete.d.ts.map +1 -0
- package/dist/handlers/tool-configs/people-fix-complete.js +76 -0
- package/dist/handlers/tool-configs/people-fix-complete.js.map +1 -0
- package/dist/handlers/tool-configs/people-fixed.d.ts +12 -0
- package/dist/handlers/tool-configs/people-fixed.d.ts.map +1 -0
- package/dist/handlers/tool-configs/people-fixed.js +58 -0
- package/dist/handlers/tool-configs/people-fixed.js.map +1 -0
- package/dist/handlers/tool-configs/people-types.d.ts +32 -0
- package/dist/handlers/tool-configs/people-types.d.ts.map +1 -0
- package/dist/handlers/tool-configs/people-types.js +5 -0
- package/dist/handlers/tool-configs/people-types.js.map +1 -0
- package/dist/handlers/tool-configs/people.d.ts +599 -0
- package/dist/handlers/tool-configs/people.d.ts.map +1 -0
- package/dist/handlers/tool-configs/people.js +817 -0
- package/dist/handlers/tool-configs/people.js.map +1 -0
- package/dist/handlers/tool-configs/prompts.d.ts +69 -0
- package/dist/handlers/tool-configs/prompts.d.ts.map +1 -0
- package/dist/handlers/tool-configs/prompts.js +90 -0
- package/dist/handlers/tool-configs/prompts.js.map +1 -0
- package/dist/handlers/tool-configs/rate-limited-people.d.ts +203 -0
- package/dist/handlers/tool-configs/rate-limited-people.d.ts.map +1 -0
- package/dist/handlers/tool-configs/rate-limited-people.js +44 -0
- package/dist/handlers/tool-configs/rate-limited-people.js.map +1 -0
- package/dist/handlers/tool-configs/records/index.d.ts +282 -0
- package/dist/handlers/tool-configs/records/index.d.ts.map +1 -0
- package/dist/handlers/tool-configs/records/index.js +277 -0
- package/dist/handlers/tool-configs/records/index.js.map +1 -0
- package/dist/handlers/tool-configs/records.d.ts +282 -0
- package/dist/handlers/tool-configs/records.d.ts.map +1 -0
- package/dist/handlers/tool-configs/records.js +277 -0
- package/dist/handlers/tool-configs/records.js.map +1 -0
- package/dist/handlers/tool-configs/resource-specific-tools.d.ts +15 -0
- package/dist/handlers/tool-configs/resource-specific-tools.d.ts.map +1 -0
- package/dist/handlers/tool-configs/resource-specific-tools.js +33 -0
- package/dist/handlers/tool-configs/resource-specific-tools.js.map +1 -0
- package/dist/handlers/tool-configs/tasks.d.ts +127 -0
- package/dist/handlers/tool-configs/tasks.d.ts.map +1 -0
- package/dist/handlers/tool-configs/tasks.js +95 -0
- package/dist/handlers/tool-configs/tasks.js.map +1 -0
- package/dist/handlers/tool-types.d.ts +47 -0
- package/dist/handlers/tool-types.d.ts.map +1 -0
- package/dist/handlers/tool-types.js +2 -0
- package/dist/handlers/tool-types.js.map +1 -0
- package/dist/handlers/tools/config-verifier.d.ts +27 -0
- package/dist/handlers/tools/config-verifier.d.ts.map +1 -0
- package/dist/handlers/tools/config-verifier.js +108 -0
- package/dist/handlers/tools/config-verifier.js.map +1 -0
- package/dist/handlers/tools/dispatcher/core.d.ts +12 -0
- package/dist/handlers/tools/dispatcher/core.d.ts.map +1 -0
- package/dist/handlers/tools/dispatcher/core.js +276 -0
- package/dist/handlers/tools/dispatcher/core.js.map +1 -0
- package/dist/handlers/tools/dispatcher/formatting.d.ts +17 -0
- package/dist/handlers/tools/dispatcher/formatting.d.ts.map +1 -0
- package/dist/handlers/tools/dispatcher/formatting.js +25 -0
- package/dist/handlers/tools/dispatcher/formatting.js.map +1 -0
- package/dist/handlers/tools/dispatcher/logging.d.ts +63 -0
- package/dist/handlers/tools/dispatcher/logging.d.ts.map +1 -0
- package/dist/handlers/tools/dispatcher/logging.js +108 -0
- package/dist/handlers/tools/dispatcher/logging.js.map +1 -0
- package/dist/handlers/tools/dispatcher/operations/batch.d.ts +29 -0
- package/dist/handlers/tools/dispatcher/operations/batch.d.ts.map +1 -0
- package/dist/handlers/tools/dispatcher/operations/batch.js +137 -0
- package/dist/handlers/tools/dispatcher/operations/batch.js.map +1 -0
- package/dist/handlers/tools/dispatcher/operations/crud.d.ts +25 -0
- package/dist/handlers/tools/dispatcher/operations/crud.d.ts.map +1 -0
- package/dist/handlers/tools/dispatcher/operations/crud.js +110 -0
- package/dist/handlers/tools/dispatcher/operations/crud.js.map +1 -0
- package/dist/handlers/tools/dispatcher/operations/details.d.ts +13 -0
- package/dist/handlers/tools/dispatcher/operations/details.d.ts.map +1 -0
- package/dist/handlers/tools/dispatcher/operations/details.js +52 -0
- package/dist/handlers/tools/dispatcher/operations/details.js.map +1 -0
- package/dist/handlers/tools/dispatcher/operations/info.d.ts +25 -0
- package/dist/handlers/tools/dispatcher/operations/info.d.ts.map +1 -0
- package/dist/handlers/tools/dispatcher/operations/info.js +82 -0
- package/dist/handlers/tools/dispatcher/operations/info.js.map +1 -0
- package/dist/handlers/tools/dispatcher/operations/lists.d.ts +62 -0
- package/dist/handlers/tools/dispatcher/operations/lists.d.ts.map +1 -0
- package/dist/handlers/tools/dispatcher/operations/lists.js +283 -0
- package/dist/handlers/tools/dispatcher/operations/lists.js.map +1 -0
- package/dist/handlers/tools/dispatcher/operations/notes.d.ts +17 -0
- package/dist/handlers/tools/dispatcher/operations/notes.d.ts.map +1 -0
- package/dist/handlers/tools/dispatcher/operations/notes.js +102 -0
- package/dist/handlers/tools/dispatcher/operations/notes.js.map +1 -0
- package/dist/handlers/tools/dispatcher/operations/search.d.ts +43 -0
- package/dist/handlers/tools/dispatcher/operations/search.d.ts.map +1 -0
- package/dist/handlers/tools/dispatcher/operations/search.js +190 -0
- package/dist/handlers/tools/dispatcher/operations/search.js.map +1 -0
- package/dist/handlers/tools/dispatcher/validation.d.ts +27 -0
- package/dist/handlers/tools/dispatcher/validation.d.ts.map +1 -0
- package/dist/handlers/tools/dispatcher/validation.js +47 -0
- package/dist/handlers/tools/dispatcher/validation.js.map +1 -0
- package/dist/handlers/tools/dispatcher.d.ts +11 -0
- package/dist/handlers/tools/dispatcher.d.ts.map +1 -0
- package/dist/handlers/tools/dispatcher.js +15 -0
- package/dist/handlers/tools/dispatcher.js.map +1 -0
- package/dist/handlers/tools/error-types.d.ts +33 -0
- package/dist/handlers/tools/error-types.d.ts.map +1 -0
- package/dist/handlers/tools/error-types.js +21 -0
- package/dist/handlers/tools/error-types.js.map +1 -0
- package/dist/handlers/tools/formatters.d.ts +43 -0
- package/dist/handlers/tools/formatters.d.ts.map +1 -0
- package/dist/handlers/tools/formatters.js +170 -0
- package/dist/handlers/tools/formatters.js.map +1 -0
- package/dist/handlers/tools/index.d.ts +15 -0
- package/dist/handlers/tools/index.d.ts.map +1 -0
- package/dist/handlers/tools/index.js +34 -0
- package/dist/handlers/tools/index.js.map +1 -0
- package/dist/handlers/tools/registry.d.ts +1874 -0
- package/dist/handlers/tools/registry.d.ts.map +1 -0
- package/dist/handlers/tools/registry.js +103 -0
- package/dist/handlers/tools/registry.js.map +1 -0
- package/dist/health/http-server.d.ts +24 -0
- package/dist/health/http-server.d.ts.map +1 -0
- package/dist/health/http-server.js +106 -0
- package/dist/health/http-server.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +238 -0
- package/dist/index.js.map +1 -0
- package/dist/objects/base-operations.d.ts +41 -0
- package/dist/objects/base-operations.d.ts.map +1 -0
- package/dist/objects/base-operations.js +116 -0
- package/dist/objects/base-operations.js.map +1 -0
- package/dist/objects/batch-companies.d.ts +112 -0
- package/dist/objects/batch-companies.d.ts.map +1 -0
- package/dist/objects/batch-companies.js +347 -0
- package/dist/objects/batch-companies.js.map +1 -0
- package/dist/objects/companies/attributes.d.ts +83 -0
- package/dist/objects/companies/attributes.d.ts.map +1 -0
- package/dist/objects/companies/attributes.js +426 -0
- package/dist/objects/companies/attributes.js.map +1 -0
- package/dist/objects/companies/basic.d.ts +117 -0
- package/dist/objects/companies/basic.d.ts.map +1 -0
- package/dist/objects/companies/basic.js +367 -0
- package/dist/objects/companies/basic.js.map +1 -0
- package/dist/objects/companies/batch.d.ts +6 -0
- package/dist/objects/companies/batch.d.ts.map +1 -0
- package/dist/objects/companies/batch.js +6 -0
- package/dist/objects/companies/batch.js.map +1 -0
- package/dist/objects/companies/index.d.ts +13 -0
- package/dist/objects/companies/index.d.ts.map +1 -0
- package/dist/objects/companies/index.js +17 -0
- package/dist/objects/companies/index.js.map +1 -0
- package/dist/objects/companies/notes.d.ts +26 -0
- package/dist/objects/companies/notes.d.ts.map +1 -0
- package/dist/objects/companies/notes.js +199 -0
- package/dist/objects/companies/notes.js.map +1 -0
- package/dist/objects/companies/relationships.d.ts +41 -0
- package/dist/objects/companies/relationships.d.ts.map +1 -0
- package/dist/objects/companies/relationships.js +142 -0
- package/dist/objects/companies/relationships.js.map +1 -0
- package/dist/objects/companies/search.d.ts +158 -0
- package/dist/objects/companies/search.d.ts.map +1 -0
- package/dist/objects/companies/search.js +463 -0
- package/dist/objects/companies/search.js.map +1 -0
- package/dist/objects/companies/types.d.ts +27 -0
- package/dist/objects/companies/types.d.ts.map +1 -0
- package/dist/objects/companies/types.js +3 -0
- package/dist/objects/companies/types.js.map +1 -0
- package/dist/objects/lists.d.ts +148 -0
- package/dist/objects/lists.d.ts.map +1 -0
- package/dist/objects/lists.js +586 -0
- package/dist/objects/lists.js.map +1 -0
- package/dist/objects/paginated-people.d.ts +50 -0
- package/dist/objects/paginated-people.d.ts.map +1 -0
- package/dist/objects/paginated-people.js +171 -0
- package/dist/objects/paginated-people.js.map +1 -0
- package/dist/objects/people/basic.d.ts +90 -0
- package/dist/objects/people/basic.d.ts.map +1 -0
- package/dist/objects/people/basic.js +157 -0
- package/dist/objects/people/basic.js.map +1 -0
- package/dist/objects/people/batch.d.ts +24 -0
- package/dist/objects/people/batch.d.ts.map +1 -0
- package/dist/objects/people/batch.js +145 -0
- package/dist/objects/people/batch.js.map +1 -0
- package/dist/objects/people/index.d.ts +11 -0
- package/dist/objects/people/index.d.ts.map +1 -0
- package/dist/objects/people/index.js +17 -0
- package/dist/objects/people/index.js.map +1 -0
- package/dist/objects/people/notes.d.ts +20 -0
- package/dist/objects/people/notes.d.ts.map +1 -0
- package/dist/objects/people/notes.js +60 -0
- package/dist/objects/people/notes.js.map +1 -0
- package/dist/objects/people/relationships.d.ts +23 -0
- package/dist/objects/people/relationships.d.ts.map +1 -0
- package/dist/objects/people/relationships.js +116 -0
- package/dist/objects/people/relationships.js.map +1 -0
- package/dist/objects/people/search.d.ts +83 -0
- package/dist/objects/people/search.d.ts.map +1 -0
- package/dist/objects/people/search.js +286 -0
- package/dist/objects/people/search.js.map +1 -0
- package/dist/objects/people/types.d.ts +37 -0
- package/dist/objects/people/types.d.ts.map +1 -0
- package/dist/objects/people/types.js +71 -0
- package/dist/objects/people/types.js.map +1 -0
- package/dist/objects/people-write.d.ts +71 -0
- package/dist/objects/people-write.d.ts.map +1 -0
- package/dist/objects/people-write.js +261 -0
- package/dist/objects/people-write.js.map +1 -0
- package/dist/objects/records/formatters.d.ts +20 -0
- package/dist/objects/records/formatters.d.ts.map +1 -0
- package/dist/objects/records/formatters.js +47 -0
- package/dist/objects/records/formatters.js.map +1 -0
- package/dist/objects/records/index.d.ts +74 -0
- package/dist/objects/records/index.d.ts.map +1 -0
- package/dist/objects/records/index.js +374 -0
- package/dist/objects/records/index.js.map +1 -0
- package/dist/objects/records.d.ts +88 -0
- package/dist/objects/records.d.ts.map +1 -0
- package/dist/objects/records.js +432 -0
- package/dist/objects/records.js.map +1 -0
- package/dist/objects/tasks.d.ts +19 -0
- package/dist/objects/tasks.d.ts.map +1 -0
- package/dist/objects/tasks.js +23 -0
- package/dist/objects/tasks.js.map +1 -0
- package/dist/prompts/error-handler.d.ts +28 -0
- package/dist/prompts/error-handler.d.ts.map +1 -0
- package/dist/prompts/error-handler.js +47 -0
- package/dist/prompts/error-handler.js.map +1 -0
- package/dist/prompts/handlers.d.ts +49 -0
- package/dist/prompts/handlers.d.ts.map +1 -0
- package/dist/prompts/handlers.js +353 -0
- package/dist/prompts/handlers.js.map +1 -0
- package/dist/prompts/index.d.ts +11 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +15 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/prompts/templates/companies.d.ts +10 -0
- package/dist/prompts/templates/companies.d.ts.map +1 -0
- package/dist/prompts/templates/companies.js +128 -0
- package/dist/prompts/templates/companies.js.map +1 -0
- package/dist/prompts/templates/index.d.ts +42 -0
- package/dist/prompts/templates/index.d.ts.map +1 -0
- package/dist/prompts/templates/index.js +58 -0
- package/dist/prompts/templates/index.js.map +1 -0
- package/dist/prompts/templates/lists.d.ts +10 -0
- package/dist/prompts/templates/lists.d.ts.map +1 -0
- package/dist/prompts/templates/lists.js +127 -0
- package/dist/prompts/templates/lists.js.map +1 -0
- package/dist/prompts/templates/notes.d.ts +10 -0
- package/dist/prompts/templates/notes.d.ts.map +1 -0
- package/dist/prompts/templates/notes.js +119 -0
- package/dist/prompts/templates/notes.js.map +1 -0
- package/dist/prompts/templates/people.d.ts +10 -0
- package/dist/prompts/templates/people.d.ts.map +1 -0
- package/dist/prompts/templates/people.js +127 -0
- package/dist/prompts/templates/people.js.map +1 -0
- package/dist/prompts/types.d.ts +52 -0
- package/dist/prompts/types.d.ts.map +1 -0
- package/dist/prompts/types.js +5 -0
- package/dist/prompts/types.js.map +1 -0
- package/dist/types/attio.d.ts +424 -0
- package/dist/types/attio.d.ts.map +1 -0
- package/dist/types/attio.js +116 -0
- package/dist/types/attio.js.map +1 -0
- package/dist/types/company-types.d.ts +52 -0
- package/dist/types/company-types.d.ts.map +1 -0
- package/dist/types/company-types.js +5 -0
- package/dist/types/company-types.js.map +1 -0
- package/dist/types/tool-types.d.ts +262 -0
- package/dist/types/tool-types.d.ts.map +1 -0
- package/dist/types/tool-types.js +6 -0
- package/dist/types/tool-types.js.map +1 -0
- package/dist/utils/api-fallback.d.ts +39 -0
- package/dist/utils/api-fallback.d.ts.map +1 -0
- package/dist/utils/api-fallback.js +94 -0
- package/dist/utils/api-fallback.js.map +1 -0
- package/dist/utils/attribute-mapping/attribute-mappers.d.ts +39 -0
- package/dist/utils/attribute-mapping/attribute-mappers.d.ts.map +1 -0
- package/dist/utils/attribute-mapping/attribute-mappers.js +394 -0
- package/dist/utils/attribute-mapping/attribute-mappers.js.map +1 -0
- package/dist/utils/attribute-mapping/filter-translator.d.ts +9 -0
- package/dist/utils/attribute-mapping/filter-translator.d.ts.map +1 -0
- package/dist/utils/attribute-mapping/filter-translator.js +104 -0
- package/dist/utils/attribute-mapping/filter-translator.js.map +1 -0
- package/dist/utils/attribute-mapping/index.d.ts +10 -0
- package/dist/utils/attribute-mapping/index.d.ts.map +1 -0
- package/dist/utils/attribute-mapping/index.js +12 -0
- package/dist/utils/attribute-mapping/index.js.map +1 -0
- package/dist/utils/attribute-mapping/legacy-maps.d.ts +11 -0
- package/dist/utils/attribute-mapping/legacy-maps.d.ts.map +1 -0
- package/dist/utils/attribute-mapping/legacy-maps.js +54 -0
- package/dist/utils/attribute-mapping/legacy-maps.js.map +1 -0
- package/dist/utils/attribute-mapping/mapping-utils.d.ts +90 -0
- package/dist/utils/attribute-mapping/mapping-utils.d.ts.map +1 -0
- package/dist/utils/attribute-mapping/mapping-utils.js +145 -0
- package/dist/utils/attribute-mapping/mapping-utils.js.map +1 -0
- package/dist/utils/auto-discovery.d.ts +22 -0
- package/dist/utils/auto-discovery.d.ts.map +1 -0
- package/dist/utils/auto-discovery.js +143 -0
- package/dist/utils/auto-discovery.js.map +1 -0
- package/dist/utils/cli-colors.d.ts +36 -0
- package/dist/utils/cli-colors.d.ts.map +1 -0
- package/dist/utils/cli-colors.js +35 -0
- package/dist/utils/cli-colors.js.map +1 -0
- package/dist/utils/config-loader.d.ts +41 -0
- package/dist/utils/config-loader.d.ts.map +1 -0
- package/dist/utils/config-loader.js +167 -0
- package/dist/utils/config-loader.js.map +1 -0
- package/dist/utils/config-migration.d.ts +140 -0
- package/dist/utils/config-migration.d.ts.map +1 -0
- package/dist/utils/config-migration.js +310 -0
- package/dist/utils/config-migration.js.map +1 -0
- package/dist/utils/date-utils.d.ts +63 -0
- package/dist/utils/date-utils.d.ts.map +1 -0
- package/dist/utils/date-utils.js +329 -0
- package/dist/utils/date-utils.js.map +1 -0
- package/dist/utils/debug-b2b-segment.d.ts +2 -0
- package/dist/utils/debug-b2b-segment.d.ts.map +1 -0
- package/dist/utils/debug-b2b-segment.js +67 -0
- package/dist/utils/debug-b2b-segment.js.map +1 -0
- package/dist/utils/domain-utils.d.ts +46 -0
- package/dist/utils/domain-utils.d.ts.map +1 -0
- package/dist/utils/domain-utils.js +143 -0
- package/dist/utils/domain-utils.js.map +1 -0
- package/dist/utils/dynamic-import.d.ts +33 -0
- package/dist/utils/dynamic-import.d.ts.map +1 -0
- package/dist/utils/dynamic-import.js +41 -0
- package/dist/utils/dynamic-import.js.map +1 -0
- package/dist/utils/error-enhancer.d.ts +23 -0
- package/dist/utils/error-enhancer.d.ts.map +1 -0
- package/dist/utils/error-enhancer.js +188 -0
- package/dist/utils/error-enhancer.js.map +1 -0
- package/dist/utils/error-handler.d.ts +89 -0
- package/dist/utils/error-handler.d.ts.map +1 -0
- package/dist/utils/error-handler.js +336 -0
- package/dist/utils/error-handler.js.map +1 -0
- package/dist/utils/filters/builders/activity.d.ts +13 -0
- package/dist/utils/filters/builders/activity.d.ts.map +1 -0
- package/dist/utils/filters/builders/activity.js +65 -0
- package/dist/utils/filters/builders/activity.js.map +1 -0
- package/dist/utils/filters/builders/basic.d.ts +13 -0
- package/dist/utils/filters/builders/basic.d.ts.map +1 -0
- package/dist/utils/filters/builders/basic.js +36 -0
- package/dist/utils/filters/builders/basic.js.map +1 -0
- package/dist/utils/filters/builders/complex.d.ts +31 -0
- package/dist/utils/filters/builders/complex.d.ts.map +1 -0
- package/dist/utils/filters/builders/complex.js +92 -0
- package/dist/utils/filters/builders/complex.js.map +1 -0
- package/dist/utils/filters/builders/date.d.ts +17 -0
- package/dist/utils/filters/builders/date.d.ts.map +1 -0
- package/dist/utils/filters/builders/date.js +51 -0
- package/dist/utils/filters/builders/date.js.map +1 -0
- package/dist/utils/filters/builders/index.d.ts +8 -0
- package/dist/utils/filters/builders/index.d.ts.map +1 -0
- package/dist/utils/filters/builders/index.js +8 -0
- package/dist/utils/filters/builders/index.js.map +1 -0
- package/dist/utils/filters/builders/numeric.d.ts +17 -0
- package/dist/utils/filters/builders/numeric.d.ts.map +1 -0
- package/dist/utils/filters/builders/numeric.js +61 -0
- package/dist/utils/filters/builders/numeric.js.map +1 -0
- package/dist/utils/filters/builders/text.d.ts +17 -0
- package/dist/utils/filters/builders/text.d.ts.map +1 -0
- package/dist/utils/filters/builders/text.js +47 -0
- package/dist/utils/filters/builders/text.js.map +1 -0
- package/dist/utils/filters/builders/types.d.ts +2 -0
- package/dist/utils/filters/builders/types.d.ts.map +1 -0
- package/dist/utils/filters/builders/types.js +2 -0
- package/dist/utils/filters/builders/types.js.map +1 -0
- package/dist/utils/filters/builders.d.ts +2 -0
- package/dist/utils/filters/builders.d.ts.map +1 -0
- package/dist/utils/filters/builders.js +2 -0
- package/dist/utils/filters/builders.js.map +1 -0
- package/dist/utils/filters/cache.d.ts +80 -0
- package/dist/utils/filters/cache.d.ts.map +1 -0
- package/dist/utils/filters/cache.js +212 -0
- package/dist/utils/filters/cache.js.map +1 -0
- package/dist/utils/filters/index.d.ts +51 -0
- package/dist/utils/filters/index.d.ts.map +1 -0
- package/dist/utils/filters/index.js +67 -0
- package/dist/utils/filters/index.js.map +1 -0
- package/dist/utils/filters/operators.d.ts +65 -0
- package/dist/utils/filters/operators.d.ts.map +1 -0
- package/dist/utils/filters/operators.js +214 -0
- package/dist/utils/filters/operators.js.map +1 -0
- package/dist/utils/filters/relationship.d.ts +81 -0
- package/dist/utils/filters/relationship.d.ts.map +1 -0
- package/dist/utils/filters/relationship.js +393 -0
- package/dist/utils/filters/relationship.js.map +1 -0
- package/dist/utils/filters/translators.d.ts +120 -0
- package/dist/utils/filters/translators.d.ts.map +1 -0
- package/dist/utils/filters/translators.js +397 -0
- package/dist/utils/filters/translators.js.map +1 -0
- package/dist/utils/filters/types.d.ts +77 -0
- package/dist/utils/filters/types.d.ts.map +1 -0
- package/dist/utils/filters/types.js +85 -0
- package/dist/utils/filters/types.js.map +1 -0
- package/dist/utils/filters/utils.d.ts +86 -0
- package/dist/utils/filters/utils.d.ts.map +1 -0
- package/dist/utils/filters/utils.js +142 -0
- package/dist/utils/filters/utils.js.map +1 -0
- package/dist/utils/filters/validation-utils.d.ts +123 -0
- package/dist/utils/filters/validation-utils.d.ts.map +1 -0
- package/dist/utils/filters/validation-utils.js +282 -0
- package/dist/utils/filters/validation-utils.js.map +1 -0
- package/dist/utils/filters/validators.d.ts +73 -0
- package/dist/utils/filters/validators.d.ts.map +1 -0
- package/dist/utils/filters/validators.js +311 -0
- package/dist/utils/filters/validators.js.map +1 -0
- package/dist/utils/json-serializer.d.ts +68 -0
- package/dist/utils/json-serializer.d.ts.map +1 -0
- package/dist/utils/json-serializer.js +235 -0
- package/dist/utils/json-serializer.js.map +1 -0
- package/dist/utils/logger.d.ts +226 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +323 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/numeric-utils.d.ts +27 -0
- package/dist/utils/numeric-utils.d.ts.map +1 -0
- package/dist/utils/numeric-utils.js +83 -0
- package/dist/utils/numeric-utils.js.map +1 -0
- package/dist/utils/pagination.d.ts +85 -0
- package/dist/utils/pagination.d.ts.map +1 -0
- package/dist/utils/pagination.js +169 -0
- package/dist/utils/pagination.js.map +1 -0
- package/dist/utils/person-lookup.d.ts +35 -0
- package/dist/utils/person-lookup.d.ts.map +1 -0
- package/dist/utils/person-lookup.js +67 -0
- package/dist/utils/person-lookup.js.map +1 -0
- package/dist/utils/rate-limiter.d.ts +82 -0
- package/dist/utils/rate-limiter.d.ts.map +1 -0
- package/dist/utils/rate-limiter.js +159 -0
- package/dist/utils/rate-limiter.js.map +1 -0
- package/dist/utils/record-utils.d.ts +74 -0
- package/dist/utils/record-utils.d.ts.map +1 -0
- package/dist/utils/record-utils.js +312 -0
- package/dist/utils/record-utils.js.map +1 -0
- package/dist/utils/relationship-utils.d.ts +61 -0
- package/dist/utils/relationship-utils.d.ts.map +1 -0
- package/dist/utils/relationship-utils.js +242 -0
- package/dist/utils/relationship-utils.js.map +1 -0
- package/dist/utils/response-formatter.d.ts +121 -0
- package/dist/utils/response-formatter.d.ts.map +1 -0
- package/dist/utils/response-formatter.js +188 -0
- package/dist/utils/response-formatter.js.map +1 -0
- package/dist/utils/uri-parser.d.ts +18 -0
- package/dist/utils/uri-parser.d.ts.map +1 -0
- package/dist/utils/uri-parser.js +31 -0
- package/dist/utils/uri-parser.js.map +1 -0
- package/dist/utils/validation.d.ts +59 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +264 -0
- package/dist/utils/validation.js.map +1 -0
- package/dist/utils/value-matcher.d.ts +58 -0
- package/dist/utils/value-matcher.d.ts.map +1 -0
- package/dist/utils/value-matcher.js +131 -0
- package/dist/utils/value-matcher.js.map +1 -0
- package/dist/validators/attribute-validator.d.ts +59 -0
- package/dist/validators/attribute-validator.d.ts.map +1 -0
- package/dist/validators/attribute-validator.js +531 -0
- package/dist/validators/attribute-validator.js.map +1 -0
- package/dist/validators/company/field_detector.d.ts +5 -0
- package/dist/validators/company/field_detector.d.ts.map +1 -0
- package/dist/validators/company/field_detector.js +95 -0
- package/dist/validators/company/field_detector.js.map +1 -0
- package/dist/validators/company/index.d.ts +26 -0
- package/dist/validators/company/index.d.ts.map +1 -0
- package/dist/validators/company/index.js +433 -0
- package/dist/validators/company/index.js.map +1 -0
- package/dist/validators/company/type_cache.d.ts +14 -0
- package/dist/validators/company/type_cache.d.ts.map +1 -0
- package/dist/validators/company/type_cache.js +28 -0
- package/dist/validators/company/type_cache.js.map +1 -0
- package/dist/validators/company/types.d.ts +8 -0
- package/dist/validators/company/types.d.ts.map +1 -0
- package/dist/validators/company/types.js +2 -0
- package/dist/validators/company/types.js.map +1 -0
- package/dist/validators/company-validator.d.ts +2 -0
- package/dist/validators/company-validator.d.ts.map +1 -0
- package/dist/validators/company-validator.js +2 -0
- package/dist/validators/company-validator.js.map +1 -0
- package/package.json +167 -0
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Search operations for Attio objects
|
|
3
|
+
* Handles basic and advanced search functionality
|
|
4
|
+
*/
|
|
5
|
+
import { getAttioClient } from '../attio-client.js';
|
|
6
|
+
import { ResourceType, } from '../../types/attio.js';
|
|
7
|
+
import { callWithRetry } from './retry.js';
|
|
8
|
+
import { transformFiltersToApiFormat } from '../../utils/record-utils.js';
|
|
9
|
+
import { FilterValidationError } from '../../errors/api-errors.js';
|
|
10
|
+
/**
|
|
11
|
+
* Generic function to search any object type by name, email, or phone (when applicable)
|
|
12
|
+
*
|
|
13
|
+
* @param objectType - The type of object to search (people or companies)
|
|
14
|
+
* @param query - Search query string
|
|
15
|
+
* @param retryConfig - Optional retry configuration
|
|
16
|
+
* @returns Array of matching records
|
|
17
|
+
*/
|
|
18
|
+
export async function searchObject(objectType, query, retryConfig) {
|
|
19
|
+
const api = getAttioClient();
|
|
20
|
+
const path = `/objects/${objectType}/records/query`;
|
|
21
|
+
// Use different search logic based on object type
|
|
22
|
+
let filter = {};
|
|
23
|
+
if (objectType === ResourceType.PEOPLE) {
|
|
24
|
+
// For people, search by name, email, or phone
|
|
25
|
+
filter = {
|
|
26
|
+
$or: [
|
|
27
|
+
{ name: { $contains: query } },
|
|
28
|
+
{ email_addresses: { $contains: query } },
|
|
29
|
+
{ phone_numbers: { $contains: query } },
|
|
30
|
+
],
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
// For other types (like companies), search by name only
|
|
35
|
+
filter = {
|
|
36
|
+
name: { $contains: query },
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
return callWithRetry(async () => {
|
|
40
|
+
try {
|
|
41
|
+
const response = await api.post(path, {
|
|
42
|
+
filter,
|
|
43
|
+
});
|
|
44
|
+
return response.data.data || [];
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
// Handle 404 errors with custom message
|
|
48
|
+
if (error.response && error.response.status === 404) {
|
|
49
|
+
throw new Error(`No ${objectType} found matching '${query}'`);
|
|
50
|
+
}
|
|
51
|
+
// Let upstream handlers create specific, rich error objects from the original Axios error.
|
|
52
|
+
throw error;
|
|
53
|
+
}
|
|
54
|
+
}, retryConfig);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Generic function to search any object type with advanced filtering capabilities
|
|
58
|
+
*
|
|
59
|
+
* @param objectType - The type of object to search (people or companies)
|
|
60
|
+
* @param filters - Optional filters to apply
|
|
61
|
+
* @param limit - Maximum number of results to return (optional)
|
|
62
|
+
* @param offset - Number of results to skip (optional)
|
|
63
|
+
* @param retryConfig - Optional retry configuration
|
|
64
|
+
* @returns Array of matching records
|
|
65
|
+
*/
|
|
66
|
+
export async function advancedSearchObject(objectType, filters, limit, offset, retryConfig) {
|
|
67
|
+
const api = getAttioClient();
|
|
68
|
+
const path = `/objects/${objectType}/records/query`;
|
|
69
|
+
// Coerce input parameters to ensure proper types
|
|
70
|
+
const safeLimit = typeof limit === 'number' ? limit : undefined;
|
|
71
|
+
const safeOffset = typeof offset === 'number' ? offset : undefined;
|
|
72
|
+
// Create request body with parameters and filters
|
|
73
|
+
const createRequestBody = async () => {
|
|
74
|
+
// Start with base parameters
|
|
75
|
+
const body = {
|
|
76
|
+
limit: safeLimit !== undefined ? safeLimit : 20, // Default to 20 if not specified
|
|
77
|
+
offset: safeOffset !== undefined ? safeOffset : 0, // Default to 0 if not specified
|
|
78
|
+
};
|
|
79
|
+
try {
|
|
80
|
+
// If filters is undefined, return body without filter
|
|
81
|
+
if (!filters) {
|
|
82
|
+
if (process.env.NODE_ENV === 'development') {
|
|
83
|
+
console.log('[advancedSearchObject] No filters provided, using default parameters only');
|
|
84
|
+
}
|
|
85
|
+
return body;
|
|
86
|
+
}
|
|
87
|
+
// Import validation utilities dynamically to avoid circular dependencies
|
|
88
|
+
const { validateFilters, getFilterExample, ERROR_MESSAGES } = await import('../../utils/filters/validation-utils.js');
|
|
89
|
+
// Use centralized validation with consistent error messages
|
|
90
|
+
try {
|
|
91
|
+
validateFilters(filters);
|
|
92
|
+
}
|
|
93
|
+
catch (validationError) {
|
|
94
|
+
// Enhance error with API operation context, but preserve original message and category
|
|
95
|
+
if (validationError instanceof FilterValidationError) {
|
|
96
|
+
throw new FilterValidationError(`Advanced search filter validation failed: ${validationError.message}`, validationError.category);
|
|
97
|
+
}
|
|
98
|
+
throw validationError;
|
|
99
|
+
}
|
|
100
|
+
// Use our shared utility to transform filters to API format
|
|
101
|
+
const filterObject = transformFiltersToApiFormat(filters, true);
|
|
102
|
+
// Add filter to body if it exists
|
|
103
|
+
if (filterObject.filter) {
|
|
104
|
+
body.filter = filterObject.filter;
|
|
105
|
+
// Log filter transformation for debugging in development
|
|
106
|
+
if (process.env.NODE_ENV === 'development') {
|
|
107
|
+
console.log('[advancedSearchObject] Transformed filters:', {
|
|
108
|
+
originalFilters: JSON.stringify(filters),
|
|
109
|
+
transformedFilters: JSON.stringify(filterObject.filter),
|
|
110
|
+
useOrLogic: filters?.matchAny === true,
|
|
111
|
+
filterCount: filters?.filters?.length || 0,
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
catch (err) {
|
|
117
|
+
// Enhanced error handling with detailed context and examples
|
|
118
|
+
if (err instanceof FilterValidationError) {
|
|
119
|
+
// Log the full details for debugging
|
|
120
|
+
if (process.env.NODE_ENV === 'development') {
|
|
121
|
+
console.error('[advancedSearchObject] Filter validation error:', {
|
|
122
|
+
error: err.message,
|
|
123
|
+
providedFilters: JSON.stringify(filters, (key, value) =>
|
|
124
|
+
// Handle circular references in error logging
|
|
125
|
+
typeof value === 'object' && value !== null
|
|
126
|
+
? Object.keys(value).length > 0
|
|
127
|
+
? value
|
|
128
|
+
: '[Empty Object]'
|
|
129
|
+
: value),
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
// The error message may already include examples, so just rethrow
|
|
133
|
+
throw err;
|
|
134
|
+
}
|
|
135
|
+
// For other error types
|
|
136
|
+
const errorMessage = err instanceof Error
|
|
137
|
+
? `Error processing search filters: ${err.message}`
|
|
138
|
+
: 'Unknown error processing search filters';
|
|
139
|
+
throw new Error(errorMessage);
|
|
140
|
+
}
|
|
141
|
+
return body;
|
|
142
|
+
};
|
|
143
|
+
return callWithRetry(async () => {
|
|
144
|
+
try {
|
|
145
|
+
const requestBody = await createRequestBody();
|
|
146
|
+
const response = await api.post(path, requestBody);
|
|
147
|
+
return response.data.data || [];
|
|
148
|
+
}
|
|
149
|
+
catch (error) {
|
|
150
|
+
// Let upstream handlers create specific, rich error objects.
|
|
151
|
+
throw error;
|
|
152
|
+
}
|
|
153
|
+
}, retryConfig);
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Generic function to list any object type with pagination and sorting
|
|
157
|
+
*
|
|
158
|
+
* @param objectType - The type of object to list (people or companies)
|
|
159
|
+
* @param limit - Maximum number of results to return
|
|
160
|
+
* @param retryConfig - Optional retry configuration
|
|
161
|
+
* @returns Array of records
|
|
162
|
+
*/
|
|
163
|
+
export async function listObjects(objectType, limit, retryConfig) {
|
|
164
|
+
const api = getAttioClient();
|
|
165
|
+
const path = `/objects/${objectType}/records/query`;
|
|
166
|
+
return callWithRetry(async () => {
|
|
167
|
+
try {
|
|
168
|
+
const body = {
|
|
169
|
+
limit: limit || 20,
|
|
170
|
+
sorts: [
|
|
171
|
+
{
|
|
172
|
+
attribute: 'last_interaction',
|
|
173
|
+
field: 'interacted_at',
|
|
174
|
+
direction: 'desc',
|
|
175
|
+
},
|
|
176
|
+
],
|
|
177
|
+
};
|
|
178
|
+
const response = await api.post(path, body);
|
|
179
|
+
return response.data.data || [];
|
|
180
|
+
}
|
|
181
|
+
catch (error) {
|
|
182
|
+
throw error;
|
|
183
|
+
}
|
|
184
|
+
}, retryConfig);
|
|
185
|
+
}
|
|
186
|
+
//# sourceMappingURL=search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/api/operations/search.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { AttioTask } from '../../types/attio.js';
|
|
2
|
+
import { RetryConfig } from './retry.js';
|
|
3
|
+
export declare function listTasks(status?: string, assigneeId?: string, page?: number, pageSize?: number, retryConfig?: Partial<RetryConfig>): Promise<AttioTask[]>;
|
|
4
|
+
export declare function getTask(taskId: string, retryConfig?: Partial<RetryConfig>): Promise<AttioTask>;
|
|
5
|
+
export declare function createTask(content: string, options?: {
|
|
6
|
+
assigneeId?: string;
|
|
7
|
+
dueDate?: string;
|
|
8
|
+
recordId?: string;
|
|
9
|
+
}, retryConfig?: Partial<RetryConfig>): Promise<AttioTask>;
|
|
10
|
+
export declare function updateTask(taskId: string, updates: {
|
|
11
|
+
content?: string;
|
|
12
|
+
status?: string;
|
|
13
|
+
assigneeId?: string;
|
|
14
|
+
dueDate?: string;
|
|
15
|
+
recordIds?: string[];
|
|
16
|
+
}, retryConfig?: Partial<RetryConfig>): Promise<AttioTask>;
|
|
17
|
+
export declare function deleteTask(taskId: string, retryConfig?: Partial<RetryConfig>): Promise<boolean>;
|
|
18
|
+
export declare function linkRecordToTask(taskId: string, recordId: string, retryConfig?: Partial<RetryConfig>): Promise<boolean>;
|
|
19
|
+
export declare function unlinkRecordFromTask(taskId: string, recordId: string, retryConfig?: Partial<RetryConfig>): Promise<boolean>;
|
|
20
|
+
//# sourceMappingURL=tasks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../../src/api/operations/tasks.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,SAAS,EAGV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAiB,WAAW,EAAE,MAAM,YAAY,CAAC;AAExD,wBAAsB,SAAS,CAC7B,MAAM,CAAC,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,EACnB,IAAI,GAAE,MAAU,EAChB,QAAQ,GAAE,MAAW,EACrB,WAAW,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GACjC,OAAO,CAAC,SAAS,EAAE,CAAC,CAYtB;AAED,wBAAsB,OAAO,CAC3B,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GACjC,OAAO,CAAC,SAAS,CAAC,CAOpB;AAED,wBAAsB,UAAU,CAC9B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,EAC1E,WAAW,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GACjC,OAAO,CAAC,SAAS,CAAC,CAYpB;AAED,wBAAsB,UAAU,CAC9B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE;IACP,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB,EACD,WAAW,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GACjC,OAAO,CAAC,SAAS,CAAC,CAepB;AAED,wBAAsB,UAAU,CAC9B,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GACjC,OAAO,CAAC,OAAO,CAAC,CAOlB;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GACjC,OAAO,CAAC,OAAO,CAAC,CAOlB;AAED,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GACjC,OAAO,CAAC,OAAO,CAAC,CAOlB"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Task operations for Attio
|
|
3
|
+
*/
|
|
4
|
+
import { getAttioClient } from '../attio-client.js';
|
|
5
|
+
import { callWithRetry } from './retry.js';
|
|
6
|
+
export async function listTasks(status, assigneeId, page = 1, pageSize = 25, retryConfig) {
|
|
7
|
+
const api = getAttioClient();
|
|
8
|
+
const params = new URLSearchParams();
|
|
9
|
+
params.append('page', String(page));
|
|
10
|
+
params.append('pageSize', String(pageSize));
|
|
11
|
+
if (status)
|
|
12
|
+
params.append('status', status);
|
|
13
|
+
if (assigneeId)
|
|
14
|
+
params.append('assignee', assigneeId);
|
|
15
|
+
const path = `/tasks?${params.toString()}`;
|
|
16
|
+
return callWithRetry(async () => {
|
|
17
|
+
const res = await api.get(path);
|
|
18
|
+
return res.data.data || [];
|
|
19
|
+
}, retryConfig);
|
|
20
|
+
}
|
|
21
|
+
export async function getTask(taskId, retryConfig) {
|
|
22
|
+
const api = getAttioClient();
|
|
23
|
+
const path = `/tasks/${taskId}`;
|
|
24
|
+
return callWithRetry(async () => {
|
|
25
|
+
const res = await api.get(path);
|
|
26
|
+
return res.data.data || res.data;
|
|
27
|
+
}, retryConfig);
|
|
28
|
+
}
|
|
29
|
+
export async function createTask(content, options = {}, retryConfig) {
|
|
30
|
+
const api = getAttioClient();
|
|
31
|
+
const path = '/tasks';
|
|
32
|
+
const data = { content };
|
|
33
|
+
if (options.assigneeId)
|
|
34
|
+
data.assignee = { id: options.assigneeId, type: 'workspace-member' };
|
|
35
|
+
if (options.dueDate)
|
|
36
|
+
data.due_date = options.dueDate;
|
|
37
|
+
if (options.recordId)
|
|
38
|
+
data.linked_records = [{ id: options.recordId }];
|
|
39
|
+
return callWithRetry(async () => {
|
|
40
|
+
const res = await api.post(path, data);
|
|
41
|
+
return res.data.data || res.data;
|
|
42
|
+
}, retryConfig);
|
|
43
|
+
}
|
|
44
|
+
export async function updateTask(taskId, updates, retryConfig) {
|
|
45
|
+
const api = getAttioClient();
|
|
46
|
+
const path = `/tasks/${taskId}`;
|
|
47
|
+
const data = {};
|
|
48
|
+
if (updates.content)
|
|
49
|
+
data.content = updates.content;
|
|
50
|
+
if (updates.status)
|
|
51
|
+
data.status = updates.status;
|
|
52
|
+
if (updates.assigneeId)
|
|
53
|
+
data.assignee = { id: updates.assigneeId, type: 'workspace-member' };
|
|
54
|
+
if (updates.dueDate)
|
|
55
|
+
data.due_date = updates.dueDate;
|
|
56
|
+
if (updates.recordIds)
|
|
57
|
+
data.linked_records = updates.recordIds.map((id) => ({ id }));
|
|
58
|
+
return callWithRetry(async () => {
|
|
59
|
+
const res = await api.patch(path, data);
|
|
60
|
+
return res.data.data || res.data;
|
|
61
|
+
}, retryConfig);
|
|
62
|
+
}
|
|
63
|
+
export async function deleteTask(taskId, retryConfig) {
|
|
64
|
+
const api = getAttioClient();
|
|
65
|
+
const path = `/tasks/${taskId}`;
|
|
66
|
+
return callWithRetry(async () => {
|
|
67
|
+
await api.delete(path);
|
|
68
|
+
return true;
|
|
69
|
+
}, retryConfig);
|
|
70
|
+
}
|
|
71
|
+
export async function linkRecordToTask(taskId, recordId, retryConfig) {
|
|
72
|
+
const api = getAttioClient();
|
|
73
|
+
const path = `/tasks/${taskId}/linked-records`;
|
|
74
|
+
return callWithRetry(async () => {
|
|
75
|
+
await api.post(path, { record_id: recordId });
|
|
76
|
+
return true;
|
|
77
|
+
}, retryConfig);
|
|
78
|
+
}
|
|
79
|
+
export async function unlinkRecordFromTask(taskId, recordId, retryConfig) {
|
|
80
|
+
const api = getAttioClient();
|
|
81
|
+
const path = `/tasks/${taskId}/linked-records/${recordId}`;
|
|
82
|
+
return callWithRetry(async () => {
|
|
83
|
+
await api.delete(path);
|
|
84
|
+
return true;
|
|
85
|
+
}, retryConfig);
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=tasks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../../src/api/operations/tasks.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared types for API operations
|
|
3
|
+
* Re-exports and additional type definitions used across modules
|
|
4
|
+
*/
|
|
5
|
+
import { BatchRequestItem as BatchRequestItemType, BatchItemResult as BatchItemResultType, BatchResponse as BatchResponseType, BatchConfig as BatchConfigType } from '../../types/attio.js';
|
|
6
|
+
export type BatchRequestItem<T> = BatchRequestItemType<T>;
|
|
7
|
+
export type BatchItemResult<R> = BatchItemResultType<R>;
|
|
8
|
+
export type BatchResponse<R> = BatchResponseType<R>;
|
|
9
|
+
export type BatchConfig = BatchConfigType;
|
|
10
|
+
/**
|
|
11
|
+
* Filter definition for list entries
|
|
12
|
+
*/
|
|
13
|
+
export interface ListEntryFilter {
|
|
14
|
+
attribute: {
|
|
15
|
+
slug: string;
|
|
16
|
+
};
|
|
17
|
+
condition: string;
|
|
18
|
+
value: any;
|
|
19
|
+
/**
|
|
20
|
+
* Optional logical operator to use when combined with other filters
|
|
21
|
+
* If not provided, default is 'and'
|
|
22
|
+
*/
|
|
23
|
+
logicalOperator?: 'and' | 'or';
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Parameters for filtering list entries
|
|
27
|
+
*/
|
|
28
|
+
export interface ListEntryFilters {
|
|
29
|
+
/**
|
|
30
|
+
* Individual filter conditions to apply
|
|
31
|
+
*/
|
|
32
|
+
filters?: ListEntryFilter[];
|
|
33
|
+
/**
|
|
34
|
+
* When true, at least one filter must match (equivalent to OR)
|
|
35
|
+
* When false or omitted, all filters must match (equivalent to AND)
|
|
36
|
+
*/
|
|
37
|
+
matchAny?: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Optional array of attribute groups for complex nested conditions
|
|
40
|
+
* Each group is treated as a unit with its own logical operator
|
|
41
|
+
*/
|
|
42
|
+
groups?: {
|
|
43
|
+
attributes: ListEntryFilter[];
|
|
44
|
+
logicalOperator?: 'and' | 'or';
|
|
45
|
+
}[];
|
|
46
|
+
[key: string]: any;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Validated filter parameters where filters array is guaranteed to exist
|
|
50
|
+
* Used internally after validation to ensure type safety
|
|
51
|
+
*/
|
|
52
|
+
export interface ValidatedListEntryFilters extends ListEntryFilters {
|
|
53
|
+
/**
|
|
54
|
+
* Individual filter conditions to apply (guaranteed to exist after validation)
|
|
55
|
+
*/
|
|
56
|
+
filters: ListEntryFilter[];
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Common types and interfaces shared across API operations
|
|
60
|
+
*/
|
|
61
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/api/operations/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,gBAAgB,IAAI,oBAAoB,EACxC,eAAe,IAAI,mBAAmB,EACtC,aAAa,IAAI,iBAAiB,EAClC,WAAW,IAAI,eAAe,EAC/B,MAAM,sBAAsB,CAAC;AAG9B,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAAC;AAC1D,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAC;AACxD,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC;AACpD,MAAM,MAAM,WAAW,GAAG,eAAe,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,GAAG,CAAC;IACX;;;OAGG;IACH,eAAe,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,MAAM,CAAC,EAAE;QACP,UAAU,EAAE,eAAe,EAAE,CAAC;QAC9B,eAAe,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;KAChC,EAAE,CAAC;IACJ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,yBAA0B,SAAQ,gBAAgB;IACjE;;OAEG;IACH,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B;AAED;;GAEG"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared types for API operations
|
|
3
|
+
* Re-exports and additional type definitions used across modules
|
|
4
|
+
*/
|
|
5
|
+
export {};
|
|
6
|
+
/**
|
|
7
|
+
* Common types and interfaces shared across API operations
|
|
8
|
+
*/
|
|
9
|
+
// Additional shared types can be added here as needed
|
|
10
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/api/operations/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAkEH;;GAEG;AAEH,sDAAsD"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interface for command arguments
|
|
3
|
+
*/
|
|
4
|
+
interface AttributesCommandArgs {
|
|
5
|
+
object?: string;
|
|
6
|
+
all?: boolean;
|
|
7
|
+
output?: string;
|
|
8
|
+
reset?: boolean;
|
|
9
|
+
apiKey?: string;
|
|
10
|
+
[key: string]: unknown;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Gets all available objects from Attio
|
|
14
|
+
*
|
|
15
|
+
* @param apiKey - The Attio API key
|
|
16
|
+
* @returns Array of object slugs
|
|
17
|
+
*/
|
|
18
|
+
export declare function getAvailableObjects(apiKey: string): Promise<string[]>;
|
|
19
|
+
/**
|
|
20
|
+
* Discovers attributes for a specific object
|
|
21
|
+
*
|
|
22
|
+
* @param objectSlug - The object slug (e.g., 'companies')
|
|
23
|
+
* @param apiKey - The Attio API key
|
|
24
|
+
* @returns Map of attribute titles to API slugs
|
|
25
|
+
*/
|
|
26
|
+
export declare function getObjectAttributes(objectSlug: string, apiKey: string): Promise<Record<string, string>>;
|
|
27
|
+
/**
|
|
28
|
+
* Command handler for discovering attributes
|
|
29
|
+
*
|
|
30
|
+
* @param argv - Command arguments
|
|
31
|
+
*/
|
|
32
|
+
export declare function discoverAttributes(argv: AttributesCommandArgs): Promise<void>;
|
|
33
|
+
export {};
|
|
34
|
+
//# sourceMappingURL=attributes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attributes.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/attributes.ts"],"names":[],"mappings":"AAYA;;GAEG;AACH,UAAU,qBAAqB;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAiCD;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAqB3E;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CA+BjC;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,IAAI,CAAC,CA0Hf"}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Command handler for discovering Attio attributes
|
|
3
|
+
*/
|
|
4
|
+
import axios from 'axios';
|
|
5
|
+
import ora from 'ora';
|
|
6
|
+
import chalk from 'chalk';
|
|
7
|
+
import { loadMappingConfig, writeMappingConfig, } from '../../utils/config-loader.js';
|
|
8
|
+
/**
|
|
9
|
+
* Creates an Axios instance for the Attio API
|
|
10
|
+
*
|
|
11
|
+
* @param apiKey - The Attio API key
|
|
12
|
+
* @returns Configured Axios instance
|
|
13
|
+
*/
|
|
14
|
+
function createAttioClient(apiKey) {
|
|
15
|
+
return axios.create({
|
|
16
|
+
baseURL: 'https://api.attio.com/v2',
|
|
17
|
+
headers: {
|
|
18
|
+
Authorization: `Bearer ${apiKey}`,
|
|
19
|
+
'Content-Type': 'application/json',
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Gets all available objects from Attio
|
|
25
|
+
*
|
|
26
|
+
* @param apiKey - The Attio API key
|
|
27
|
+
* @returns Array of object slugs
|
|
28
|
+
*/
|
|
29
|
+
export async function getAvailableObjects(apiKey) {
|
|
30
|
+
const client = createAttioClient(apiKey);
|
|
31
|
+
try {
|
|
32
|
+
const response = await client.get('/objects');
|
|
33
|
+
const objects = response.data.data || [];
|
|
34
|
+
// Extract API slugs from the objects
|
|
35
|
+
return objects
|
|
36
|
+
.filter((obj) => obj.api_slug)
|
|
37
|
+
.map((obj) => obj.api_slug);
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
if (axios.isAxiosError(error) && error.response) {
|
|
41
|
+
throw new Error(`Failed to get objects: ${error.response.status} ${error.response.statusText}\n${JSON.stringify(error.response.data, null, 2)}`);
|
|
42
|
+
}
|
|
43
|
+
throw error;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Discovers attributes for a specific object
|
|
48
|
+
*
|
|
49
|
+
* @param objectSlug - The object slug (e.g., 'companies')
|
|
50
|
+
* @param apiKey - The Attio API key
|
|
51
|
+
* @returns Map of attribute titles to API slugs
|
|
52
|
+
*/
|
|
53
|
+
export async function getObjectAttributes(objectSlug, apiKey) {
|
|
54
|
+
const client = createAttioClient(apiKey);
|
|
55
|
+
try {
|
|
56
|
+
const response = await client.get(`/objects/${objectSlug}/attributes`);
|
|
57
|
+
const attributes = response.data.data || [];
|
|
58
|
+
// Create mapping from title to api_slug
|
|
59
|
+
const mappings = {};
|
|
60
|
+
attributes.forEach((attr) => {
|
|
61
|
+
if (attr.title && attr.api_slug) {
|
|
62
|
+
mappings[attr.title] = attr.api_slug;
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
return mappings;
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
if (axios.isAxiosError(error) && error.response) {
|
|
69
|
+
throw new Error(`Failed to get attributes for object ${objectSlug}: ${error.response.status} ${error.response.statusText}\n${JSON.stringify(error.response.data, null, 2)}`);
|
|
70
|
+
}
|
|
71
|
+
throw error;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Command handler for discovering attributes
|
|
76
|
+
*
|
|
77
|
+
* @param argv - Command arguments
|
|
78
|
+
*/
|
|
79
|
+
export async function discoverAttributes(argv) {
|
|
80
|
+
const spinner = ora('Initializing...').start();
|
|
81
|
+
try {
|
|
82
|
+
// Get API key from args or environment
|
|
83
|
+
const apiKey = argv.apiKey || process.env.ATTIO_API_KEY;
|
|
84
|
+
if (!apiKey) {
|
|
85
|
+
spinner.fail('No API key provided. Set ATTIO_API_KEY env var or pass --api-key');
|
|
86
|
+
process.exit(1);
|
|
87
|
+
}
|
|
88
|
+
// Initialize config
|
|
89
|
+
let config;
|
|
90
|
+
try {
|
|
91
|
+
config = loadMappingConfig();
|
|
92
|
+
}
|
|
93
|
+
catch (error) {
|
|
94
|
+
spinner.warn('Failed to load existing configuration, creating new one...');
|
|
95
|
+
config = {
|
|
96
|
+
version: '1.0',
|
|
97
|
+
metadata: {
|
|
98
|
+
generated: new Date().toISOString(),
|
|
99
|
+
description: 'Generated by attribute discovery tool',
|
|
100
|
+
},
|
|
101
|
+
mappings: {
|
|
102
|
+
attributes: {
|
|
103
|
+
common: {},
|
|
104
|
+
objects: {},
|
|
105
|
+
custom: {},
|
|
106
|
+
},
|
|
107
|
+
objects: {},
|
|
108
|
+
lists: {},
|
|
109
|
+
relationships: {},
|
|
110
|
+
},
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
// Prepare the objects to process
|
|
114
|
+
let objectsToProcess = [];
|
|
115
|
+
if (argv.all) {
|
|
116
|
+
spinner.text = 'Fetching available objects...';
|
|
117
|
+
objectsToProcess = await getAvailableObjects(apiKey);
|
|
118
|
+
spinner.succeed(`Found ${objectsToProcess.length} objects in Attio workspace`);
|
|
119
|
+
}
|
|
120
|
+
else if (argv.object) {
|
|
121
|
+
objectsToProcess = [argv.object];
|
|
122
|
+
}
|
|
123
|
+
// Process each object
|
|
124
|
+
for (const objectSlug of objectsToProcess) {
|
|
125
|
+
spinner.start(`Discovering attributes for ${chalk.cyan(objectSlug)}...`);
|
|
126
|
+
try {
|
|
127
|
+
const attributeMappings = await getObjectAttributes(objectSlug, apiKey);
|
|
128
|
+
const attributeCount = Object.keys(attributeMappings).length;
|
|
129
|
+
if (attributeCount > 0) {
|
|
130
|
+
// Ensure the object section exists
|
|
131
|
+
if (!config.mappings.attributes.objects[objectSlug]) {
|
|
132
|
+
config.mappings.attributes.objects[objectSlug] = {};
|
|
133
|
+
}
|
|
134
|
+
// Reset or merge mappings
|
|
135
|
+
if (argv.reset) {
|
|
136
|
+
config.mappings.attributes.objects[objectSlug] = attributeMappings;
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
// Merge with existing mappings
|
|
140
|
+
config.mappings.attributes.objects[objectSlug] = {
|
|
141
|
+
...config.mappings.attributes.objects[objectSlug],
|
|
142
|
+
...attributeMappings,
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
spinner.succeed(`Found ${chalk.green(attributeCount.toString())} attributes for ${chalk.cyan(objectSlug)}`);
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
spinner.warn(`No attributes found for ${chalk.cyan(objectSlug)}`);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
catch (error) {
|
|
152
|
+
spinner.fail(`Error fetching attributes for ${chalk.cyan(objectSlug)}: ${error instanceof Error ? error.message : String(error)}`);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
// Update metadata
|
|
156
|
+
config.metadata = {
|
|
157
|
+
...config.metadata,
|
|
158
|
+
generated: new Date().toISOString(),
|
|
159
|
+
lastDiscovery: new Date().toISOString(),
|
|
160
|
+
};
|
|
161
|
+
// Write the updated config
|
|
162
|
+
spinner.start(`Writing configuration to ${chalk.cyan(argv.output || 'config/mappings/user.json')}...`);
|
|
163
|
+
await writeMappingConfig(config, argv.output);
|
|
164
|
+
spinner.succeed(chalk.green('✓ Attribute discovery completed successfully!'));
|
|
165
|
+
}
|
|
166
|
+
catch (error) {
|
|
167
|
+
spinner.fail(`Discovery failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
168
|
+
process.exit(1);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
//# sourceMappingURL=attributes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attributes.js","sourceRoot":"","sources":["../../../src/cli/commands/attributes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../../src/cli/discover.ts"],"names":[],"mappings":""}
|