@digital-science-dsl/dimensions-analytics-mcp 0.5.3
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 +61 -0
- package/README.md +152 -0
- package/bin/dimensions-analytics-mcp-http.js +2 -0
- package/bin/dimensions-analytics-mcp.js +2 -0
- package/dist/client/auth/config-loaders.d.ts +22 -0
- package/dist/client/auth/config-loaders.d.ts.map +1 -0
- package/dist/client/auth/config-loaders.js +68 -0
- package/dist/client/auth/config-loaders.js.map +1 -0
- package/dist/client/auth/decorators/index.d.ts +7 -0
- package/dist/client/auth/decorators/index.d.ts.map +1 -0
- package/dist/client/auth/decorators/index.js +6 -0
- package/dist/client/auth/decorators/index.js.map +1 -0
- package/dist/client/auth/decorators/with-caching.d.ts +81 -0
- package/dist/client/auth/decorators/with-caching.d.ts.map +1 -0
- package/dist/client/auth/decorators/with-caching.js +168 -0
- package/dist/client/auth/decorators/with-caching.js.map +1 -0
- package/dist/client/auth/factory.d.ts +13 -0
- package/dist/client/auth/factory.d.ts.map +1 -0
- package/dist/client/auth/factory.js +29 -0
- package/dist/client/auth/factory.js.map +1 -0
- package/dist/client/auth/index.d.ts +7 -0
- package/dist/client/auth/index.d.ts.map +1 -0
- package/dist/client/auth/index.js +6 -0
- package/dist/client/auth/index.js.map +1 -0
- package/dist/client/auth/jwt-utils.d.ts +17 -0
- package/dist/client/auth/jwt-utils.d.ts.map +1 -0
- package/dist/client/auth/jwt-utils.js +33 -0
- package/dist/client/auth/jwt-utils.js.map +1 -0
- package/dist/client/auth/node.d.ts +16 -0
- package/dist/client/auth/node.d.ts.map +1 -0
- package/dist/client/auth/node.js +15 -0
- package/dist/client/auth/node.js.map +1 -0
- package/dist/client/auth/providers/index.d.ts +2 -0
- package/dist/client/auth/providers/index.d.ts.map +1 -0
- package/dist/client/auth/providers/index.js +2 -0
- package/dist/client/auth/providers/index.js.map +1 -0
- package/dist/client/auth/providers/jwt-auth-provider.d.ts +70 -0
- package/dist/client/auth/providers/jwt-auth-provider.d.ts.map +1 -0
- package/dist/client/auth/providers/jwt-auth-provider.js +134 -0
- package/dist/client/auth/providers/jwt-auth-provider.js.map +1 -0
- package/dist/client/auth/schemas.d.ts +19 -0
- package/dist/client/auth/schemas.d.ts.map +1 -0
- package/dist/client/auth/schemas.js +23 -0
- package/dist/client/auth/schemas.js.map +1 -0
- package/dist/client/auth/types.d.ts +25 -0
- package/dist/client/auth/types.d.ts.map +1 -0
- package/dist/client/auth/types.js +9 -0
- package/dist/client/auth/types.js.map +1 -0
- package/dist/client/command.d.ts +44 -0
- package/dist/client/command.d.ts.map +1 -0
- package/dist/client/command.js +23 -0
- package/dist/client/command.js.map +1 -0
- package/dist/client/config/index.d.ts +11 -0
- package/dist/client/config/index.d.ts.map +1 -0
- package/dist/client/config/index.js +8 -0
- package/dist/client/config/index.js.map +1 -0
- package/dist/client/config/loader.d.ts +27 -0
- package/dist/client/config/loader.d.ts.map +1 -0
- package/dist/client/config/loader.js +128 -0
- package/dist/client/config/loader.js.map +1 -0
- package/dist/client/config/node.d.ts +18 -0
- package/dist/client/config/node.d.ts.map +1 -0
- package/dist/client/config/node.js +17 -0
- package/dist/client/config/node.js.map +1 -0
- package/dist/client/config/schemas.d.ts +23 -0
- package/dist/client/config/schemas.d.ts.map +1 -0
- package/dist/client/config/schemas.js +24 -0
- package/dist/client/config/schemas.js.map +1 -0
- package/dist/client/config/types.d.ts +37 -0
- package/dist/client/config/types.d.ts.map +1 -0
- package/dist/client/config/types.js +6 -0
- package/dist/client/config/types.js.map +1 -0
- package/dist/client/config/unified-loader.d.ts +41 -0
- package/dist/client/config/unified-loader.d.ts.map +1 -0
- package/dist/client/config/unified-loader.js +86 -0
- package/dist/client/config/unified-loader.js.map +1 -0
- package/dist/client/config.d.ts +43 -0
- package/dist/client/config.d.ts.map +1 -0
- package/dist/client/config.js +56 -0
- package/dist/client/config.js.map +1 -0
- package/dist/client/deployment-config.d.ts +36 -0
- package/dist/client/deployment-config.d.ts.map +1 -0
- package/dist/client/deployment-config.js +79 -0
- package/dist/client/deployment-config.js.map +1 -0
- package/dist/client/errors.d.ts +180 -0
- package/dist/client/errors.d.ts.map +1 -0
- package/dist/client/errors.js +253 -0
- package/dist/client/errors.js.map +1 -0
- package/dist/client/http-client.d.ts +215 -0
- package/dist/client/http-client.d.ts.map +1 -0
- package/dist/client/http-client.js +419 -0
- package/dist/client/http-client.js.map +1 -0
- package/dist/client/index.d.ts +28 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +18 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/internal-dsl-client.d.ts +30 -0
- package/dist/client/internal-dsl-client.d.ts.map +1 -0
- package/dist/client/internal-dsl-client.js +101 -0
- package/dist/client/internal-dsl-client.js.map +1 -0
- package/dist/client/rate-limiter.d.ts +79 -0
- package/dist/client/rate-limiter.d.ts.map +1 -0
- package/dist/client/rate-limiter.js +118 -0
- package/dist/client/rate-limiter.js.map +1 -0
- package/dist/client/resolve-api-key-user.d.ts +24 -0
- package/dist/client/resolve-api-key-user.d.ts.map +1 -0
- package/dist/client/resolve-api-key-user.js +80 -0
- package/dist/client/resolve-api-key-user.js.map +1 -0
- package/dist/client/types.d.ts +44 -0
- package/dist/client/types.d.ts.map +1 -0
- package/dist/client/types.js +10 -0
- package/dist/client/types.js.map +1 -0
- package/dist/dsl/client.d.ts +330 -0
- package/dist/dsl/client.d.ts.map +1 -0
- package/dist/dsl/client.js +433 -0
- package/dist/dsl/client.js.map +1 -0
- package/dist/dsl/commands/apply-filters.d.ts +15 -0
- package/dist/dsl/commands/apply-filters.d.ts.map +1 -0
- package/dist/dsl/commands/apply-filters.js +29 -0
- package/dist/dsl/commands/apply-filters.js.map +1 -0
- package/dist/dsl/commands/facet/index.d.ts +6 -0
- package/dist/dsl/commands/facet/index.d.ts.map +1 -0
- package/dist/dsl/commands/facet/index.js +6 -0
- package/dist/dsl/commands/facet/index.js.map +1 -0
- package/dist/dsl/commands/facet/schemas.d.ts +71 -0
- package/dist/dsl/commands/facet/schemas.d.ts.map +1 -0
- package/dist/dsl/commands/facet/schemas.js +84 -0
- package/dist/dsl/commands/facet/schemas.js.map +1 -0
- package/dist/dsl/commands/functions/ClassifyCommand.d.ts +96 -0
- package/dist/dsl/commands/functions/ClassifyCommand.d.ts.map +1 -0
- package/dist/dsl/commands/functions/ClassifyCommand.js +95 -0
- package/dist/dsl/commands/functions/ClassifyCommand.js.map +1 -0
- package/dist/dsl/commands/functions/ExtractAffiliationsCommand.d.ts +86 -0
- package/dist/dsl/commands/functions/ExtractAffiliationsCommand.d.ts.map +1 -0
- package/dist/dsl/commands/functions/ExtractAffiliationsCommand.js +131 -0
- package/dist/dsl/commands/functions/ExtractAffiliationsCommand.js.map +1 -0
- package/dist/dsl/commands/functions/ExtractConceptsCommand.d.ts +73 -0
- package/dist/dsl/commands/functions/ExtractConceptsCommand.d.ts.map +1 -0
- package/dist/dsl/commands/functions/ExtractConceptsCommand.js +110 -0
- package/dist/dsl/commands/functions/ExtractConceptsCommand.js.map +1 -0
- package/dist/dsl/commands/functions/ExtractGrantsCommand.d.ts +66 -0
- package/dist/dsl/commands/functions/ExtractGrantsCommand.d.ts.map +1 -0
- package/dist/dsl/commands/functions/ExtractGrantsCommand.js +87 -0
- package/dist/dsl/commands/functions/ExtractGrantsCommand.js.map +1 -0
- package/dist/dsl/commands/functions/index.d.ts +10 -0
- package/dist/dsl/commands/functions/index.d.ts.map +1 -0
- package/dist/dsl/commands/functions/index.js +10 -0
- package/dist/dsl/commands/functions/index.js.map +1 -0
- package/dist/dsl/commands/index.d.ts +8 -0
- package/dist/dsl/commands/index.d.ts.map +1 -0
- package/dist/dsl/commands/index.js +7 -0
- package/dist/dsl/commands/index.js.map +1 -0
- package/dist/dsl/commands/validate-input.d.ts +18 -0
- package/dist/dsl/commands/validate-input.d.ts.map +1 -0
- package/dist/dsl/commands/validate-input.js +27 -0
- package/dist/dsl/commands/validate-input.js.map +1 -0
- package/dist/dsl/create-client.d.ts +32 -0
- package/dist/dsl/create-client.d.ts.map +1 -0
- package/dist/dsl/create-client.js +58 -0
- package/dist/dsl/create-client.js.map +1 -0
- package/dist/dsl/fluent-query-builder.d.ts +439 -0
- package/dist/dsl/fluent-query-builder.d.ts.map +1 -0
- package/dist/dsl/fluent-query-builder.js +534 -0
- package/dist/dsl/fluent-query-builder.js.map +1 -0
- package/dist/dsl/index.d.ts +32 -0
- package/dist/dsl/index.d.ts.map +1 -0
- package/dist/dsl/index.js +31 -0
- package/dist/dsl/index.js.map +1 -0
- package/dist/dsl/pagination.d.ts +82 -0
- package/dist/dsl/pagination.d.ts.map +1 -0
- package/dist/dsl/pagination.js +135 -0
- package/dist/dsl/pagination.js.map +1 -0
- package/dist/dsl/query-builder.d.ts +456 -0
- package/dist/dsl/query-builder.d.ts.map +1 -0
- package/dist/dsl/query-builder.js +994 -0
- package/dist/dsl/query-builder.js.map +1 -0
- package/dist/dsl/response-parser.d.ts +111 -0
- package/dist/dsl/response-parser.d.ts.map +1 -0
- package/dist/dsl/response-parser.js +210 -0
- package/dist/dsl/response-parser.js.map +1 -0
- package/dist/dsl/schema/cache.d.ts +52 -0
- package/dist/dsl/schema/cache.d.ts.map +1 -0
- package/dist/dsl/schema/cache.js +97 -0
- package/dist/dsl/schema/cache.js.map +1 -0
- package/dist/dsl/schema/extract.d.ts +18 -0
- package/dist/dsl/schema/extract.d.ts.map +1 -0
- package/dist/dsl/schema/extract.js +41 -0
- package/dist/dsl/schema/extract.js.map +1 -0
- package/dist/dsl/schema/index.d.ts +13 -0
- package/dist/dsl/schema/index.d.ts.map +1 -0
- package/dist/dsl/schema/index.js +12 -0
- package/dist/dsl/schema/index.js.map +1 -0
- package/dist/dsl/schema/load.d.ts +41 -0
- package/dist/dsl/schema/load.d.ts.map +1 -0
- package/dist/dsl/schema/load.js +119 -0
- package/dist/dsl/schema/load.js.map +1 -0
- package/dist/dsl/schema/store.d.ts +137 -0
- package/dist/dsl/schema/store.d.ts.map +1 -0
- package/dist/dsl/schema/store.js +204 -0
- package/dist/dsl/schema/store.js.map +1 -0
- package/dist/dsl/schema/structured-entities.d.ts +21 -0
- package/dist/dsl/schema/structured-entities.d.ts.map +1 -0
- package/dist/dsl/schema/structured-entities.js +39 -0
- package/dist/dsl/schema/structured-entities.js.map +1 -0
- package/dist/dsl/schema/summary.d.ts +51 -0
- package/dist/dsl/schema/summary.d.ts.map +1 -0
- package/dist/dsl/schema/summary.js +61 -0
- package/dist/dsl/schema/summary.js.map +1 -0
- package/dist/dsl/schema/types.d.ts +36 -0
- package/dist/dsl/schema/types.d.ts.map +1 -0
- package/dist/dsl/schema/types.js +6 -0
- package/dist/dsl/schema/types.js.map +1 -0
- package/dist/dsl/schema/validation.d.ts +21 -0
- package/dist/dsl/schema/validation.d.ts.map +1 -0
- package/dist/dsl/schema/validation.js +44 -0
- package/dist/dsl/schema/validation.js.map +1 -0
- package/dist/dsl/types/buckets.d.ts +18 -0
- package/dist/dsl/types/buckets.d.ts.map +1 -0
- package/dist/dsl/types/buckets.js +6 -0
- package/dist/dsl/types/buckets.js.map +1 -0
- package/dist/dsl/types/common.d.ts +91 -0
- package/dist/dsl/types/common.d.ts.map +1 -0
- package/dist/dsl/types/common.js +6 -0
- package/dist/dsl/types/common.js.map +1 -0
- package/dist/dsl/types/entities.d.ts +35 -0
- package/dist/dsl/types/entities.d.ts.map +1 -0
- package/dist/dsl/types/entities.js +11 -0
- package/dist/dsl/types/entities.js.map +1 -0
- package/dist/dsl/types/index.d.ts +12 -0
- package/dist/dsl/types/index.d.ts.map +1 -0
- package/dist/dsl/types/index.js +7 -0
- package/dist/dsl/types/index.js.map +1 -0
- package/dist/dsl/types/return-clauses.d.ts +107 -0
- package/dist/dsl/types/return-clauses.d.ts.map +1 -0
- package/dist/dsl/types/return-clauses.js +22 -0
- package/dist/dsl/types/return-clauses.js.map +1 -0
- package/dist/dsl/types/special-functions.d.ts +175 -0
- package/dist/dsl/types/special-functions.d.ts.map +1 -0
- package/dist/dsl/types/special-functions.js +25 -0
- package/dist/dsl/types/special-functions.js.map +1 -0
- package/dist/dsl/types/vocabulary.d.ts +21 -0
- package/dist/dsl/types/vocabulary.d.ts.map +1 -0
- package/dist/dsl/types/vocabulary.js +44 -0
- package/dist/dsl/types/vocabulary.js.map +1 -0
- package/dist/dsl/usage-policy.d.ts +87 -0
- package/dist/dsl/usage-policy.d.ts.map +1 -0
- package/dist/dsl/usage-policy.js +133 -0
- package/dist/dsl/usage-policy.js.map +1 -0
- package/dist/dsl/utils/escape.d.ts +24 -0
- package/dist/dsl/utils/escape.d.ts.map +1 -0
- package/dist/dsl/utils/escape.js +124 -0
- package/dist/dsl/utils/escape.js.map +1 -0
- package/dist/dsl/utils/sanitize.d.ts +13 -0
- package/dist/dsl/utils/sanitize.d.ts.map +1 -0
- package/dist/dsl/utils/sanitize.js +19 -0
- package/dist/dsl/utils/sanitize.js.map +1 -0
- package/dist/dsl/utils/string-utils.d.ts +35 -0
- package/dist/dsl/utils/string-utils.d.ts.map +1 -0
- package/dist/dsl/utils/string-utils.js +145 -0
- package/dist/dsl/utils/string-utils.js.map +1 -0
- package/dist/dsl/utils/validate-field-name.d.ts +11 -0
- package/dist/dsl/utils/validate-field-name.d.ts.map +1 -0
- package/dist/dsl/utils/validate-field-name.js +18 -0
- package/dist/dsl/utils/validate-field-name.js.map +1 -0
- package/dist/examples/dsl-examples.d.ts +11 -0
- package/dist/examples/dsl-examples.d.ts.map +1 -0
- package/dist/examples/dsl-examples.js +49 -0
- package/dist/examples/dsl-examples.js.map +1 -0
- package/dist/examples/usage-scenarios.d.ts +22 -0
- package/dist/examples/usage-scenarios.d.ts.map +1 -0
- package/dist/examples/usage-scenarios.js +173 -0
- package/dist/examples/usage-scenarios.js.map +1 -0
- package/dist/funder-org-names.d.ts +12 -0
- package/dist/funder-org-names.d.ts.map +1 -0
- package/dist/funder-org-names.js +30 -0
- package/dist/funder-org-names.js.map +1 -0
- package/dist/http-main.d.ts +7 -0
- package/dist/http-main.d.ts.map +1 -0
- package/dist/http-main.js +36 -0
- package/dist/http-main.js.map +1 -0
- package/dist/http.d.ts +29 -0
- package/dist/http.d.ts.map +1 -0
- package/dist/http.js +173 -0
- package/dist/http.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/kwq/build-query.d.ts +26 -0
- package/dist/kwq/build-query.d.ts.map +1 -0
- package/dist/kwq/build-query.js +37 -0
- package/dist/kwq/build-query.js.map +1 -0
- package/dist/kwq/concept-groups.d.ts +49 -0
- package/dist/kwq/concept-groups.d.ts.map +1 -0
- package/dist/kwq/concept-groups.js +55 -0
- package/dist/kwq/concept-groups.js.map +1 -0
- package/dist/kwq/dsl-assembler.d.ts +28 -0
- package/dist/kwq/dsl-assembler.d.ts.map +1 -0
- package/dist/kwq/dsl-assembler.js +124 -0
- package/dist/kwq/dsl-assembler.js.map +1 -0
- package/dist/kwq/ensemble.d.ts +38 -0
- package/dist/kwq/ensemble.d.ts.map +1 -0
- package/dist/kwq/ensemble.js +107 -0
- package/dist/kwq/ensemble.js.map +1 -0
- package/dist/kwq/index.d.ts +16 -0
- package/dist/kwq/index.d.ts.map +1 -0
- package/dist/kwq/index.js +14 -0
- package/dist/kwq/index.js.map +1 -0
- package/dist/kwq/types.d.ts +120 -0
- package/dist/kwq/types.d.ts.map +1 -0
- package/dist/kwq/types.js +11 -0
- package/dist/kwq/types.js.map +1 -0
- package/dist/lambda.d.ts +10 -0
- package/dist/lambda.d.ts.map +1 -0
- package/dist/lambda.js +4 -0
- package/dist/lambda.js.map +1 -0
- package/dist/main.d.ts +8 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +33 -0
- package/dist/main.js.map +1 -0
- package/dist/mcp/batch-fetch.d.ts +89 -0
- package/dist/mcp/batch-fetch.d.ts.map +1 -0
- package/dist/mcp/batch-fetch.js +178 -0
- package/dist/mcp/batch-fetch.js.map +1 -0
- package/dist/mcp/examples/dsl-examples.d.ts +21 -0
- package/dist/mcp/examples/dsl-examples.d.ts.map +1 -0
- package/dist/mcp/examples/dsl-examples.js +61 -0
- package/dist/mcp/examples/dsl-examples.js.map +1 -0
- package/dist/mcp/examples/usage-scenarios.d.ts +20 -0
- package/dist/mcp/examples/usage-scenarios.d.ts.map +1 -0
- package/dist/mcp/examples/usage-scenarios.js +169 -0
- package/dist/mcp/examples/usage-scenarios.js.map +1 -0
- package/dist/mcp/export-format.d.ts +43 -0
- package/dist/mcp/export-format.d.ts.map +1 -0
- package/dist/mcp/export-format.js +92 -0
- package/dist/mcp/export-format.js.map +1 -0
- package/dist/mcp/funder-org-names.d.ts +12 -0
- package/dist/mcp/funder-org-names.d.ts.map +1 -0
- package/dist/mcp/funder-org-names.js +30 -0
- package/dist/mcp/funder-org-names.js.map +1 -0
- package/dist/mcp/http-server.d.ts +20 -0
- package/dist/mcp/http-server.d.ts.map +1 -0
- package/dist/mcp/http-server.js +118 -0
- package/dist/mcp/http-server.js.map +1 -0
- package/dist/mcp/middleware/field-aliases.d.ts +97 -0
- package/dist/mcp/middleware/field-aliases.d.ts.map +1 -0
- package/dist/mcp/middleware/field-aliases.js +208 -0
- package/dist/mcp/middleware/field-aliases.js.map +1 -0
- package/dist/mcp/resources/schema.d.ts +13 -0
- package/dist/mcp/resources/schema.d.ts.map +1 -0
- package/dist/mcp/resources/schema.js +262 -0
- package/dist/mcp/resources/schema.js.map +1 -0
- package/dist/mcp/schema/context.d.ts +10 -0
- package/dist/mcp/schema/context.d.ts.map +1 -0
- package/dist/mcp/schema/context.js +6 -0
- package/dist/mcp/schema/context.js.map +1 -0
- package/dist/mcp/schema/index.d.ts +8 -0
- package/dist/mcp/schema/index.d.ts.map +1 -0
- package/dist/mcp/schema/index.js +6 -0
- package/dist/mcp/schema/index.js.map +1 -0
- package/dist/mcp/server.d.ts +56 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +168 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/shared-schema.d.ts +13 -0
- package/dist/mcp/shared-schema.d.ts.map +1 -0
- package/dist/mcp/shared-schema.js +28 -0
- package/dist/mcp/shared-schema.js.map +1 -0
- package/dist/mcp/tools/analytics-filters.d.ts +18 -0
- package/dist/mcp/tools/analytics-filters.d.ts.map +1 -0
- package/dist/mcp/tools/analytics-filters.js +35 -0
- package/dist/mcp/tools/analytics-filters.js.map +1 -0
- package/dist/mcp/tools/analytics.d.ts +16 -0
- package/dist/mcp/tools/analytics.d.ts.map +1 -0
- package/dist/mcp/tools/analytics.js +381 -0
- package/dist/mcp/tools/analytics.js.map +1 -0
- package/dist/mcp/tools/concept-profile.d.ts +14 -0
- package/dist/mcp/tools/concept-profile.d.ts.map +1 -0
- package/dist/mcp/tools/concept-profile.js +130 -0
- package/dist/mcp/tools/concept-profile.js.map +1 -0
- package/dist/mcp/tools/dataset-profile.d.ts +15 -0
- package/dist/mcp/tools/dataset-profile.d.ts.map +1 -0
- package/dist/mcp/tools/dataset-profile.js +194 -0
- package/dist/mcp/tools/dataset-profile.js.map +1 -0
- package/dist/mcp/tools/fetch-search-pages.d.ts +15 -0
- package/dist/mcp/tools/fetch-search-pages.d.ts.map +1 -0
- package/dist/mcp/tools/fetch-search-pages.js +237 -0
- package/dist/mcp/tools/fetch-search-pages.js.map +1 -0
- package/dist/mcp/tools/functions.d.ts +14 -0
- package/dist/mcp/tools/functions.d.ts.map +1 -0
- package/dist/mcp/tools/functions.js +87 -0
- package/dist/mcp/tools/functions.js.map +1 -0
- package/dist/mcp/tools/impact-chain.d.ts +15 -0
- package/dist/mcp/tools/impact-chain.d.ts.map +1 -0
- package/dist/mcp/tools/impact-chain.js +96 -0
- package/dist/mcp/tools/impact-chain.js.map +1 -0
- package/dist/mcp/tools/kwq.d.ts +19 -0
- package/dist/mcp/tools/kwq.d.ts.map +1 -0
- package/dist/mcp/tools/kwq.js +156 -0
- package/dist/mcp/tools/kwq.js.map +1 -0
- package/dist/mcp/tools/lookup.d.ts +14 -0
- package/dist/mcp/tools/lookup.d.ts.map +1 -0
- package/dist/mcp/tools/lookup.js +146 -0
- package/dist/mcp/tools/lookup.js.map +1 -0
- package/dist/mcp/tools/policy-profile.d.ts +15 -0
- package/dist/mcp/tools/policy-profile.d.ts.map +1 -0
- package/dist/mcp/tools/policy-profile.js +174 -0
- package/dist/mcp/tools/policy-profile.js.map +1 -0
- package/dist/mcp/tools/profile.d.ts +14 -0
- package/dist/mcp/tools/profile.d.ts.map +1 -0
- package/dist/mcp/tools/profile.js +349 -0
- package/dist/mcp/tools/profile.js.map +1 -0
- package/dist/mcp/tools/query.d.ts +16 -0
- package/dist/mcp/tools/query.d.ts.map +1 -0
- package/dist/mcp/tools/query.js +75 -0
- package/dist/mcp/tools/query.js.map +1 -0
- package/dist/mcp/tools/schema.d.ts +23 -0
- package/dist/mcp/tools/schema.d.ts.map +1 -0
- package/dist/mcp/tools/schema.js +124 -0
- package/dist/mcp/tools/schema.js.map +1 -0
- package/dist/mcp/tools/search-entity-metadata.d.ts +18 -0
- package/dist/mcp/tools/search-entity-metadata.d.ts.map +1 -0
- package/dist/mcp/tools/search-entity-metadata.js +221 -0
- package/dist/mcp/tools/search-entity-metadata.js.map +1 -0
- package/dist/mcp/tools/search-input.d.ts +58 -0
- package/dist/mcp/tools/search-input.d.ts.map +1 -0
- package/dist/mcp/tools/search-input.js +76 -0
- package/dist/mcp/tools/search-input.js.map +1 -0
- package/dist/mcp/tools/search.d.ts +24 -0
- package/dist/mcp/tools/search.d.ts.map +1 -0
- package/dist/mcp/tools/search.js +115 -0
- package/dist/mcp/tools/search.js.map +1 -0
- package/dist/mcp/utils.d.ts +82 -0
- package/dist/mcp/utils.d.ts.map +1 -0
- package/dist/mcp/utils.js +126 -0
- package/dist/mcp/utils.js.map +1 -0
- package/dist/middleware/field-aliases.d.ts +97 -0
- package/dist/middleware/field-aliases.d.ts.map +1 -0
- package/dist/middleware/field-aliases.js +208 -0
- package/dist/middleware/field-aliases.js.map +1 -0
- package/dist/resources/schema.d.ts +13 -0
- package/dist/resources/schema.d.ts.map +1 -0
- package/dist/resources/schema.js +204 -0
- package/dist/resources/schema.js.map +1 -0
- package/dist/schema/context.d.ts +10 -0
- package/dist/schema/context.d.ts.map +1 -0
- package/dist/schema/context.js +6 -0
- package/dist/schema/context.js.map +1 -0
- package/dist/schema/index.d.ts +9 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +6 -0
- package/dist/schema/index.js.map +1 -0
- package/dist/schema/load.d.ts +43 -0
- package/dist/schema/load.d.ts.map +1 -0
- package/dist/schema/load.js +139 -0
- package/dist/schema/load.js.map +1 -0
- package/dist/schema/store.d.ts +112 -0
- package/dist/schema/store.d.ts.map +1 -0
- package/dist/schema/store.js +173 -0
- package/dist/schema/store.js.map +1 -0
- package/dist/schema/structured-entities.d.ts +21 -0
- package/dist/schema/structured-entities.d.ts.map +1 -0
- package/dist/schema/structured-entities.js +39 -0
- package/dist/schema/structured-entities.js.map +1 -0
- package/dist/schema/types.d.ts +36 -0
- package/dist/schema/types.d.ts.map +1 -0
- package/dist/schema/types.js +6 -0
- package/dist/schema/types.js.map +1 -0
- package/dist/server.d.ts +57 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +144 -0
- package/dist/server.js.map +1 -0
- package/dist/telemetry.d.ts +172 -0
- package/dist/telemetry.d.ts.map +1 -0
- package/dist/telemetry.js +233 -0
- package/dist/telemetry.js.map +1 -0
- package/dist/tools/analytics-filters.d.ts +18 -0
- package/dist/tools/analytics-filters.d.ts.map +1 -0
- package/dist/tools/analytics-filters.js +35 -0
- package/dist/tools/analytics-filters.js.map +1 -0
- package/dist/tools/analytics.d.ts +16 -0
- package/dist/tools/analytics.d.ts.map +1 -0
- package/dist/tools/analytics.js +381 -0
- package/dist/tools/analytics.js.map +1 -0
- package/dist/tools/concept-profile.d.ts +14 -0
- package/dist/tools/concept-profile.d.ts.map +1 -0
- package/dist/tools/concept-profile.js +130 -0
- package/dist/tools/concept-profile.js.map +1 -0
- package/dist/tools/dataset-profile.d.ts +15 -0
- package/dist/tools/dataset-profile.d.ts.map +1 -0
- package/dist/tools/dataset-profile.js +194 -0
- package/dist/tools/dataset-profile.js.map +1 -0
- package/dist/tools/functions.d.ts +14 -0
- package/dist/tools/functions.d.ts.map +1 -0
- package/dist/tools/functions.js +294 -0
- package/dist/tools/functions.js.map +1 -0
- package/dist/tools/impact-chain.d.ts +15 -0
- package/dist/tools/impact-chain.d.ts.map +1 -0
- package/dist/tools/impact-chain.js +96 -0
- package/dist/tools/impact-chain.js.map +1 -0
- package/dist/tools/kwq.d.ts +19 -0
- package/dist/tools/kwq.d.ts.map +1 -0
- package/dist/tools/kwq.js +156 -0
- package/dist/tools/kwq.js.map +1 -0
- package/dist/tools/lookup.d.ts +14 -0
- package/dist/tools/lookup.d.ts.map +1 -0
- package/dist/tools/lookup.js +213 -0
- package/dist/tools/lookup.js.map +1 -0
- package/dist/tools/policy-profile.d.ts +15 -0
- package/dist/tools/policy-profile.d.ts.map +1 -0
- package/dist/tools/policy-profile.js +174 -0
- package/dist/tools/policy-profile.js.map +1 -0
- package/dist/tools/profile.d.ts +14 -0
- package/dist/tools/profile.d.ts.map +1 -0
- package/dist/tools/profile.js +349 -0
- package/dist/tools/profile.js.map +1 -0
- package/dist/tools/query.d.ts +16 -0
- package/dist/tools/query.d.ts.map +1 -0
- package/dist/tools/query.js +53 -0
- package/dist/tools/query.js.map +1 -0
- package/dist/tools/schema.d.ts +23 -0
- package/dist/tools/schema.d.ts.map +1 -0
- package/dist/tools/schema.js +124 -0
- package/dist/tools/schema.js.map +1 -0
- package/dist/tools/search-entity-metadata.d.ts +18 -0
- package/dist/tools/search-entity-metadata.d.ts.map +1 -0
- package/dist/tools/search-entity-metadata.js +221 -0
- package/dist/tools/search-entity-metadata.js.map +1 -0
- package/dist/tools/search.d.ts +23 -0
- package/dist/tools/search.d.ts.map +1 -0
- package/dist/tools/search.js +110 -0
- package/dist/tools/search.js.map +1 -0
- package/dist/tools/solr-fields.d.ts +39 -0
- package/dist/tools/solr-fields.d.ts.map +1 -0
- package/dist/tools/solr-fields.js +40 -0
- package/dist/tools/solr-fields.js.map +1 -0
- package/dist/utils.d.ts +70 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +104 -0
- package/dist/utils.js.map +1 -0
- package/package.json +41 -0
- package/src/client/auth/config-loaders.ts +81 -0
- package/src/client/auth/decorators/index.ts +7 -0
- package/src/client/auth/decorators/with-caching.ts +237 -0
- package/src/client/auth/factory.ts +34 -0
- package/src/client/auth/index.ts +6 -0
- package/src/client/auth/jwt-utils.ts +36 -0
- package/src/client/auth/node.ts +16 -0
- package/src/client/auth/providers/index.ts +1 -0
- package/src/client/auth/providers/jwt-auth-provider.ts +153 -0
- package/src/client/auth/schemas.ts +25 -0
- package/src/client/auth/types.ts +30 -0
- package/src/client/command.ts +54 -0
- package/src/client/config/index.ts +15 -0
- package/src/client/config/loader.ts +155 -0
- package/src/client/config/node.ts +22 -0
- package/src/client/config/schemas.ts +28 -0
- package/src/client/config/types.ts +39 -0
- package/src/client/config/unified-loader.ts +118 -0
- package/src/client/config.ts +69 -0
- package/src/client/deployment-config.ts +98 -0
- package/src/client/errors.ts +295 -0
- package/src/client/http-client.ts +577 -0
- package/src/client/index.ts +68 -0
- package/src/client/internal-dsl-client.ts +128 -0
- package/src/client/rate-limiter.ts +139 -0
- package/src/client/resolve-api-key-user.ts +99 -0
- package/src/client/types.ts +44 -0
- package/src/dsl/client.ts +538 -0
- package/src/dsl/commands/apply-filters.ts +35 -0
- package/src/dsl/commands/facet/index.ts +12 -0
- package/src/dsl/commands/facet/schemas.ts +101 -0
- package/src/dsl/commands/functions/ClassifyCommand.ts +129 -0
- package/src/dsl/commands/functions/ExtractAffiliationsCommand.ts +163 -0
- package/src/dsl/commands/functions/ExtractConceptsCommand.ts +141 -0
- package/src/dsl/commands/functions/ExtractGrantsCommand.ts +112 -0
- package/src/dsl/commands/functions/index.ts +31 -0
- package/src/dsl/commands/index.ts +29 -0
- package/src/dsl/commands/validate-input.ts +29 -0
- package/src/dsl/create-client.ts +80 -0
- package/src/dsl/fluent-query-builder.ts +684 -0
- package/src/dsl/index.ts +206 -0
- package/src/dsl/pagination.ts +202 -0
- package/src/dsl/query-builder.ts +1120 -0
- package/src/dsl/response-parser.ts +299 -0
- package/src/dsl/schema/cache.ts +124 -0
- package/src/dsl/schema/extract.ts +44 -0
- package/src/dsl/schema/index.ts +50 -0
- package/src/dsl/schema/load.ts +160 -0
- package/src/dsl/schema/store.ts +253 -0
- package/src/dsl/schema/structured-entities.ts +44 -0
- package/src/dsl/schema/summary.ts +94 -0
- package/src/dsl/schema/types.ts +40 -0
- package/src/dsl/schema/validation.ts +56 -0
- package/src/dsl/types/buckets.ts +22 -0
- package/src/dsl/types/common.ts +99 -0
- package/src/dsl/types/entities.ts +43 -0
- package/src/dsl/types/index.ts +63 -0
- package/src/dsl/types/return-clauses.ts +147 -0
- package/src/dsl/types/special-functions.ts +220 -0
- package/src/dsl/types/vocabulary.ts +82 -0
- package/src/dsl/usage-policy.ts +219 -0
- package/src/dsl/utils/escape.ts +123 -0
- package/src/dsl/utils/sanitize.ts +21 -0
- package/src/dsl/utils/string-utils.ts +147 -0
- package/src/dsl/utils/validate-field-name.ts +19 -0
- package/src/http-main.ts +41 -0
- package/src/index.ts +14 -0
- package/src/main.ts +40 -0
- package/src/mcp/batch-fetch.ts +255 -0
- package/src/mcp/examples/dsl-examples.ts +66 -0
- package/src/mcp/examples/usage-scenarios.ts +185 -0
- package/src/mcp/export-format.ts +113 -0
- package/src/mcp/funder-org-names.ts +30 -0
- package/src/mcp/http-server.ts +148 -0
- package/src/mcp/middleware/field-aliases.ts +274 -0
- package/src/mcp/resources/schema.ts +364 -0
- package/src/mcp/schema/context.ts +11 -0
- package/src/mcp/schema/index.ts +38 -0
- package/src/mcp/server.ts +247 -0
- package/src/mcp/shared-schema.ts +34 -0
- package/src/mcp/tools/analytics-filters.ts +46 -0
- package/src/mcp/tools/analytics.ts +453 -0
- package/src/mcp/tools/fetch-search-pages.ts +329 -0
- package/src/mcp/tools/functions.ts +105 -0
- package/src/mcp/tools/lookup.ts +182 -0
- package/src/mcp/tools/query.ts +91 -0
- package/src/mcp/tools/schema.ts +147 -0
- package/src/mcp/tools/search-entity-metadata.ts +253 -0
- package/src/mcp/tools/search-input.ts +87 -0
- package/src/mcp/tools/search.ts +168 -0
- package/src/mcp/utils.ts +199 -0
- package/test/client/auth/config-loaders.test.ts +92 -0
- package/test/client/auth/decorators/with-caching.test.ts +482 -0
- package/test/client/auth/factory.test.ts +68 -0
- package/test/client/auth/providers/jwt-auth-provider.test.ts +398 -0
- package/test/client/auth/types.test.ts +18 -0
- package/test/client/command.test.ts +163 -0
- package/test/client/config/loader.test.ts +377 -0
- package/test/client/config/unified-loader.test.ts +136 -0
- package/test/client/deployment-config.test.ts +69 -0
- package/test/client/errors/index.test.ts +408 -0
- package/test/client/helpers/mock-fetch.ts +42 -0
- package/test/client/http-client.test.ts +1148 -0
- package/test/client/integration/auth-providers.integration.test.ts +186 -0
- package/test/client/internal-dsl-client.test.ts +76 -0
- package/test/client/rate-limiter.test.ts +204 -0
- package/test/client/resolve-api-key-user.test.ts +87 -0
- package/test/dsl/client.special-functions.test.ts +387 -0
- package/test/dsl/client.test.ts +457 -0
- package/test/dsl/commands/apply-filters.test.ts +147 -0
- package/test/dsl/commands/functions/ClassifyCommand.test.ts +170 -0
- package/test/dsl/commands/functions/ExtractAffiliationsCommand.test.ts +306 -0
- package/test/dsl/commands/functions/ExtractConceptsCommand.test.ts +136 -0
- package/test/dsl/commands/functions/ExtractGrantsCommand.test.ts +202 -0
- package/test/dsl/commands/search/filters.test.ts +42 -0
- package/test/dsl/fluent-query-builder.test.ts +865 -0
- package/test/dsl/integration/client.integration.test.ts +294 -0
- package/test/dsl/integration/facet-api.integration.test.ts +276 -0
- package/test/dsl/integration/field-existence.integration.test.ts +148 -0
- package/test/dsl/integration/fluent-api-docs-examples.integration.test.ts +988 -0
- package/test/dsl/integration/fluent-api.integration.test.ts +615 -0
- package/test/dsl/integration/search-helpers.ts +27 -0
- package/test/dsl/integration/special-functions.integration.test.ts +224 -0
- package/test/dsl/integration/test-config.ts +52 -0
- package/test/dsl/pagination.test.ts +86 -0
- package/test/dsl/query-builder.test.ts +1775 -0
- package/test/dsl/response-parser.test.ts +520 -0
- package/test/dsl/schema/cache.test.ts +53 -0
- package/test/dsl/schema/load.test.ts +165 -0
- package/test/dsl/schema/summary.test.ts +61 -0
- package/test/dsl/schema/validation.test.ts +46 -0
- package/test/dsl/time-series.test.ts +135 -0
- package/test/dsl/unnest.test.ts +151 -0
- package/test/dsl/usage-policy.test.ts +100 -0
- package/test/dsl/utils/escape.property.test.ts +109 -0
- package/test/dsl/utils/escape.test.ts +140 -0
- package/test/dsl/utils/validate-field-name.property.test.ts +99 -0
- package/test/dsl/utils/validate-field-name.test.ts +55 -0
- package/test/examples/dsl-examples.test.ts +29 -0
- package/test/examples/usage-scenarios.test.ts +90 -0
- package/test/fixtures/describe-schema.json +4000 -0
- package/test/funder-org-names.test.ts +20 -0
- package/test/helpers/schema-fixture.ts +18 -0
- package/test/helpers/tool-test-harness.ts +114 -0
- package/test/integration/assertions.ts +263 -0
- package/test/integration/env.ts +108 -0
- package/test/integration/harness.ts +307 -0
- package/test/integration/hosted-client.ts +56 -0
- package/test/integration/hosted-mocks.ts +81 -0
- package/test/integration/hosted-run.ts +86 -0
- package/test/integration/hosted.e2e.test.ts +101 -0
- package/test/integration/reporter.ts +100 -0
- package/test/integration/run.ts +74 -0
- package/test/integration/suites/analytics.integration.ts +72 -0
- package/test/integration/suites/functions.integration.ts +37 -0
- package/test/integration/suites/hosted-smoke.integration.ts +38 -0
- package/test/integration/suites/index.ts +22 -0
- package/test/integration/suites/lookup.integration.ts +57 -0
- package/test/integration/suites/query.integration.ts +49 -0
- package/test/integration/suites/resources.integration.ts +68 -0
- package/test/integration/suites/search.integration.ts +80 -0
- package/test/integration/types.ts +92 -0
- package/test/integration/verify-usage-scenarios.ts +162 -0
- package/test/mcp/export-format.test.ts +67 -0
- package/test/mcp/http-server.test.ts +80 -0
- package/test/middleware/field-aliases.test.ts +287 -0
- package/test/resources/schema.test.ts +28 -0
- package/test/schema/describe-contract.test.ts +24 -0
- package/test/schema/store.test.ts +45 -0
- package/test/server.test.ts +170 -0
- package/test/tools/analytics-filters.test.ts +35 -0
- package/test/tools/analytics.test.ts +419 -0
- package/test/tools/fetch-search-pages.test.ts +200 -0
- package/test/tools/functions.test.ts +153 -0
- package/test/tools/lookup.test.ts +296 -0
- package/test/tools/query.test.ts +100 -0
- package/test/tools/schema.test.ts +37 -0
- package/test/tools/search.test.ts +415 -0
- package/test/utils.test.ts +45 -0
- package/tsconfig.json +9 -0
- package/tsconfig.tsbuildinfo +1 -0
|
@@ -0,0 +1,534 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fluent query builder that wraps QueryBuilder with execute() capability.
|
|
3
|
+
* Provides a chainable API for building and executing Dimensions DSL queries.
|
|
4
|
+
* @module fluent-query-builder
|
|
5
|
+
*/
|
|
6
|
+
import { QueryBuilder } from "./query-builder.js";
|
|
7
|
+
import { parseEntityResponse, parseFacetResponse, } from "./response-parser.js";
|
|
8
|
+
/**
|
|
9
|
+
* Abstract base class for fluent query builders.
|
|
10
|
+
* Contains all common query-building methods shared between FluentQueryBuilder
|
|
11
|
+
* and FluentQueryBuilderWithFacets.
|
|
12
|
+
*
|
|
13
|
+
* @template T - The entity type
|
|
14
|
+
* @template E - The entity type key
|
|
15
|
+
*/
|
|
16
|
+
class FluentQueryBuilderBase {
|
|
17
|
+
executor;
|
|
18
|
+
entity;
|
|
19
|
+
queryBuilder;
|
|
20
|
+
/**
|
|
21
|
+
* Creates a new FluentQueryBuilderBase instance.
|
|
22
|
+
* @param executor - The query executor to use for executing queries
|
|
23
|
+
* @param entity - The entity type to search
|
|
24
|
+
* @param queryBuilder - The underlying query builder instance
|
|
25
|
+
*/
|
|
26
|
+
constructor(executor, entity, queryBuilder) {
|
|
27
|
+
this.executor = executor;
|
|
28
|
+
this.entity = entity;
|
|
29
|
+
this.queryBuilder = queryBuilder;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Sets the search index for full-text search.
|
|
33
|
+
* @param index - The search index to use
|
|
34
|
+
* @returns This builder for chaining
|
|
35
|
+
*/
|
|
36
|
+
in(index) {
|
|
37
|
+
this.queryBuilder.in(index);
|
|
38
|
+
return this;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Sets the search terms.
|
|
42
|
+
* @param terms - Search terms to look for
|
|
43
|
+
* @returns This builder for chaining
|
|
44
|
+
*/
|
|
45
|
+
for(terms) {
|
|
46
|
+
this.queryBuilder.for(terms);
|
|
47
|
+
return this;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Sets the search to find semantically similar documents.
|
|
51
|
+
* Uses the similar_documents() DSL function.
|
|
52
|
+
* Available for publications and grants.
|
|
53
|
+
* @param text - Abstract or description text to find similar documents for
|
|
54
|
+
* @returns This builder for chaining
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* ```typescript
|
|
58
|
+
* const result = await client
|
|
59
|
+
* .publications()
|
|
60
|
+
* .forSimilar("After spinal cord injury, macrophages infiltrate...")
|
|
61
|
+
* .where("year", ">", 2015)
|
|
62
|
+
* .limit(10)
|
|
63
|
+
* .execute();
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
66
|
+
forSimilar(text) {
|
|
67
|
+
this.queryBuilder.forSimilar(text);
|
|
68
|
+
return this;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Sets the search to use proximity matching via the complex() DSL function.
|
|
72
|
+
* Finds documents where search terms appear within a maximum distance of each other.
|
|
73
|
+
* @param phrase - The search phrase
|
|
74
|
+
* @param maxDist - Maximum distance between terms (must be >= 1)
|
|
75
|
+
* @returns This builder for chaining
|
|
76
|
+
*
|
|
77
|
+
* @example
|
|
78
|
+
* ```typescript
|
|
79
|
+
* const result = await client
|
|
80
|
+
* .publications()
|
|
81
|
+
* .forComplex("quantum networking", 3)
|
|
82
|
+
* .where("year", ">", 2020)
|
|
83
|
+
* .limit(10)
|
|
84
|
+
* .execute();
|
|
85
|
+
* ```
|
|
86
|
+
*/
|
|
87
|
+
forComplex(phrase, maxDist) {
|
|
88
|
+
this.queryBuilder.forComplex(phrase, maxDist);
|
|
89
|
+
return this;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Sets the search to use minimum term matching via the min_should_match() DSL function.
|
|
93
|
+
* Finds documents matching at least `min` of the terms in the phrase.
|
|
94
|
+
* @param phrase - The search phrase
|
|
95
|
+
* @param min - Minimum number of terms that must match (must be >= 1)
|
|
96
|
+
* @returns This builder for chaining
|
|
97
|
+
*
|
|
98
|
+
* @example
|
|
99
|
+
* ```typescript
|
|
100
|
+
* const result = await client
|
|
101
|
+
* .publications()
|
|
102
|
+
* .forMinShouldMatch("quantum OR optical networking", 2)
|
|
103
|
+
* .where("year", ">", 2020)
|
|
104
|
+
* .limit(10)
|
|
105
|
+
* .execute();
|
|
106
|
+
* ```
|
|
107
|
+
*/
|
|
108
|
+
forMinShouldMatch(phrase, min) {
|
|
109
|
+
this.queryBuilder.forMinShouldMatch(phrase, min);
|
|
110
|
+
return this;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Adds a where clause condition.
|
|
114
|
+
* @param field - Field name to filter on
|
|
115
|
+
* @param operator - Comparison operator
|
|
116
|
+
* @param value - Value to compare against
|
|
117
|
+
* @returns This builder for chaining
|
|
118
|
+
*/
|
|
119
|
+
where(field, operator, value) {
|
|
120
|
+
this.queryBuilder.where(field, operator, value);
|
|
121
|
+
return this;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Adds a condition checking if a field is empty.
|
|
125
|
+
* @param field - Field name to check
|
|
126
|
+
* @returns This builder for chaining
|
|
127
|
+
*/
|
|
128
|
+
whereEmpty(field) {
|
|
129
|
+
this.queryBuilder.whereEmpty(field);
|
|
130
|
+
return this;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Adds a condition checking if a field is not empty.
|
|
134
|
+
* @param field - Field name to check
|
|
135
|
+
* @returns This builder for chaining
|
|
136
|
+
*/
|
|
137
|
+
whereNotEmpty(field) {
|
|
138
|
+
this.queryBuilder.whereNotEmpty(field);
|
|
139
|
+
return this;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Adds a list filter condition (field in ["a", "b", "c"]).
|
|
143
|
+
* @param field - Field name to filter on
|
|
144
|
+
* @param values - Array of values to match
|
|
145
|
+
* @returns This builder for chaining
|
|
146
|
+
*/
|
|
147
|
+
whereIn(field, values) {
|
|
148
|
+
this.queryBuilder.whereIn(field, values);
|
|
149
|
+
return this;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Adds a range filter condition (field in [start:end]).
|
|
153
|
+
* @param field - Field name to filter on
|
|
154
|
+
* @param start - Start of range (inclusive)
|
|
155
|
+
* @param end - End of range (inclusive)
|
|
156
|
+
* @returns This builder for chaining
|
|
157
|
+
*/
|
|
158
|
+
whereRange(field, start, end) {
|
|
159
|
+
this.queryBuilder.whereRange(field, start, end);
|
|
160
|
+
return this;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Adds a count filter condition (count(field) op value).
|
|
164
|
+
* @param field - Multi-value field name to count
|
|
165
|
+
* @param operator - Comparison operator
|
|
166
|
+
* @param value - Count to compare against
|
|
167
|
+
* @returns This builder for chaining
|
|
168
|
+
*/
|
|
169
|
+
whereCount(field, operator, value) {
|
|
170
|
+
this.queryBuilder.whereCount(field, operator, value);
|
|
171
|
+
return this;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Sets the next connector to OR.
|
|
175
|
+
* @returns This builder for chaining
|
|
176
|
+
*/
|
|
177
|
+
or() {
|
|
178
|
+
this.queryBuilder.or();
|
|
179
|
+
return this;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Sets the next connector to NOT.
|
|
183
|
+
* @returns This builder for chaining
|
|
184
|
+
*/
|
|
185
|
+
not() {
|
|
186
|
+
this.queryBuilder.not();
|
|
187
|
+
return this;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Sets the next connector to AND explicitly.
|
|
191
|
+
* @returns This builder for chaining
|
|
192
|
+
*/
|
|
193
|
+
and() {
|
|
194
|
+
this.queryBuilder.and();
|
|
195
|
+
return this;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Opens a parenthesized group.
|
|
199
|
+
* @returns This builder for chaining
|
|
200
|
+
*/
|
|
201
|
+
openGroup() {
|
|
202
|
+
this.queryBuilder.openGroup();
|
|
203
|
+
return this;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Closes a parenthesized group.
|
|
207
|
+
* @returns This builder for chaining
|
|
208
|
+
*/
|
|
209
|
+
closeGroup() {
|
|
210
|
+
this.queryBuilder.closeGroup();
|
|
211
|
+
return this;
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Sets the fields to return.
|
|
215
|
+
* When T is a known entity type, provides autocomplete for field names.
|
|
216
|
+
* Also accepts string[] for nested fields like "authors.name".
|
|
217
|
+
* @param fieldList - Array of field names to return
|
|
218
|
+
* @returns This builder for chaining
|
|
219
|
+
*/
|
|
220
|
+
fields(fieldList) {
|
|
221
|
+
this.queryBuilder.fields(fieldList);
|
|
222
|
+
return this;
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Sets the sort field and order.
|
|
226
|
+
* @param field - Field name to sort by
|
|
227
|
+
* @param order - Sort direction (asc or desc)
|
|
228
|
+
* @returns This builder for chaining
|
|
229
|
+
*/
|
|
230
|
+
sort(field, order = "asc") {
|
|
231
|
+
this.queryBuilder.sort(field, order);
|
|
232
|
+
return this;
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Sets the number of results to skip (for pagination).
|
|
236
|
+
* @param count - Number of results to skip
|
|
237
|
+
* @returns This builder for chaining
|
|
238
|
+
*/
|
|
239
|
+
skip(count) {
|
|
240
|
+
this.queryBuilder.skip(count);
|
|
241
|
+
return this;
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Sets the maximum number of results to return.
|
|
245
|
+
* @param count - Maximum number of results
|
|
246
|
+
* @returns This builder for chaining
|
|
247
|
+
*/
|
|
248
|
+
limit(count) {
|
|
249
|
+
this.queryBuilder.limit(count);
|
|
250
|
+
return this;
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Gets the built DSL query string without executing.
|
|
254
|
+
* Useful for debugging or logging.
|
|
255
|
+
* @returns The DSL query string
|
|
256
|
+
*/
|
|
257
|
+
getDsl() {
|
|
258
|
+
return this.queryBuilder.build();
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Adds a citations_per_year time-series return clause.
|
|
262
|
+
* Returns citation counts per year for the specified range.
|
|
263
|
+
*
|
|
264
|
+
* @param startYear - Start year for the time series (inclusive)
|
|
265
|
+
* @param endYear - End year for the time series (inclusive)
|
|
266
|
+
* @returns This builder for chaining
|
|
267
|
+
*
|
|
268
|
+
* @example
|
|
269
|
+
* ```typescript
|
|
270
|
+
* const result = await client
|
|
271
|
+
* .publications()
|
|
272
|
+
* .for("machine learning")
|
|
273
|
+
* .returnCitationsPerYear(2010, 2023)
|
|
274
|
+
* .execute();
|
|
275
|
+
* ```
|
|
276
|
+
*/
|
|
277
|
+
returnCitationsPerYear(startYear, endYear) {
|
|
278
|
+
this.queryBuilder.returnCitationsPerYear(startYear, endYear);
|
|
279
|
+
return this;
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Adds a funding_per_year time-series return clause.
|
|
283
|
+
* Returns funding amounts per year for the specified range.
|
|
284
|
+
*
|
|
285
|
+
* @param startYear - Start year for the time series (inclusive)
|
|
286
|
+
* @param endYear - End year for the time series (inclusive)
|
|
287
|
+
* @param currency - Currency for the funding amounts (default: "USD")
|
|
288
|
+
* @returns This builder for chaining
|
|
289
|
+
*
|
|
290
|
+
* @example
|
|
291
|
+
* ```typescript
|
|
292
|
+
* const result = await client
|
|
293
|
+
* .grants()
|
|
294
|
+
* .for("cancer research")
|
|
295
|
+
* .returnFundingPerYear(2015, 2023, "EUR")
|
|
296
|
+
* .execute();
|
|
297
|
+
* ```
|
|
298
|
+
*/
|
|
299
|
+
returnFundingPerYear(startYear, endYear, currency = "USD") {
|
|
300
|
+
this.queryBuilder.returnFundingPerYear(startYear, endYear, currency);
|
|
301
|
+
return this;
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* Sets the fields to return including unnest operations.
|
|
305
|
+
* Unnest flattens nested arrays into separate rows (Cartesian product).
|
|
306
|
+
*
|
|
307
|
+
* @param fieldList - Array of regular field names to return
|
|
308
|
+
* @param unnestFieldList - Array of field names to unnest
|
|
309
|
+
* @returns This builder for chaining
|
|
310
|
+
*
|
|
311
|
+
* @example
|
|
312
|
+
* ```typescript
|
|
313
|
+
* const result = await client
|
|
314
|
+
* .publications()
|
|
315
|
+
* .for("machine learning")
|
|
316
|
+
* .fieldsWithUnnest(["id", "title"], ["researchers", "category_for"])
|
|
317
|
+
* .execute();
|
|
318
|
+
* // Returns flattened rows - one row per researcher × category combination
|
|
319
|
+
* ```
|
|
320
|
+
*/
|
|
321
|
+
fieldsWithUnnest(fieldList, unnestFieldList) {
|
|
322
|
+
this.queryBuilder.fieldsWithUnnest(fieldList, unnestFieldList);
|
|
323
|
+
return this;
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* Adds an unnest field to the return clause.
|
|
327
|
+
* Can be chained with fields() to add unnest operations.
|
|
328
|
+
*
|
|
329
|
+
* @param field - Field name to unnest
|
|
330
|
+
* @returns This builder for chaining
|
|
331
|
+
*
|
|
332
|
+
* @example
|
|
333
|
+
* ```typescript
|
|
334
|
+
* const result = await client
|
|
335
|
+
* .publications()
|
|
336
|
+
* .for("test")
|
|
337
|
+
* .fields(["id", "title"])
|
|
338
|
+
* .unnest("researchers")
|
|
339
|
+
* .unnest("category_for")
|
|
340
|
+
* .execute();
|
|
341
|
+
* ```
|
|
342
|
+
*/
|
|
343
|
+
unnest(field) {
|
|
344
|
+
this.queryBuilder.addUnnest(field);
|
|
345
|
+
return this;
|
|
346
|
+
}
|
|
347
|
+
/**
|
|
348
|
+
* Builds and executes the query against the Dimensions API.
|
|
349
|
+
* @returns The query result with data and totalCount
|
|
350
|
+
* @throws {ValidationError} If response structure is invalid
|
|
351
|
+
*/
|
|
352
|
+
async execute() {
|
|
353
|
+
const dsl = this.queryBuilder.build();
|
|
354
|
+
const response = await this.executor.rawQuery(dsl);
|
|
355
|
+
const entityResult = parseEntityResponse(response, this.entity);
|
|
356
|
+
return {
|
|
357
|
+
data: entityResult.data,
|
|
358
|
+
totalCount: entityResult.totalCount,
|
|
359
|
+
};
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
/**
|
|
363
|
+
* Fluent query builder with facet support.
|
|
364
|
+
* Extends FluentQueryBuilderBase to add type-safe facet methods.
|
|
365
|
+
*
|
|
366
|
+
* @template T - The entity type
|
|
367
|
+
* @template E - The entity type key
|
|
368
|
+
* @template TFacets - Record of tracked facet configurations
|
|
369
|
+
*/
|
|
370
|
+
export class FluentQueryBuilderWithFacets extends FluentQueryBuilderBase {
|
|
371
|
+
facetConfigs;
|
|
372
|
+
constructor(executor, entity, queryBuilder, facetConfigs = {}) {
|
|
373
|
+
super(executor, entity, queryBuilder);
|
|
374
|
+
this.facetConfigs = facetConfigs;
|
|
375
|
+
}
|
|
376
|
+
/**
|
|
377
|
+
* Adds a simple facet return clause.
|
|
378
|
+
* Only allows valid facet fields for this entity type.
|
|
379
|
+
*
|
|
380
|
+
* **Important:** This method returns a **new** builder instance. You must use the
|
|
381
|
+
* returned builder for subsequent chaining — calling `withFacet()` on the original
|
|
382
|
+
* builder and discarding the result will silently lose the facet configuration.
|
|
383
|
+
*
|
|
384
|
+
* @param field - The facet field
|
|
385
|
+
* @param options - Optional limit for facet results
|
|
386
|
+
* @returns A new builder with tracked facet configuration (must be used for further chaining)
|
|
387
|
+
*/
|
|
388
|
+
withFacet(field, options) {
|
|
389
|
+
const cloned = this.queryBuilder.clone();
|
|
390
|
+
cloned.returnFacet(field, options);
|
|
391
|
+
const newConfig = {
|
|
392
|
+
field,
|
|
393
|
+
limit: options?.limit,
|
|
394
|
+
};
|
|
395
|
+
return new FluentQueryBuilderWithFacets(this.executor, this.entity, cloned, {
|
|
396
|
+
...this.facetConfigs,
|
|
397
|
+
[field]: newConfig,
|
|
398
|
+
});
|
|
399
|
+
}
|
|
400
|
+
/**
|
|
401
|
+
* Adds an aggregated facet return clause.
|
|
402
|
+
* Only allows valid facet fields and indicators for this entity type.
|
|
403
|
+
*
|
|
404
|
+
* **Important:** This method returns a **new** builder instance. You must use the
|
|
405
|
+
* returned builder for subsequent chaining — calling `withAggregate()` on the original
|
|
406
|
+
* builder and discarding the result will silently lose the aggregation configuration.
|
|
407
|
+
*
|
|
408
|
+
* @param field - The facet field
|
|
409
|
+
* @param indicators - Array of indicator names to aggregate
|
|
410
|
+
* @param options - Optional sort and limit options
|
|
411
|
+
* @returns A new builder with tracked facet configuration (must be used for further chaining)
|
|
412
|
+
*/
|
|
413
|
+
withAggregate(field, indicators, options) {
|
|
414
|
+
const cloned = this.queryBuilder.clone();
|
|
415
|
+
cloned.returnAggregate(field, [...indicators], options);
|
|
416
|
+
const newConfig = {
|
|
417
|
+
field,
|
|
418
|
+
indicators,
|
|
419
|
+
sortBy: options?.sortBy,
|
|
420
|
+
sortOrder: options?.sortOrder,
|
|
421
|
+
limit: options?.limit,
|
|
422
|
+
};
|
|
423
|
+
return new FluentQueryBuilderWithFacets(this.executor, this.entity, cloned, {
|
|
424
|
+
...this.facetConfigs,
|
|
425
|
+
[field]: newConfig,
|
|
426
|
+
});
|
|
427
|
+
}
|
|
428
|
+
/**
|
|
429
|
+
* Executes query and returns result with typed facets.
|
|
430
|
+
* Returns facets as a record with TypedFacetResult for each configured facet.
|
|
431
|
+
* Bucket types are inferred from the entity type and facet configuration.
|
|
432
|
+
* @param options - Optional configuration for parsing the response
|
|
433
|
+
* @returns Result with entities and typed facet results
|
|
434
|
+
*/
|
|
435
|
+
async executeWithFacets(options) {
|
|
436
|
+
const dsl = this.queryBuilder.build();
|
|
437
|
+
const response = await this.executor.rawQuery(dsl);
|
|
438
|
+
// Build facet field configs with indicators for validation
|
|
439
|
+
const facetFieldConfigs = {};
|
|
440
|
+
for (const [field, config] of Object.entries(this.facetConfigs)) {
|
|
441
|
+
facetFieldConfigs[field] = {
|
|
442
|
+
indicators: config.indicators,
|
|
443
|
+
};
|
|
444
|
+
}
|
|
445
|
+
return parseFacetResponse(response, this.entity, facetFieldConfigs, options);
|
|
446
|
+
}
|
|
447
|
+
}
|
|
448
|
+
/**
|
|
449
|
+
* Fluent query builder that wraps QueryBuilder with execute() capability.
|
|
450
|
+
* Provides a chainable API for building and executing Dimensions DSL queries.
|
|
451
|
+
*
|
|
452
|
+
* @template T - The entity type
|
|
453
|
+
* @template E - The entity type key (defaults to EntityType for backward compatibility)
|
|
454
|
+
*
|
|
455
|
+
* @example
|
|
456
|
+
* ```typescript
|
|
457
|
+
* // Use via DimensionsClient entity methods
|
|
458
|
+
* const result = await client
|
|
459
|
+
* .publications()
|
|
460
|
+
* .for("machine learning")
|
|
461
|
+
* .where("year", ">=", 2020)
|
|
462
|
+
* .fields(["id", "title", "doi"])
|
|
463
|
+
* .sort("times_cited", "desc")
|
|
464
|
+
* .limit(100)
|
|
465
|
+
* .execute();
|
|
466
|
+
*
|
|
467
|
+
* console.log(`Found ${result.totalCount} publications`);
|
|
468
|
+
* for (const pub of result.data) {
|
|
469
|
+
* console.log(pub.title);
|
|
470
|
+
* }
|
|
471
|
+
* ```
|
|
472
|
+
*/
|
|
473
|
+
export class FluentQueryBuilder extends FluentQueryBuilderBase {
|
|
474
|
+
/**
|
|
475
|
+
* Creates a new FluentQueryBuilder instance.
|
|
476
|
+
* @param executor - The query executor to use for executing queries
|
|
477
|
+
* @param entity - The entity type to search
|
|
478
|
+
*/
|
|
479
|
+
constructor(executor, entity, schemaStore) {
|
|
480
|
+
const queryBuilder = new QueryBuilder(schemaStore).search(entity);
|
|
481
|
+
super(executor, entity, queryBuilder);
|
|
482
|
+
}
|
|
483
|
+
/**
|
|
484
|
+
* Adds a simple facet return clause.
|
|
485
|
+
* Transitions to FluentQueryBuilderWithFacets for facet execution.
|
|
486
|
+
*
|
|
487
|
+
* **Important:** This method returns a **new** builder instance. You must use the
|
|
488
|
+
* returned builder for subsequent chaining — calling `withFacet()` on the original
|
|
489
|
+
* builder and discarding the result will silently lose the facet configuration.
|
|
490
|
+
*
|
|
491
|
+
* @param field - The facet field
|
|
492
|
+
* @param options - Optional limit for facet results
|
|
493
|
+
* @returns A new builder with facet support (must be used for further chaining)
|
|
494
|
+
*/
|
|
495
|
+
withFacet(field, options) {
|
|
496
|
+
const cloned = this.queryBuilder.clone();
|
|
497
|
+
cloned.returnFacet(field, options);
|
|
498
|
+
const config = {
|
|
499
|
+
field,
|
|
500
|
+
limit: options?.limit,
|
|
501
|
+
};
|
|
502
|
+
return new FluentQueryBuilderWithFacets(this.executor, this.entity, cloned, {
|
|
503
|
+
[field]: config,
|
|
504
|
+
});
|
|
505
|
+
}
|
|
506
|
+
/**
|
|
507
|
+
* Adds an aggregated facet return clause.
|
|
508
|
+
* Transitions to FluentQueryBuilderWithFacets for facet execution.
|
|
509
|
+
*
|
|
510
|
+
* **Important:** This method returns a **new** builder instance. You must use the
|
|
511
|
+
* returned builder for subsequent chaining — calling `withAggregate()` on the original
|
|
512
|
+
* builder and discarding the result will silently lose the aggregation configuration.
|
|
513
|
+
*
|
|
514
|
+
* @param field - The facet field
|
|
515
|
+
* @param indicators - Array of indicator names to aggregate
|
|
516
|
+
* @param options - Optional sort and limit options
|
|
517
|
+
* @returns A new builder with facet support (must be used for further chaining)
|
|
518
|
+
*/
|
|
519
|
+
withAggregate(field, indicators, options) {
|
|
520
|
+
const cloned = this.queryBuilder.clone();
|
|
521
|
+
cloned.returnAggregate(field, [...indicators], options);
|
|
522
|
+
const config = {
|
|
523
|
+
field,
|
|
524
|
+
indicators,
|
|
525
|
+
sortBy: options?.sortBy,
|
|
526
|
+
sortOrder: options?.sortOrder,
|
|
527
|
+
limit: options?.limit,
|
|
528
|
+
};
|
|
529
|
+
return new FluentQueryBuilderWithFacets(this.executor, this.entity, cloned, {
|
|
530
|
+
[field]: config,
|
|
531
|
+
});
|
|
532
|
+
}
|
|
533
|
+
}
|
|
534
|
+
//# sourceMappingURL=fluent-query-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fluent-query-builder.js","sourceRoot":"","sources":["../../src/dsl/fluent-query-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @digital-science/dimensions-dsl - DSL query builders and commands for Dimensions API.
|
|
3
|
+
*
|
|
4
|
+
* This package provides:
|
|
5
|
+
* - DimensionsClient with fluent API and rawQuery
|
|
6
|
+
* - QueryBuilder for DSL construction
|
|
7
|
+
* - Function commands (classify, extract-*)
|
|
8
|
+
* - Response parsers and runtime describe schema (`SchemaStore`)
|
|
9
|
+
*
|
|
10
|
+
* @module @digital-science/dimensions-dsl
|
|
11
|
+
*/
|
|
12
|
+
export type { Command, CommandInput, CommandOutput, DimensionsClientConfig, QueryExecutor, } from "../client/index.js";
|
|
13
|
+
export { AuthenticationError, DimensionsError, NetworkError, QuerySyntaxError, RateLimitError, ServerError, TimeoutError, ValidationError, } from "../client/index.js";
|
|
14
|
+
export { DimensionsClient, type RateLimitInfo } from "./client.js";
|
|
15
|
+
export { applyFilters } from "./commands/apply-filters.js";
|
|
16
|
+
export type { ExtendedWhereFilterInput, WhereFilterInput } from "./commands/index.js";
|
|
17
|
+
export { ClassifyCommand, type ClassifyCommandInput, type ClassifyCommandParsedInput, ClassifyInputSchema, EntitySchema, ExtendedWhereFilterSchema, ExtractAffiliationsCommand, type ExtractAffiliationsCommandInput, type ExtractAffiliationsCommandParsedInput, ExtractAffiliationsInputSchema, ExtractConceptsCommand, type ExtractConceptsCommandInput, type ExtractConceptsCommandParsedInput, ExtractConceptsInputSchema, ExtractGrantsCommand, type ExtractGrantsCommandInput, type ExtractGrantsCommandParsedInput, ExtractGrantsInputSchema, WhereFilterSchema, } from "./commands/index.js";
|
|
18
|
+
export type { EntityTypeMap, FacetQueryResult, FluentQueryResult, TypedFacetResult, } from "./fluent-query-builder.js";
|
|
19
|
+
export { FluentQueryBuilder, FluentQueryBuilderWithFacets, } from "./fluent-query-builder.js";
|
|
20
|
+
export { AGGREGATE_ID_CAP, type BatchPaginationOptions, buildPaginationMetadata, CONFIRM_LARGE_FETCH_PAGES, CONFIRM_LARGE_FETCH_RECORDS, DEFAULT_BATCH_MAX_PAGES, HARD_MAX_BATCH_PAGES, LARGE_RESULT_THRESHOLD, largeResultWarning, type PaginationInput, type PaginationMetadata, resolveSkipAndLimit, validateBatchPagination, validatePaginationBounds, } from "./pagination.js";
|
|
21
|
+
export { QueryBuilder } from "./query-builder.js";
|
|
22
|
+
export { type EntityResult, type FacetFieldConfig, type ParseFacetOptions, parseEntityResponse, parseFacetResponse, } from "./response-parser.js";
|
|
23
|
+
export type { DescribeField, DescribeSchemaResponse, DescribeVersionResponse, EntityDescribe, LoadSchemaOptions, SchemaCacheEntry, SchemaCacheEnvelope, SchemaLoadSource, SchemaSourceSummary, SchemaStoreMetadata, SchemaSummary, SourceDescribe, StructuredEntityType, } from "./schema/index.js";
|
|
24
|
+
export { assertValidEntity, assertValidSearchIndex, buildSchemaSummary, clearSchemaCache, createSchemaStoreFromResponse, DEFAULT_SCHEMA_CACHE_TTL_MS, extractDescribeSchema, extractDescribeVersion, getCachedSchemaStore, getOrLoadSchema, isCacheFresh, loadSchema, parseCachePayload, SCHEMA_LIMITS, SCHEMA_RESOURCE_URIS, SchemaStore, STRUCTURED_ENTITY_TYPES, searchResultKey, searchToolName, } from "./schema/index.js";
|
|
25
|
+
export type { Affiliation, AffiliationInput, AffiliationResult, AggregatedFacetReturnClause, Author, BaseBucket, BucketWithAggregations, CategoryCode, ClassificationEntry, ClassificationSystem, ClassifyInput, ClassifyResponse, ClinicalTrial, ConceptBasic, ConceptScore, ConceptWithScore, Currency, Dataset, DimensionsEntityBase, EntityReturnClause, ExtractAffiliationsInput, ExtractAffiliationsResponse, ExtractConceptsInput, ExtractConceptsResponse, ExtractGrantsInput, ExtractGrantsResponse, FacetClause, FacetReturnClause, FunderOrg, Grant, GroupedReturnClause, Journal, Organization, Patent, PolicyDocument, Publication, Researcher, ResearchOrg, ReturnClause, TimeSeriesDataPoint, TimeSeriesFunction, TimeSeriesResult, TimeSeriesReturnClause, UnnestField, } from "./types/index.js";
|
|
26
|
+
export { CLASSIFICATION_SYSTEMS, SUPPORTED_CURRENCIES } from "./types/index.js";
|
|
27
|
+
export type { EntityType, SearchIndex, SortOrder, WhereOperator, } from "./types/vocabulary.js";
|
|
28
|
+
export { VALID_ENTITIES, VALID_INDEXES, VALID_OPERATORS, } from "./types/vocabulary.js";
|
|
29
|
+
export { buildExecuteDslPolicyHints, buildUsagePolicy, type DslPaginationModifiers, type ExecuteDslPolicyOptions, isFacetOnlyQuery, POLICY_NOTICE, parseDslPagination, type SearchPolicyOptions, USAGE_POLICY_RESOURCE_URI, USAGE_POLICY_URL, type UsagePolicyPayload, validateExecuteDslPolicy, validateSearchPaginationPolicy, } from "./usage-policy.js";
|
|
30
|
+
export { escapeDslString } from "./utils/escape.js";
|
|
31
|
+
export { validateFieldName } from "./utils/validate-field-name.js";
|
|
32
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dsl/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @digital-science/dimensions-dsl - DSL query builders and commands for Dimensions API.
|
|
3
|
+
*
|
|
4
|
+
* This package provides:
|
|
5
|
+
* - DimensionsClient with fluent API and rawQuery
|
|
6
|
+
* - QueryBuilder for DSL construction
|
|
7
|
+
* - Function commands (classify, extract-*)
|
|
8
|
+
* - Response parsers and runtime describe schema (`SchemaStore`)
|
|
9
|
+
*
|
|
10
|
+
* @module @digital-science/dimensions-dsl
|
|
11
|
+
*/
|
|
12
|
+
export { AuthenticationError, DimensionsError, NetworkError, QuerySyntaxError, RateLimitError, ServerError, TimeoutError, ValidationError, } from "../client/index.js";
|
|
13
|
+
// Client
|
|
14
|
+
export { DimensionsClient } from "./client.js";
|
|
15
|
+
export { applyFilters } from "./commands/apply-filters.js";
|
|
16
|
+
export { ClassifyCommand, ClassifyInputSchema, EntitySchema, ExtendedWhereFilterSchema, ExtractAffiliationsCommand, ExtractAffiliationsInputSchema, ExtractConceptsCommand, ExtractConceptsInputSchema, ExtractGrantsCommand, ExtractGrantsInputSchema, WhereFilterSchema, } from "./commands/index.js";
|
|
17
|
+
export { FluentQueryBuilder, FluentQueryBuilderWithFacets, } from "./fluent-query-builder.js";
|
|
18
|
+
// Pagination (Dimensions usage policy limits)
|
|
19
|
+
export { AGGREGATE_ID_CAP, buildPaginationMetadata, CONFIRM_LARGE_FETCH_PAGES, CONFIRM_LARGE_FETCH_RECORDS, DEFAULT_BATCH_MAX_PAGES, HARD_MAX_BATCH_PAGES, LARGE_RESULT_THRESHOLD, largeResultWarning, resolveSkipAndLimit, validateBatchPagination, validatePaginationBounds, } from "./pagination.js";
|
|
20
|
+
// Query Builders
|
|
21
|
+
export { QueryBuilder } from "./query-builder.js";
|
|
22
|
+
// Response Parser
|
|
23
|
+
export { parseEntityResponse, parseFacetResponse, } from "./response-parser.js";
|
|
24
|
+
export { assertValidEntity, assertValidSearchIndex, buildSchemaSummary, clearSchemaCache, createSchemaStoreFromResponse, DEFAULT_SCHEMA_CACHE_TTL_MS, extractDescribeSchema, extractDescribeVersion, getCachedSchemaStore, getOrLoadSchema, isCacheFresh, loadSchema, parseCachePayload, SCHEMA_LIMITS, SCHEMA_RESOURCE_URIS, SchemaStore, STRUCTURED_ENTITY_TYPES, searchResultKey, searchToolName, } from "./schema/index.js";
|
|
25
|
+
export { CLASSIFICATION_SYSTEMS, SUPPORTED_CURRENCIES } from "./types/index.js";
|
|
26
|
+
export { VALID_ENTITIES, VALID_INDEXES, VALID_OPERATORS, } from "./types/vocabulary.js";
|
|
27
|
+
export { buildExecuteDslPolicyHints, buildUsagePolicy, isFacetOnlyQuery, POLICY_NOTICE, parseDslPagination, USAGE_POLICY_RESOURCE_URI, USAGE_POLICY_URL, validateExecuteDslPolicy, validateSearchPaginationPolicy, } from "./usage-policy.js";
|
|
28
|
+
// Utils
|
|
29
|
+
export { escapeDslString } from "./utils/escape.js";
|
|
30
|
+
export { validateFieldName } from "./utils/validate-field-name.js";
|
|
31
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dsl/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAUH,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,YAAY,EACZ,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAC5B,SAAS;AACT,OAAO,EAAE,gBAAgB,EAAsB,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EACL,eAAe,EAGf,mBAAmB,EACnB,YAAY,EACZ,yBAAyB,EACzB,0BAA0B,EAG1B,8BAA8B,EAC9B,sBAAsB,EAGtB,0BAA0B,EAC1B,oBAAoB,EAGpB,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAO7B,OAAO,EACL,kBAAkB,EAClB,4BAA4B,GAC7B,MAAM,2BAA2B,CAAC;AACnC,8CAA8C;AAC9C,OAAO,EACL,gBAAgB,EAEhB,uBAAuB,EACvB,yBAAyB,EACzB,2BAA2B,EAC3B,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAGlB,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,iBAAiB,CAAC;AACzB,iBAAiB;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,kBAAkB;AAClB,OAAO,EAIL,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAiB9B,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,6BAA6B,EAC7B,2BAA2B,EAC3B,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,WAAW,EACX,uBAAuB,EACvB,eAAe,EACf,cAAc,GACf,MAAM,mBAAmB,CAAC;AAgD3B,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAOhF,OAAO,EACL,cAAc,EACd,aAAa,EACb,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,0BAA0B,EAC1B,gBAAgB,EAGhB,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAElB,yBAAyB,EACzB,gBAAgB,EAEhB,wBAAwB,EACxB,8BAA8B,GAC/B,MAAM,mBAAmB,CAAC;AAC3B,QAAQ;AACR,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC"}
|