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,463 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Search functionality for companies
|
|
3
|
+
*/
|
|
4
|
+
import { getAttioClient } from '../../api/attio-client.js';
|
|
5
|
+
import { searchObject, advancedSearchObject, } from '../../api/operations/index.js';
|
|
6
|
+
import { ResourceType, FilterConditionType, } from '../../types/attio.js';
|
|
7
|
+
import { FilterValidationError } from '../../errors/api-errors.js';
|
|
8
|
+
import { extractDomain, normalizeDomain, extractAllDomains, } from '../../utils/domain-utils.js';
|
|
9
|
+
/**
|
|
10
|
+
* Simple LRU cache for company search results
|
|
11
|
+
* Reduces API calls for frequently looked-up companies
|
|
12
|
+
*/
|
|
13
|
+
class CompanySearchCache {
|
|
14
|
+
cache = new Map();
|
|
15
|
+
maxSize;
|
|
16
|
+
ttlMs;
|
|
17
|
+
constructor(maxSize = 100, ttlMs = 5 * 60 * 1000) {
|
|
18
|
+
// Default: 100 entries, 5 minutes TTL
|
|
19
|
+
this.maxSize = maxSize;
|
|
20
|
+
this.ttlMs = ttlMs;
|
|
21
|
+
}
|
|
22
|
+
isExpired(timestamp) {
|
|
23
|
+
return Date.now() - timestamp > this.ttlMs;
|
|
24
|
+
}
|
|
25
|
+
cleanup() {
|
|
26
|
+
const now = Date.now();
|
|
27
|
+
for (const [key, entry] of this.cache.entries()) {
|
|
28
|
+
if (this.isExpired(entry.timestamp)) {
|
|
29
|
+
this.cache.delete(key);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
get(key) {
|
|
34
|
+
const entry = this.cache.get(key);
|
|
35
|
+
if (!entry || this.isExpired(entry.timestamp)) {
|
|
36
|
+
if (entry) {
|
|
37
|
+
this.cache.delete(key);
|
|
38
|
+
}
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
// Move to end (LRU behavior)
|
|
42
|
+
this.cache.delete(key);
|
|
43
|
+
this.cache.set(key, entry);
|
|
44
|
+
return entry.data;
|
|
45
|
+
}
|
|
46
|
+
set(key, data) {
|
|
47
|
+
// Remove oldest entries if at capacity
|
|
48
|
+
if (this.cache.size >= this.maxSize) {
|
|
49
|
+
const firstKey = this.cache.keys().next().value;
|
|
50
|
+
if (firstKey) {
|
|
51
|
+
this.cache.delete(firstKey);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
this.cache.set(key, { data, timestamp: Date.now() });
|
|
55
|
+
// Periodic cleanup
|
|
56
|
+
if (Math.random() < 0.1) {
|
|
57
|
+
// 10% chance to trigger cleanup
|
|
58
|
+
this.cleanup();
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
clear() {
|
|
62
|
+
this.cache.clear();
|
|
63
|
+
}
|
|
64
|
+
size() {
|
|
65
|
+
return this.cache.size;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
// Global cache instance
|
|
69
|
+
const companySearchCache = new CompanySearchCache();
|
|
70
|
+
/**
|
|
71
|
+
* Cache management functions for testing and administration
|
|
72
|
+
*/
|
|
73
|
+
export const companyCache = {
|
|
74
|
+
clear: () => companySearchCache.clear(),
|
|
75
|
+
size: () => companySearchCache.size(),
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
* Searches for companies with domain prioritization when available
|
|
79
|
+
*
|
|
80
|
+
* @param query - Search query string to match against company names or domains
|
|
81
|
+
* @param options - Optional search configuration
|
|
82
|
+
* @returns Array of matching company objects, prioritized by domain matches
|
|
83
|
+
* @example
|
|
84
|
+
* ```typescript
|
|
85
|
+
* const companies = await searchCompanies("acme.com");
|
|
86
|
+
* // Returns companies with domain "acme.com" first, then name matches
|
|
87
|
+
*
|
|
88
|
+
* const companies = await searchCompanies("acme");
|
|
89
|
+
* // Returns companies with names containing "acme"
|
|
90
|
+
*
|
|
91
|
+
* const companies = await searchCompanies("acme.com", { prioritizeDomains: false });
|
|
92
|
+
* // Disables domain prioritization, uses name-based search only
|
|
93
|
+
* ```
|
|
94
|
+
*/
|
|
95
|
+
export async function searchCompanies(query, options = {}) {
|
|
96
|
+
// Early return for empty or whitespace-only queries
|
|
97
|
+
if (!query || !query.trim()) {
|
|
98
|
+
return [];
|
|
99
|
+
}
|
|
100
|
+
// Extract default options
|
|
101
|
+
const { prioritizeDomains = true, maxResults, debug = process.env.NODE_ENV === 'development' || process.env.DEBUG, } = options;
|
|
102
|
+
// Check if query contains domain indicators (only if prioritization is enabled)
|
|
103
|
+
const extractedDomain = prioritizeDomains ? extractDomain(query) : null;
|
|
104
|
+
// Debug logging for domain extraction
|
|
105
|
+
if (debug) {
|
|
106
|
+
if (extractedDomain) {
|
|
107
|
+
console.debug(`[searchCompanies] Extracted domain: "${extractedDomain}" from query: "${query}"`);
|
|
108
|
+
}
|
|
109
|
+
else if (prioritizeDomains) {
|
|
110
|
+
console.debug(`[searchCompanies] No domain detected in query: "${query}", using name-based search`);
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
console.debug(`[searchCompanies] Domain prioritization disabled, using name-based search for: "${query}"`);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
if (extractedDomain && prioritizeDomains) {
|
|
117
|
+
// Priority search by domain first
|
|
118
|
+
try {
|
|
119
|
+
const domainResults = await searchCompaniesByDomain(extractedDomain);
|
|
120
|
+
// If we found exact domain matches, return them first
|
|
121
|
+
if (domainResults.length > 0) {
|
|
122
|
+
// Also search by name to include potential additional matches
|
|
123
|
+
const nameResults = await searchCompaniesByName(query);
|
|
124
|
+
// Combine results, prioritizing domain matches
|
|
125
|
+
const combinedResults = [...domainResults];
|
|
126
|
+
// Add name-based results that aren't already included
|
|
127
|
+
for (const nameResult of nameResults) {
|
|
128
|
+
const isDuplicate = domainResults.some((domainResult) => domainResult.id?.record_id === nameResult.id?.record_id);
|
|
129
|
+
if (!isDuplicate) {
|
|
130
|
+
combinedResults.push(nameResult);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
// Apply maxResults limit if specified
|
|
134
|
+
const finalResults = maxResults
|
|
135
|
+
? combinedResults.slice(0, maxResults)
|
|
136
|
+
: combinedResults;
|
|
137
|
+
return finalResults;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
catch (error) {
|
|
141
|
+
// If domain search fails, fall back to name search
|
|
142
|
+
console.warn(`Domain search failed for "${extractedDomain}", falling back to name search:`, error);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
// Fallback to name-based search
|
|
146
|
+
const nameResults = await searchCompaniesByName(query);
|
|
147
|
+
// Apply maxResults limit if specified
|
|
148
|
+
return maxResults ? nameResults.slice(0, maxResults) : nameResults;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Searches for companies by domain/website
|
|
152
|
+
*
|
|
153
|
+
* @param domain - Domain to search for
|
|
154
|
+
* @returns Array of matching company objects
|
|
155
|
+
*/
|
|
156
|
+
export async function searchCompaniesByDomain(domain) {
|
|
157
|
+
// Early return for empty domain
|
|
158
|
+
if (!domain || !domain.trim()) {
|
|
159
|
+
return [];
|
|
160
|
+
}
|
|
161
|
+
const normalizedDomain = normalizeDomain(domain);
|
|
162
|
+
// Debug logging for domain search
|
|
163
|
+
if (process.env.NODE_ENV === 'development' || process.env.DEBUG) {
|
|
164
|
+
console.debug(`[searchCompaniesByDomain] Searching for domain: "${normalizedDomain}" (original: "${domain}")`);
|
|
165
|
+
}
|
|
166
|
+
// Create filters for domain search - FIXED: Use 'domains' field instead of 'website'
|
|
167
|
+
const filters = {
|
|
168
|
+
filters: [
|
|
169
|
+
{
|
|
170
|
+
attribute: { slug: 'domains' },
|
|
171
|
+
condition: FilterConditionType.CONTAINS,
|
|
172
|
+
value: normalizedDomain,
|
|
173
|
+
},
|
|
174
|
+
],
|
|
175
|
+
};
|
|
176
|
+
try {
|
|
177
|
+
return await advancedSearchCompanies(filters);
|
|
178
|
+
}
|
|
179
|
+
catch (error) {
|
|
180
|
+
// Fallback to direct API call - FIXED: Use 'domains' field instead of 'website'
|
|
181
|
+
const api = getAttioClient();
|
|
182
|
+
const path = '/objects/companies/records/query';
|
|
183
|
+
const response = await api.post(path, {
|
|
184
|
+
filter: {
|
|
185
|
+
domains: { $contains: normalizedDomain },
|
|
186
|
+
},
|
|
187
|
+
});
|
|
188
|
+
return response.data.data || [];
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Searches for companies by name only
|
|
193
|
+
*
|
|
194
|
+
* @param query - Search query string to match against company names
|
|
195
|
+
* @returns Array of matching company objects
|
|
196
|
+
*/
|
|
197
|
+
export async function searchCompaniesByName(query) {
|
|
198
|
+
// Early return for empty query
|
|
199
|
+
if (!query || !query.trim()) {
|
|
200
|
+
return [];
|
|
201
|
+
}
|
|
202
|
+
// Create cache key (normalize query for better cache hits)
|
|
203
|
+
const cacheKey = `name:${query.trim().toLowerCase()}`;
|
|
204
|
+
// Check cache first
|
|
205
|
+
const cachedResult = companySearchCache.get(cacheKey);
|
|
206
|
+
if (cachedResult) {
|
|
207
|
+
if (process.env.NODE_ENV === 'development' || process.env.DEBUG) {
|
|
208
|
+
console.debug(`[searchCompaniesByName] Cache hit for: "${query}" (${cachedResult.length} results)`);
|
|
209
|
+
}
|
|
210
|
+
return cachedResult;
|
|
211
|
+
}
|
|
212
|
+
// Debug logging for name search
|
|
213
|
+
if (process.env.NODE_ENV === 'development' || process.env.DEBUG) {
|
|
214
|
+
console.debug(`[searchCompaniesByName] Searching by name: "${query}"`);
|
|
215
|
+
}
|
|
216
|
+
// Use the unified operation if available, with fallback to direct implementation
|
|
217
|
+
let results;
|
|
218
|
+
try {
|
|
219
|
+
results = await searchObject(ResourceType.COMPANIES, query);
|
|
220
|
+
}
|
|
221
|
+
catch (error) {
|
|
222
|
+
// Fallback implementation
|
|
223
|
+
const api = getAttioClient();
|
|
224
|
+
const path = '/objects/companies/records/query';
|
|
225
|
+
const response = await api.post(path, {
|
|
226
|
+
filter: {
|
|
227
|
+
name: { $contains: query },
|
|
228
|
+
},
|
|
229
|
+
});
|
|
230
|
+
results = response.data.data || [];
|
|
231
|
+
}
|
|
232
|
+
// Cache the results
|
|
233
|
+
companySearchCache.set(cacheKey, results);
|
|
234
|
+
if (process.env.NODE_ENV === 'development' || process.env.DEBUG) {
|
|
235
|
+
console.debug(`[searchCompaniesByName] Cached ${results.length} results for: "${query}"`);
|
|
236
|
+
}
|
|
237
|
+
return results;
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Performs advanced search with custom filters
|
|
241
|
+
*
|
|
242
|
+
* @param filters - List of filters to apply
|
|
243
|
+
* @param limit - Maximum number of results to return (default: 20)
|
|
244
|
+
* @param offset - Number of results to skip (default: 0)
|
|
245
|
+
* @returns Array of company results
|
|
246
|
+
* @throws Error if the search encounters any issues
|
|
247
|
+
* @example
|
|
248
|
+
* ```typescript
|
|
249
|
+
* // Search for companies with names containing "Tech"
|
|
250
|
+
* const filters = {
|
|
251
|
+
* filters: [
|
|
252
|
+
* {
|
|
253
|
+
* attribute: { slug: 'name' },
|
|
254
|
+
* condition: 'contains',
|
|
255
|
+
* value: 'Tech'
|
|
256
|
+
* }
|
|
257
|
+
* ]
|
|
258
|
+
* };
|
|
259
|
+
* const companies = await advancedSearchCompanies(filters);
|
|
260
|
+
*
|
|
261
|
+
* // Search with multiple conditions using OR logic
|
|
262
|
+
* const orFilters = {
|
|
263
|
+
* filters: [
|
|
264
|
+
* {
|
|
265
|
+
* attribute: { slug: 'name' },
|
|
266
|
+
* condition: 'contains',
|
|
267
|
+
* value: 'Tech'
|
|
268
|
+
* },
|
|
269
|
+
* {
|
|
270
|
+
* attribute: { slug: 'industry' },
|
|
271
|
+
* condition: 'equals',
|
|
272
|
+
* value: 'Software'
|
|
273
|
+
* }
|
|
274
|
+
* ],
|
|
275
|
+
* matchAny: true // Use OR logic between conditions
|
|
276
|
+
* };
|
|
277
|
+
*
|
|
278
|
+
* // Complex search with nested conditions
|
|
279
|
+
* const complexFilters = {
|
|
280
|
+
* filters: [
|
|
281
|
+
* // Company name condition
|
|
282
|
+
* {
|
|
283
|
+
* attribute: { slug: 'name' },
|
|
284
|
+
* condition: 'contains',
|
|
285
|
+
* value: 'Tech'
|
|
286
|
+
* },
|
|
287
|
+
* // Revenue condition - find companies with annual revenue > $10M
|
|
288
|
+
* {
|
|
289
|
+
* attribute: { slug: 'annual_revenue' },
|
|
290
|
+
* condition: 'greater_than',
|
|
291
|
+
* value: 10000000
|
|
292
|
+
* },
|
|
293
|
+
* // Industry condition
|
|
294
|
+
* {
|
|
295
|
+
* attribute: { slug: 'industry' },
|
|
296
|
+
* condition: 'equals',
|
|
297
|
+
* value: 'Software'
|
|
298
|
+
* }
|
|
299
|
+
* ]
|
|
300
|
+
* };
|
|
301
|
+
* ```
|
|
302
|
+
*/
|
|
303
|
+
export async function advancedSearchCompanies(filters, limit, offset) {
|
|
304
|
+
try {
|
|
305
|
+
// Import validation utilities only when needed to avoid circular dependencies
|
|
306
|
+
// This is a dynamic import that won't affect the module dependency graph
|
|
307
|
+
const { validateFilters, ERROR_MESSAGES } = await import('../../utils/filters/validation-utils.js');
|
|
308
|
+
// Use standardized validation with consistent error messages
|
|
309
|
+
validateFilters(filters);
|
|
310
|
+
// Proceed with the search operation
|
|
311
|
+
return await advancedSearchObject(ResourceType.COMPANIES, filters, limit, offset);
|
|
312
|
+
}
|
|
313
|
+
catch (error) {
|
|
314
|
+
// For FilterValidationError, add more context specific to companies
|
|
315
|
+
if (error instanceof FilterValidationError) {
|
|
316
|
+
// Enhance with company-specific context but keep the original message and category
|
|
317
|
+
throw new FilterValidationError(`Advanced company search filter invalid: ${error.message}`, error.category);
|
|
318
|
+
}
|
|
319
|
+
// For other errors, provide clear context
|
|
320
|
+
if (error instanceof Error) {
|
|
321
|
+
// Log the error in development mode
|
|
322
|
+
if (process.env.NODE_ENV === 'development') {
|
|
323
|
+
console.error('[advancedSearchCompanies] Error details:', {
|
|
324
|
+
message: error.message,
|
|
325
|
+
stack: error.stack,
|
|
326
|
+
});
|
|
327
|
+
}
|
|
328
|
+
// Throw with enhanced context
|
|
329
|
+
throw new Error(`Error in advanced company search: ${error.message}`);
|
|
330
|
+
}
|
|
331
|
+
// If we reach here, it's an unexpected error
|
|
332
|
+
throw new Error(`Failed to search companies with advanced filters: ${String(error)}`);
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* Helper function to create filters for searching companies by name
|
|
337
|
+
*
|
|
338
|
+
* @param name - Name to search for
|
|
339
|
+
* @param condition - Condition type (default: CONTAINS)
|
|
340
|
+
* @returns ListEntryFilters object configured for name search
|
|
341
|
+
*/
|
|
342
|
+
export function createNameFilter(name, condition = FilterConditionType.CONTAINS) {
|
|
343
|
+
return {
|
|
344
|
+
filters: [
|
|
345
|
+
{
|
|
346
|
+
attribute: { slug: 'name' },
|
|
347
|
+
condition: condition,
|
|
348
|
+
value: name,
|
|
349
|
+
},
|
|
350
|
+
],
|
|
351
|
+
};
|
|
352
|
+
}
|
|
353
|
+
/**
|
|
354
|
+
* Helper function to create filters for searching companies by website
|
|
355
|
+
*
|
|
356
|
+
* @param website - Website to search for
|
|
357
|
+
* @param condition - Condition type (default: CONTAINS)
|
|
358
|
+
* @returns ListEntryFilters object configured for website search
|
|
359
|
+
*/
|
|
360
|
+
export function createWebsiteFilter(website, condition = FilterConditionType.CONTAINS) {
|
|
361
|
+
return {
|
|
362
|
+
filters: [
|
|
363
|
+
{
|
|
364
|
+
attribute: { slug: 'website' },
|
|
365
|
+
condition: condition,
|
|
366
|
+
value: website,
|
|
367
|
+
},
|
|
368
|
+
],
|
|
369
|
+
};
|
|
370
|
+
}
|
|
371
|
+
/**
|
|
372
|
+
* Helper function to create filters for searching companies by industry
|
|
373
|
+
*
|
|
374
|
+
* @param industry - Industry to search for
|
|
375
|
+
* @param condition - Condition type (default: CONTAINS)
|
|
376
|
+
* @returns ListEntryFilters object configured for industry search
|
|
377
|
+
*/
|
|
378
|
+
export function createIndustryFilter(industry, condition = FilterConditionType.CONTAINS) {
|
|
379
|
+
return {
|
|
380
|
+
filters: [
|
|
381
|
+
{
|
|
382
|
+
attribute: { slug: 'industry' },
|
|
383
|
+
condition: condition,
|
|
384
|
+
value: industry,
|
|
385
|
+
},
|
|
386
|
+
],
|
|
387
|
+
};
|
|
388
|
+
}
|
|
389
|
+
/**
|
|
390
|
+
* Helper function to create filters for searching companies by domain
|
|
391
|
+
*
|
|
392
|
+
* @param domain - Domain to search for
|
|
393
|
+
* @param condition - Condition type (default: CONTAINS)
|
|
394
|
+
* @returns ListEntryFilters object configured for domain search
|
|
395
|
+
*/
|
|
396
|
+
export function createDomainFilter(domain, condition = FilterConditionType.CONTAINS) {
|
|
397
|
+
const normalizedDomain = normalizeDomain(domain);
|
|
398
|
+
return {
|
|
399
|
+
filters: [
|
|
400
|
+
{
|
|
401
|
+
attribute: { slug: 'domains' },
|
|
402
|
+
condition: condition,
|
|
403
|
+
value: normalizedDomain,
|
|
404
|
+
},
|
|
405
|
+
],
|
|
406
|
+
};
|
|
407
|
+
}
|
|
408
|
+
/**
|
|
409
|
+
* Smart search that automatically determines search strategy based on query content
|
|
410
|
+
*
|
|
411
|
+
* @param query - Search query that may contain domain, email, URL, or company name
|
|
412
|
+
* @returns Array of matching company objects with domain matches prioritized
|
|
413
|
+
*/
|
|
414
|
+
export async function smartSearchCompanies(query) {
|
|
415
|
+
// Early return for empty query
|
|
416
|
+
if (!query || !query.trim()) {
|
|
417
|
+
return [];
|
|
418
|
+
}
|
|
419
|
+
const domains = extractAllDomains(query);
|
|
420
|
+
// Debug logging for smart search
|
|
421
|
+
if (process.env.NODE_ENV === 'development' || process.env.DEBUG) {
|
|
422
|
+
console.debug(`[smartSearchCompanies] Smart search for: "${query}", extracted domains: [${domains.join(', ')}]`);
|
|
423
|
+
}
|
|
424
|
+
if (domains.length > 0) {
|
|
425
|
+
// Multi-domain search with prioritization
|
|
426
|
+
const allResults = [];
|
|
427
|
+
const seenIds = new Set();
|
|
428
|
+
// Search by each domain first
|
|
429
|
+
for (const domain of domains) {
|
|
430
|
+
try {
|
|
431
|
+
const domainResults = await searchCompaniesByDomain(domain);
|
|
432
|
+
for (const result of domainResults) {
|
|
433
|
+
const id = result.id?.record_id;
|
|
434
|
+
if (id && !seenIds.has(id)) {
|
|
435
|
+
seenIds.add(id);
|
|
436
|
+
allResults.push(result);
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
catch (error) {
|
|
441
|
+
console.warn(`Domain search failed for "${domain}":`, error);
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
// Add name-based results if we have room
|
|
445
|
+
try {
|
|
446
|
+
const nameResults = await searchCompaniesByName(query);
|
|
447
|
+
for (const result of nameResults) {
|
|
448
|
+
const id = result.id?.record_id;
|
|
449
|
+
if (id && !seenIds.has(id)) {
|
|
450
|
+
seenIds.add(id);
|
|
451
|
+
allResults.push(result);
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
}
|
|
455
|
+
catch (error) {
|
|
456
|
+
console.warn(`Name search failed for "${query}":`, error);
|
|
457
|
+
}
|
|
458
|
+
return allResults;
|
|
459
|
+
}
|
|
460
|
+
// No domains found, use regular name search
|
|
461
|
+
return await searchCompaniesByName(query);
|
|
462
|
+
}
|
|
463
|
+
//# sourceMappingURL=search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/objects/companies/search.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared types for company modules
|
|
3
|
+
*/
|
|
4
|
+
export type { Company, AttioNote, FilterConditionType, RecordAttributes, } from '../../types/attio.js';
|
|
5
|
+
export type { CompanyCreateInput, CompanyUpdateInput, CompanyAttributeUpdate, } from '../../types/company-types.js';
|
|
6
|
+
export interface CompanyAttributes {
|
|
7
|
+
name?: string;
|
|
8
|
+
website?: string;
|
|
9
|
+
industry?: string;
|
|
10
|
+
domains?: string[];
|
|
11
|
+
description?: string;
|
|
12
|
+
type?: string;
|
|
13
|
+
type_persona?: string;
|
|
14
|
+
services?: string[];
|
|
15
|
+
categories?: string[];
|
|
16
|
+
estimated_arr_usd?: number;
|
|
17
|
+
funding_raised_usd?: number;
|
|
18
|
+
employee_range?: string;
|
|
19
|
+
foundation_date?: string;
|
|
20
|
+
primary_location?: string;
|
|
21
|
+
[key: string]: any;
|
|
22
|
+
}
|
|
23
|
+
export interface CompanyFieldUpdate {
|
|
24
|
+
name: string;
|
|
25
|
+
values: any[];
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/objects/companies/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,YAAY,EACV,OAAO,EACP,SAAS,EACT,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EACV,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,8BAA8B,CAAC;AAGtC,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,GAAG,EAAE,CAAC;CACf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/objects/companies/types.ts"],"names":[],"mappings":";AAwCA,iDAAiD"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { BatchConfig, BatchResponse, ListEntryFilters } from '../api/operations/index.js';
|
|
2
|
+
import { AttioList, AttioListEntry } from '../types/attio.js';
|
|
3
|
+
/**
|
|
4
|
+
* Represents a list membership entry for a record
|
|
5
|
+
*/
|
|
6
|
+
export interface ListMembership {
|
|
7
|
+
listId: string;
|
|
8
|
+
listName: string;
|
|
9
|
+
entryId: string;
|
|
10
|
+
entryValues?: Record<string, any>;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Gets all lists in the workspace
|
|
14
|
+
*
|
|
15
|
+
* @param objectSlug - Optional object type to filter lists by (e.g., 'companies', 'people')
|
|
16
|
+
* @param limit - Maximum number of lists to fetch (default: 20)
|
|
17
|
+
* @returns Array of list objects
|
|
18
|
+
*/
|
|
19
|
+
export declare function getLists(objectSlug?: string, limit?: number): Promise<AttioList[]>;
|
|
20
|
+
/**
|
|
21
|
+
* Gets details for a specific list
|
|
22
|
+
*
|
|
23
|
+
* @param listId - The ID of the list
|
|
24
|
+
* @returns List details
|
|
25
|
+
*/
|
|
26
|
+
export declare function getListDetails(listId: string): Promise<AttioList>;
|
|
27
|
+
/**
|
|
28
|
+
* Gets entries for a specific list
|
|
29
|
+
*
|
|
30
|
+
* @param listId - The ID of the list
|
|
31
|
+
* @param limit - Maximum number of entries to fetch (default: 20)
|
|
32
|
+
* @param offset - Number of entries to skip (default: 0)
|
|
33
|
+
* @param filters - Optional filters to apply to the list entries
|
|
34
|
+
* @returns Array of list entries
|
|
35
|
+
*/
|
|
36
|
+
export declare function getListEntries(listId: string, limit?: number, offset?: number, filters?: ListEntryFilters): Promise<AttioListEntry[]>;
|
|
37
|
+
/**
|
|
38
|
+
* Adds a record to a list
|
|
39
|
+
*
|
|
40
|
+
* @param listId - The ID of the list
|
|
41
|
+
* @param recordId - The ID of the record to add
|
|
42
|
+
* @param objectType - Optional object type ('companies', 'people', etc.)
|
|
43
|
+
* @param initialValues - Optional initial values for the list entry (e.g., stage)
|
|
44
|
+
* @returns The created list entry
|
|
45
|
+
*/
|
|
46
|
+
export declare function addRecordToList(listId: string, recordId: string, objectType?: string, initialValues?: Record<string, any>): Promise<AttioListEntry>;
|
|
47
|
+
/**
|
|
48
|
+
* Updates a list entry (e.g., changing stage)
|
|
49
|
+
*
|
|
50
|
+
* @param listId - The ID of the list
|
|
51
|
+
* @param entryId - The ID of the list entry to update
|
|
52
|
+
* @param attributes - The attributes to update (e.g., { stage: "Demo Scheduling" })
|
|
53
|
+
* @returns The updated list entry
|
|
54
|
+
*/
|
|
55
|
+
export declare function updateListEntry(listId: string, entryId: string, attributes: Record<string, any>): Promise<AttioListEntry>;
|
|
56
|
+
/**
|
|
57
|
+
* Removes a record from a list
|
|
58
|
+
*
|
|
59
|
+
* @param listId - The ID of the list
|
|
60
|
+
* @param entryId - The ID of the list entry to remove
|
|
61
|
+
* @returns True if successful
|
|
62
|
+
*/
|
|
63
|
+
export declare function removeRecordFromList(listId: string, entryId: string): Promise<boolean>;
|
|
64
|
+
/**
|
|
65
|
+
* Gets details for multiple lists in batch
|
|
66
|
+
*
|
|
67
|
+
* @param listIds - Array of list IDs to fetch
|
|
68
|
+
* @param batchConfig - Optional batch configuration
|
|
69
|
+
* @returns Batch response with list details for each ID
|
|
70
|
+
*/
|
|
71
|
+
export declare function batchGetListsDetails(listIds: string[], batchConfig?: Partial<BatchConfig>): Promise<BatchResponse<AttioList>>;
|
|
72
|
+
/**
|
|
73
|
+
* Gets entries for multiple lists in batch
|
|
74
|
+
*
|
|
75
|
+
* @param listConfigs - Array of list configurations with ID, limit, and offset
|
|
76
|
+
* @param batchConfig - Optional batch configuration
|
|
77
|
+
* @returns Batch response with list entries for each configuration
|
|
78
|
+
*/
|
|
79
|
+
export declare function batchGetListsEntries(listConfigs: Array<{
|
|
80
|
+
listId: string;
|
|
81
|
+
limit?: number;
|
|
82
|
+
offset?: number;
|
|
83
|
+
}>, batchConfig?: Partial<BatchConfig>): Promise<BatchResponse<AttioListEntry[]>>;
|
|
84
|
+
/**
|
|
85
|
+
* Finds all lists that contain a specific record
|
|
86
|
+
*
|
|
87
|
+
* @param recordId - The ID of the record to find in lists
|
|
88
|
+
* @param objectType - Optional record type ('companies', 'people', etc.)
|
|
89
|
+
* @param includeEntryValues - Whether to include entry values in the result (default: false)
|
|
90
|
+
* @returns Array of list memberships
|
|
91
|
+
*/
|
|
92
|
+
/**
|
|
93
|
+
* Finds all lists that contain a specific record
|
|
94
|
+
*
|
|
95
|
+
* @param recordId - The ID of the record to find in lists
|
|
96
|
+
* @param objectType - Optional record type ('companies', 'people', etc.)
|
|
97
|
+
* @param includeEntryValues - Whether to include entry values in the result (default: false)
|
|
98
|
+
* @param batchSize - Number of lists to process in parallel (default: 5)
|
|
99
|
+
* @returns Array of list memberships
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* // Find all lists containing a company record
|
|
103
|
+
* const memberships = await getRecordListMemberships('company-123', 'companies');
|
|
104
|
+
*
|
|
105
|
+
* // Find all lists containing a person record with entry values
|
|
106
|
+
* const membershipsWithValues = await getRecordListMemberships('person-456', 'people', true);
|
|
107
|
+
*/
|
|
108
|
+
export declare function getRecordListMemberships(recordId: string, objectType?: string, includeEntryValues?: boolean, batchSize?: number): Promise<ListMembership[]>;
|
|
109
|
+
/**
|
|
110
|
+
* Filters list entries based on parent record properties using path-based filtering
|
|
111
|
+
*
|
|
112
|
+
* This function allows filtering list entries based on properties of their parent records,
|
|
113
|
+
* such as company name, email domain, or any other attribute of the parent record.
|
|
114
|
+
*
|
|
115
|
+
* @param listId - The ID of the list to filter entries from
|
|
116
|
+
* @param parentObjectType - The type of parent record (e.g., 'companies', 'people')
|
|
117
|
+
* @param parentAttributeSlug - The attribute of the parent record to filter by
|
|
118
|
+
* @param condition - The filter condition to apply
|
|
119
|
+
* @param value - The value to filter by
|
|
120
|
+
* @param limit - Maximum number of entries to fetch (default: 20)
|
|
121
|
+
* @param offset - Number of entries to skip (default: 0)
|
|
122
|
+
* @returns Array of filtered list entries
|
|
123
|
+
*
|
|
124
|
+
* @example
|
|
125
|
+
* // Get list entries for companies that have "Tech" in their industry
|
|
126
|
+
* const entries = await filterListEntriesByParent(
|
|
127
|
+
* 'list_12345',
|
|
128
|
+
* 'companies',
|
|
129
|
+
* 'industry',
|
|
130
|
+
* 'contains',
|
|
131
|
+
* 'Tech'
|
|
132
|
+
* );
|
|
133
|
+
*/
|
|
134
|
+
export declare function filterListEntriesByParent(listId: string, parentObjectType: string, parentAttributeSlug: string, condition: string, value: any, limit?: number, offset?: number): Promise<AttioListEntry[]>;
|
|
135
|
+
/**
|
|
136
|
+
* Filters list entries by parent record ID
|
|
137
|
+
*
|
|
138
|
+
* This is a specialized version of filterListEntriesByParent that specifically
|
|
139
|
+
* filters by the record ID of the parent record, which is a common use case.
|
|
140
|
+
*
|
|
141
|
+
* @param listId - The ID of the list to filter entries from
|
|
142
|
+
* @param recordId - The ID of the parent record to filter by
|
|
143
|
+
* @param limit - Maximum number of entries to fetch (default: 20)
|
|
144
|
+
* @param offset - Number of entries to skip (default: 0)
|
|
145
|
+
* @returns Array of filtered list entries
|
|
146
|
+
*/
|
|
147
|
+
export declare function filterListEntriesByParentId(listId: string, recordId: string, limit?: number, offset?: number): Promise<AttioListEntry[]>;
|
|
148
|
+
//# sourceMappingURL=lists.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lists.d.ts","sourceRoot":"","sources":["../../src/objects/lists.ts"],"names":[],"mappings":"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"}
|