@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 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../../src/dsl/commands/facet/schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Command for classifying text using Dimensions classification systems.
|
|
3
|
+
* @module commands/functions/ClassifyCommand
|
|
4
|
+
*/
|
|
5
|
+
import { z } from "zod";
|
|
6
|
+
import { Command } from "../../../client/index.js";
|
|
7
|
+
import { type ClassificationSystem, type ClassifyInput, type ClassifyResponse } from "../../types/special-functions.js";
|
|
8
|
+
/**
|
|
9
|
+
* Zod schema for ClassifyCommand input validation.
|
|
10
|
+
*/
|
|
11
|
+
export declare const ClassifyInputSchema: z.ZodObject<{
|
|
12
|
+
title: z.ZodOptional<z.ZodString>;
|
|
13
|
+
abstract: z.ZodOptional<z.ZodString>;
|
|
14
|
+
system: z.ZodEnum<{
|
|
15
|
+
FOR: "FOR";
|
|
16
|
+
FOR_2020: "FOR_2020";
|
|
17
|
+
SDG: "SDG";
|
|
18
|
+
SDG_2021: "SDG_2021";
|
|
19
|
+
RCDC: "RCDC";
|
|
20
|
+
HRCS_HC: "HRCS_HC";
|
|
21
|
+
HRCS_RAC: "HRCS_RAC";
|
|
22
|
+
HRA: "HRA";
|
|
23
|
+
BRA: "BRA";
|
|
24
|
+
ICRP_CSO: "ICRP_CSO";
|
|
25
|
+
ICRP_CT: "ICRP_CT";
|
|
26
|
+
UOA: "UOA";
|
|
27
|
+
}>;
|
|
28
|
+
}, z.core.$strip>;
|
|
29
|
+
/**
|
|
30
|
+
* Input type for ClassifyCommand (raw input).
|
|
31
|
+
*/
|
|
32
|
+
export type ClassifyCommandInput = z.input<typeof ClassifyInputSchema>;
|
|
33
|
+
/**
|
|
34
|
+
* Parsed input type for ClassifyCommand (after validation).
|
|
35
|
+
*/
|
|
36
|
+
export type ClassifyCommandParsedInput = z.output<typeof ClassifyInputSchema>;
|
|
37
|
+
/**
|
|
38
|
+
* Command for classifying text using Dimensions classification systems.
|
|
39
|
+
* Supports FOR, SDG, RCDC, and other research classification taxonomies.
|
|
40
|
+
*
|
|
41
|
+
* @template S - The classification system type
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```typescript
|
|
45
|
+
* const cmd = new ClassifyCommand({
|
|
46
|
+
* title: "Burnout and intentions to quit the nursing profession",
|
|
47
|
+
* abstract: "BACKGROUND: Burnout is an occupational disease...",
|
|
48
|
+
* system: "FOR"
|
|
49
|
+
* });
|
|
50
|
+
*
|
|
51
|
+
* const result = await client.send(cmd);
|
|
52
|
+
* console.log(result.FOR); // Array of classification entries
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
export declare class ClassifyCommand<S extends ClassificationSystem = ClassificationSystem> extends Command<ClassifyCommandParsedInput, ClassifyResponse<S>> {
|
|
56
|
+
static readonly inputSchema: z.ZodObject<{
|
|
57
|
+
title: z.ZodOptional<z.ZodString>;
|
|
58
|
+
abstract: z.ZodOptional<z.ZodString>;
|
|
59
|
+
system: z.ZodEnum<{
|
|
60
|
+
FOR: "FOR";
|
|
61
|
+
FOR_2020: "FOR_2020";
|
|
62
|
+
SDG: "SDG";
|
|
63
|
+
SDG_2021: "SDG_2021";
|
|
64
|
+
RCDC: "RCDC";
|
|
65
|
+
HRCS_HC: "HRCS_HC";
|
|
66
|
+
HRCS_RAC: "HRCS_RAC";
|
|
67
|
+
HRA: "HRA";
|
|
68
|
+
BRA: "BRA";
|
|
69
|
+
ICRP_CSO: "ICRP_CSO";
|
|
70
|
+
ICRP_CT: "ICRP_CT";
|
|
71
|
+
UOA: "UOA";
|
|
72
|
+
}>;
|
|
73
|
+
}, z.core.$strip>;
|
|
74
|
+
readonly input: ClassifyCommandParsedInput;
|
|
75
|
+
/**
|
|
76
|
+
* Creates a new ClassifyCommand.
|
|
77
|
+
* @param input - Command input parameters
|
|
78
|
+
* @throws {ValidationError} If input validation fails
|
|
79
|
+
*/
|
|
80
|
+
constructor(input: ClassifyInput & {
|
|
81
|
+
system: S;
|
|
82
|
+
});
|
|
83
|
+
/**
|
|
84
|
+
* Resolves the DSL query for this command.
|
|
85
|
+
* @returns The constructed DSL query string
|
|
86
|
+
*/
|
|
87
|
+
resolveQuery(): string;
|
|
88
|
+
/**
|
|
89
|
+
* Transforms raw API response to typed output.
|
|
90
|
+
* @param response - Raw API response
|
|
91
|
+
* @returns Typed classification results
|
|
92
|
+
* @throws {ValidationError} If response structure is invalid
|
|
93
|
+
*/
|
|
94
|
+
transformResponse(response: unknown): ClassifyResponse<S>;
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=ClassifyCommand.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClassifyCommand.d.ts","sourceRoot":"","sources":["../../../../src/dsl/commands/functions/ClassifyCommand.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,OAAO,EAAmB,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACtB,MAAM,kCAAkC,CAAC;AAI1C;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;iBAY5B,CAAC;AAEL;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEvE;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAe9E;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,eAAe,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,CAAE,SAAQ,OAAO,CACjG,0BAA0B,EAC1B,gBAAgB,CAAC,CAAC,CAAC,CACpB;IACC,MAAM,CAAC,QAAQ,CAAC,WAAW;;;;;;;;;;;;;;;;;sBAAuB;IAElD,QAAQ,CAAC,KAAK,EAAE,0BAA0B,CAAC;IAE3C;;;;OAIG;gBACS,KAAK,EAAE,aAAa,GAAG;QAAE,MAAM,EAAE,CAAC,CAAA;KAAE;IAKhD;;;OAGG;IACH,YAAY,IAAI,MAAM;IActB;;;;;OAKG;IACH,iBAAiB,CAAC,QAAQ,EAAE,OAAO,GAAG,gBAAgB,CAAC,CAAC,CAAC;CAY1D"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Command for classifying text using Dimensions classification systems.
|
|
3
|
+
* @module commands/functions/ClassifyCommand
|
|
4
|
+
*/
|
|
5
|
+
import { z } from "zod";
|
|
6
|
+
import { Command, ValidationError } from "../../../client/index.js";
|
|
7
|
+
import { CLASSIFICATION_SYSTEMS, } from "../../types/special-functions.js";
|
|
8
|
+
import { escapeDslString } from "../../utils/escape.js";
|
|
9
|
+
import { validateInput } from "../validate-input.js";
|
|
10
|
+
/**
|
|
11
|
+
* Zod schema for ClassifyCommand input validation.
|
|
12
|
+
*/
|
|
13
|
+
export const ClassifyInputSchema = z
|
|
14
|
+
.object({
|
|
15
|
+
/** Document title (at least title or abstract must be provided) */
|
|
16
|
+
title: z.string().optional().describe("Document title for classification"),
|
|
17
|
+
/** Document abstract (at least title or abstract must be provided) */
|
|
18
|
+
abstract: z.string().optional().describe("Document abstract for classification"),
|
|
19
|
+
/** Classification system to use */
|
|
20
|
+
system: z.enum(CLASSIFICATION_SYSTEMS).describe("Classification system to use"),
|
|
21
|
+
})
|
|
22
|
+
.refine((data) => data.title || data.abstract, {
|
|
23
|
+
message: "At least one of title or abstract must be provided",
|
|
24
|
+
path: ["title", "abstract"],
|
|
25
|
+
});
|
|
26
|
+
/**
|
|
27
|
+
* Zod schema for validating API response structure.
|
|
28
|
+
*/
|
|
29
|
+
const ClassifyApiResponseSchema = z.record(z.string(), z.array(z.object({
|
|
30
|
+
id: z.string(),
|
|
31
|
+
name: z.string(),
|
|
32
|
+
})));
|
|
33
|
+
/**
|
|
34
|
+
* Command for classifying text using Dimensions classification systems.
|
|
35
|
+
* Supports FOR, SDG, RCDC, and other research classification taxonomies.
|
|
36
|
+
*
|
|
37
|
+
* @template S - The classification system type
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```typescript
|
|
41
|
+
* const cmd = new ClassifyCommand({
|
|
42
|
+
* title: "Burnout and intentions to quit the nursing profession",
|
|
43
|
+
* abstract: "BACKGROUND: Burnout is an occupational disease...",
|
|
44
|
+
* system: "FOR"
|
|
45
|
+
* });
|
|
46
|
+
*
|
|
47
|
+
* const result = await client.send(cmd);
|
|
48
|
+
* console.log(result.FOR); // Array of classification entries
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
export class ClassifyCommand extends Command {
|
|
52
|
+
static inputSchema = ClassifyInputSchema;
|
|
53
|
+
input;
|
|
54
|
+
/**
|
|
55
|
+
* Creates a new ClassifyCommand.
|
|
56
|
+
* @param input - Command input parameters
|
|
57
|
+
* @throws {ValidationError} If input validation fails
|
|
58
|
+
*/
|
|
59
|
+
constructor(input) {
|
|
60
|
+
super();
|
|
61
|
+
this.input = validateInput(ClassifyInputSchema, input);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Resolves the DSL query for this command.
|
|
65
|
+
* @returns The constructed DSL query string
|
|
66
|
+
*/
|
|
67
|
+
resolveQuery() {
|
|
68
|
+
const parts = [];
|
|
69
|
+
if (this.input.title) {
|
|
70
|
+
parts.push(`title="${escapeDslString(this.input.title)}"`);
|
|
71
|
+
}
|
|
72
|
+
if (this.input.abstract) {
|
|
73
|
+
parts.push(`abstract="${escapeDslString(this.input.abstract)}"`);
|
|
74
|
+
}
|
|
75
|
+
parts.push(`system="${this.input.system}"`);
|
|
76
|
+
return `classify(${parts.join(", ")})`;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Transforms raw API response to typed output.
|
|
80
|
+
* @param response - Raw API response
|
|
81
|
+
* @returns Typed classification results
|
|
82
|
+
* @throws {ValidationError} If response structure is invalid
|
|
83
|
+
*/
|
|
84
|
+
transformResponse(response) {
|
|
85
|
+
const parseResult = ClassifyApiResponseSchema.safeParse(response);
|
|
86
|
+
if (!parseResult.success) {
|
|
87
|
+
throw new ValidationError("Invalid API response structure", {
|
|
88
|
+
zodErrors: parseResult.error.issues,
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
// Return the response with the correct system key
|
|
92
|
+
return parseResult.data;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=ClassifyCommand.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClassifyCommand.js","sourceRoot":"","sources":["../../../../src/dsl/commands/functions/ClassifyCommand.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EACL,sBAAsB,GAIvB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC;KACjC,MAAM,CAAC;IACN,mEAAmE;IACnE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IAC1E,sEAAsE;IACtE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;IAChF,mCAAmC;IACnC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC;CAChF,CAAC;KACD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE;IAC7C,OAAO,EAAE,oDAAoD;IAC7D,IAAI,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;CAC5B,CAAC,CAAC;AAYL;;GAEG;AACH,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CACxC,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,KAAK,CACL,CAAC,CAAC,MAAM,CAAC;IACP,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CACH,CACF,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,eAAuE,SAAQ,OAG3F;IACC,MAAM,CAAU,WAAW,GAAG,mBAAmB,CAAC;IAEzC,KAAK,CAA6B;IAE3C;;;;OAIG;IACH,YAAY,KAAoC;QAC9C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IAED;;;OAGG;IACH,YAAY;QACV,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,UAAU,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,aAAa,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACnE,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAE5C,OAAO,YAAY,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IACzC,CAAC;IAED;;;;;OAKG;IACH,iBAAiB,CAAC,QAAiB;QACjC,MAAM,WAAW,GAAG,yBAAyB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAElE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YACzB,MAAM,IAAI,eAAe,CAAC,gCAAgC,EAAE;gBAC1D,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,MAAM;aACpC,CAAC,CAAC;QACL,CAAC;QAED,kDAAkD;QAClD,OAAO,WAAW,CAAC,IAAsC,CAAC;IAC5D,CAAC"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Command for extracting/resolving affiliations using the Dimensions API.
|
|
3
|
+
* @module commands/functions/ExtractAffiliationsCommand
|
|
4
|
+
*/
|
|
5
|
+
import { z } from "zod";
|
|
6
|
+
import { Command } from "../../../client/index.js";
|
|
7
|
+
import type { ExtractAffiliationsInput, ExtractAffiliationsResponse } from "../../types/special-functions.js";
|
|
8
|
+
/**
|
|
9
|
+
* Zod schema for ExtractAffiliationsCommand input validation.
|
|
10
|
+
*/
|
|
11
|
+
export declare const ExtractAffiliationsInputSchema: z.ZodObject<{
|
|
12
|
+
affiliations: z.ZodArray<z.ZodObject<{
|
|
13
|
+
affiliation: z.ZodOptional<z.ZodString>;
|
|
14
|
+
name: z.ZodOptional<z.ZodString>;
|
|
15
|
+
city: z.ZodOptional<z.ZodString>;
|
|
16
|
+
state: z.ZodOptional<z.ZodString>;
|
|
17
|
+
country: z.ZodOptional<z.ZodString>;
|
|
18
|
+
}, z.core.$strip>>;
|
|
19
|
+
results: z.ZodOptional<z.ZodEnum<{
|
|
20
|
+
basic: "basic";
|
|
21
|
+
full: "full";
|
|
22
|
+
publisher: "publisher";
|
|
23
|
+
}>>;
|
|
24
|
+
}, z.core.$strip>;
|
|
25
|
+
/**
|
|
26
|
+
* Input type for ExtractAffiliationsCommand (raw input).
|
|
27
|
+
*/
|
|
28
|
+
export type ExtractAffiliationsCommandInput = z.input<typeof ExtractAffiliationsInputSchema>;
|
|
29
|
+
/**
|
|
30
|
+
* Parsed input type for ExtractAffiliationsCommand (after validation).
|
|
31
|
+
*/
|
|
32
|
+
export type ExtractAffiliationsCommandParsedInput = z.output<typeof ExtractAffiliationsInputSchema>;
|
|
33
|
+
/**
|
|
34
|
+
* Command for extracting/resolving affiliations using the Dimensions API.
|
|
35
|
+
* Takes freetext or structured affiliation data and returns matched organizations.
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```typescript
|
|
39
|
+
* const cmd = new ExtractAffiliationsCommand({
|
|
40
|
+
* affiliations: [
|
|
41
|
+
* { affiliation: "University of Oxford, UK" },
|
|
42
|
+
* { name: "Stanford", city: "Stanford", country: "USA" }
|
|
43
|
+
* ]
|
|
44
|
+
* });
|
|
45
|
+
*
|
|
46
|
+
* const result = await client.send(cmd);
|
|
47
|
+
* console.log(result.extracted_affiliations);
|
|
48
|
+
* // [{ id: "grid.xxx", name: "University of Oxford", ... }, ...]
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
export declare class ExtractAffiliationsCommand extends Command<ExtractAffiliationsCommandParsedInput, ExtractAffiliationsResponse> {
|
|
52
|
+
static readonly inputSchema: z.ZodObject<{
|
|
53
|
+
affiliations: z.ZodArray<z.ZodObject<{
|
|
54
|
+
affiliation: z.ZodOptional<z.ZodString>;
|
|
55
|
+
name: z.ZodOptional<z.ZodString>;
|
|
56
|
+
city: z.ZodOptional<z.ZodString>;
|
|
57
|
+
state: z.ZodOptional<z.ZodString>;
|
|
58
|
+
country: z.ZodOptional<z.ZodString>;
|
|
59
|
+
}, z.core.$strip>>;
|
|
60
|
+
results: z.ZodOptional<z.ZodEnum<{
|
|
61
|
+
basic: "basic";
|
|
62
|
+
full: "full";
|
|
63
|
+
publisher: "publisher";
|
|
64
|
+
}>>;
|
|
65
|
+
}, z.core.$strip>;
|
|
66
|
+
readonly input: ExtractAffiliationsCommandParsedInput;
|
|
67
|
+
/**
|
|
68
|
+
* Creates a new ExtractAffiliationsCommand.
|
|
69
|
+
* @param input - Command input parameters
|
|
70
|
+
* @throws {ValidationError} If input validation fails
|
|
71
|
+
*/
|
|
72
|
+
constructor(input: ExtractAffiliationsInput);
|
|
73
|
+
/**
|
|
74
|
+
* Resolves the DSL query for this command.
|
|
75
|
+
* @returns The constructed DSL query string
|
|
76
|
+
*/
|
|
77
|
+
resolveQuery(): string;
|
|
78
|
+
/**
|
|
79
|
+
* Transforms raw API response to typed output.
|
|
80
|
+
* @param response - Raw API response
|
|
81
|
+
* @returns Typed extraction results
|
|
82
|
+
* @throws {ValidationError} If response structure is invalid
|
|
83
|
+
*/
|
|
84
|
+
transformResponse(response: unknown): ExtractAffiliationsResponse;
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=ExtractAffiliationsCommand.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExtractAffiliationsCommand.d.ts","sourceRoot":"","sources":["../../../../src/dsl/commands/functions/ExtractAffiliationsCommand.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,OAAO,EAAmB,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAEV,wBAAwB,EACxB,2BAA2B,EAC5B,MAAM,kCAAkC,CAAC;AAoB1C;;GAEG;AACH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;iBASzC,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAE7F;;GAEG;AACH,MAAM,MAAM,qCAAqC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,8BAA8B,CAAC,CAAC;AA8CpG;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,0BAA2B,SAAQ,OAAO,CACrD,qCAAqC,EACrC,2BAA2B,CAC5B;IACC,MAAM,CAAC,QAAQ,CAAC,WAAW;;;;;;;;;;;;;sBAAkC;IAE7D,QAAQ,CAAC,KAAK,EAAE,qCAAqC,CAAC;IAEtD;;;;OAIG;gBACS,KAAK,EAAE,wBAAwB;IAK3C;;;OAGG;IACH,YAAY,IAAI,MAAM;IAMtB;;;;;OAKG;IACH,iBAAiB,CAAC,QAAQ,EAAE,OAAO,GAAG,2BAA2B;CAWlE"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Command for extracting/resolving affiliations using the Dimensions API.
|
|
3
|
+
* @module commands/functions/ExtractAffiliationsCommand
|
|
4
|
+
*/
|
|
5
|
+
import { z } from "zod";
|
|
6
|
+
import { Command, ValidationError } from "../../../client/index.js";
|
|
7
|
+
import { escapeDslString } from "../../utils/escape.js";
|
|
8
|
+
import { validateInput } from "../validate-input.js";
|
|
9
|
+
/**
|
|
10
|
+
* Schema for a single affiliation input.
|
|
11
|
+
* Must have either affiliation (freetext) or at least name (structured).
|
|
12
|
+
*/
|
|
13
|
+
const AffiliationInputSchema = z
|
|
14
|
+
.object({
|
|
15
|
+
affiliation: z.string().optional().describe("Freetext affiliation string"),
|
|
16
|
+
name: z.string().optional().describe("Organization name"),
|
|
17
|
+
city: z.string().optional().describe("City"),
|
|
18
|
+
state: z.string().optional().describe("State/province"),
|
|
19
|
+
country: z.string().optional().describe("Country"),
|
|
20
|
+
})
|
|
21
|
+
.refine((data) => data.affiliation || data.name, {
|
|
22
|
+
message: "At least one of affiliation (freetext) or name (structured) must be provided",
|
|
23
|
+
});
|
|
24
|
+
/**
|
|
25
|
+
* Zod schema for ExtractAffiliationsCommand input validation.
|
|
26
|
+
*/
|
|
27
|
+
export const ExtractAffiliationsInputSchema = z.object({
|
|
28
|
+
affiliations: z
|
|
29
|
+
.array(AffiliationInputSchema)
|
|
30
|
+
.min(1, "At least one affiliation must be provided")
|
|
31
|
+
.describe("Array of affiliations to resolve"),
|
|
32
|
+
results: z
|
|
33
|
+
.enum(["basic", "full", "publisher"])
|
|
34
|
+
.optional()
|
|
35
|
+
.describe('Results detail level: "basic" (default), "full", or "publisher"'),
|
|
36
|
+
});
|
|
37
|
+
/**
|
|
38
|
+
* Schema for a single affiliation result.
|
|
39
|
+
*/
|
|
40
|
+
const AffiliationResultSchema = z.object({
|
|
41
|
+
id: z.string(),
|
|
42
|
+
name: z.string(),
|
|
43
|
+
country: z.string().optional(),
|
|
44
|
+
score: z.number().optional(),
|
|
45
|
+
});
|
|
46
|
+
/**
|
|
47
|
+
* Zod schema for validating API response structure.
|
|
48
|
+
*/
|
|
49
|
+
const ExtractAffiliationsResponseSchema = z.object({
|
|
50
|
+
extracted_affiliations: z.array(AffiliationResultSchema),
|
|
51
|
+
});
|
|
52
|
+
/**
|
|
53
|
+
* Converts an affiliation input to its JSON representation for DSL.
|
|
54
|
+
* @param aff - The affiliation input
|
|
55
|
+
* @returns JSON object string
|
|
56
|
+
*/
|
|
57
|
+
function affiliationToJsonObject(aff) {
|
|
58
|
+
const parts = [];
|
|
59
|
+
if (aff.affiliation) {
|
|
60
|
+
parts.push(`"affiliation": "${escapeDslString(aff.affiliation)}"`);
|
|
61
|
+
}
|
|
62
|
+
if (aff.name) {
|
|
63
|
+
parts.push(`"name": "${escapeDslString(aff.name)}"`);
|
|
64
|
+
}
|
|
65
|
+
if (aff.city) {
|
|
66
|
+
parts.push(`"city": "${escapeDslString(aff.city)}"`);
|
|
67
|
+
}
|
|
68
|
+
if (aff.state) {
|
|
69
|
+
parts.push(`"state": "${escapeDslString(aff.state)}"`);
|
|
70
|
+
}
|
|
71
|
+
if (aff.country) {
|
|
72
|
+
parts.push(`"country": "${escapeDslString(aff.country)}"`);
|
|
73
|
+
}
|
|
74
|
+
return `{${parts.join(", ")}}`;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Command for extracting/resolving affiliations using the Dimensions API.
|
|
78
|
+
* Takes freetext or structured affiliation data and returns matched organizations.
|
|
79
|
+
*
|
|
80
|
+
* @example
|
|
81
|
+
* ```typescript
|
|
82
|
+
* const cmd = new ExtractAffiliationsCommand({
|
|
83
|
+
* affiliations: [
|
|
84
|
+
* { affiliation: "University of Oxford, UK" },
|
|
85
|
+
* { name: "Stanford", city: "Stanford", country: "USA" }
|
|
86
|
+
* ]
|
|
87
|
+
* });
|
|
88
|
+
*
|
|
89
|
+
* const result = await client.send(cmd);
|
|
90
|
+
* console.log(result.extracted_affiliations);
|
|
91
|
+
* // [{ id: "grid.xxx", name: "University of Oxford", ... }, ...]
|
|
92
|
+
* ```
|
|
93
|
+
*/
|
|
94
|
+
export class ExtractAffiliationsCommand extends Command {
|
|
95
|
+
static inputSchema = ExtractAffiliationsInputSchema;
|
|
96
|
+
input;
|
|
97
|
+
/**
|
|
98
|
+
* Creates a new ExtractAffiliationsCommand.
|
|
99
|
+
* @param input - Command input parameters
|
|
100
|
+
* @throws {ValidationError} If input validation fails
|
|
101
|
+
*/
|
|
102
|
+
constructor(input) {
|
|
103
|
+
super();
|
|
104
|
+
this.input = validateInput(ExtractAffiliationsInputSchema, input);
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Resolves the DSL query for this command.
|
|
108
|
+
* @returns The constructed DSL query string
|
|
109
|
+
*/
|
|
110
|
+
resolveQuery() {
|
|
111
|
+
const jsonObjects = this.input.affiliations.map(affiliationToJsonObject);
|
|
112
|
+
const resultsSuffix = this.input.results ? `, results="${this.input.results}"` : "";
|
|
113
|
+
return `extract_affiliations(json=[${jsonObjects.join(", ")}]${resultsSuffix})`;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Transforms raw API response to typed output.
|
|
117
|
+
* @param response - Raw API response
|
|
118
|
+
* @returns Typed extraction results
|
|
119
|
+
* @throws {ValidationError} If response structure is invalid
|
|
120
|
+
*/
|
|
121
|
+
transformResponse(response) {
|
|
122
|
+
const parseResult = ExtractAffiliationsResponseSchema.safeParse(response);
|
|
123
|
+
if (!parseResult.success) {
|
|
124
|
+
throw new ValidationError("Invalid API response structure", {
|
|
125
|
+
zodErrors: parseResult.error.issues,
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
return parseResult.data;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=ExtractAffiliationsCommand.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExtractAffiliationsCommand.js","sourceRoot":"","sources":["../../../../src/dsl/commands/functions/ExtractAffiliationsCommand.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAMpE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD;;;GAGG;AACH,MAAM,sBAAsB,GAAG,CAAC;KAC7B,MAAM,CAAC;IACN,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAC1E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IACzD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC5C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IACvD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;CACnD,CAAC;KACD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,EAAE;IAC/C,OAAO,EAAE,8EAA8E;CACxF,CAAC,CAAC;AAEL;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IACrD,YAAY,EAAE,CAAC;SACZ,KAAK,CAAC,sBAAsB,CAAC;SAC7B,GAAG,CAAC,CAAC,EAAE,2CAA2C,CAAC;SACnD,QAAQ,CAAC,kCAAkC,CAAC;IAC/C,OAAO,EAAE,CAAC;SACP,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;SACpC,QAAQ,EAAE;SACV,QAAQ,CAAC,iEAAiE,CAAC;CAC/E,CAAC,CAAC;AAYH;;GAEG;AACH,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,iCAAiC,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,sBAAsB,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC;CACzD,CAAC,CAAC;AAEH;;;;GAIG;AACH,SAAS,uBAAuB,CAAC,GAAqB;IACpD,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,mBAAmB,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QACb,KAAK,CAAC,IAAI,CAAC,YAAY,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QACb,KAAK,CAAC,IAAI,CAAC,YAAY,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,aAAa,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,eAAe,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACjC,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,0BAA2B,SAAQ,OAG/C;IACC,MAAM,CAAU,WAAW,GAAG,8BAA8B,CAAC;IAEpD,KAAK,CAAwC;IAEtD;;;;OAIG;IACH,YAAY,KAA+B;QACzC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;IACpE,CAAC;IAED;;;OAGG;IACH,YAAY;QACV,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACzE,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACpF,OAAO,8BAA8B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,aAAa,GAAG,CAAC;IAClF,CAAC;IAED;;;;;OAKG;IACH,iBAAiB,CAAC,QAAiB;QACjC,MAAM,WAAW,GAAG,iCAAiC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAE1E,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YACzB,MAAM,IAAI,eAAe,CAAC,gCAAgC,EAAE;gBAC1D,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,MAAM;aACpC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,WAAW,CAAC,IAAI,CAAC;IAC1B,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Command for extracting concepts from text using the Dimensions API.
|
|
3
|
+
* @module commands/functions/ExtractConceptsCommand
|
|
4
|
+
*/
|
|
5
|
+
import { z } from "zod";
|
|
6
|
+
import { Command } from "../../../client/index.js";
|
|
7
|
+
import type { ExtractConceptsInput, ExtractConceptsResponse } from "../../types/special-functions.js";
|
|
8
|
+
/**
|
|
9
|
+
* Zod schema for ExtractConceptsCommand input validation.
|
|
10
|
+
*/
|
|
11
|
+
export declare const ExtractConceptsInputSchema: z.ZodObject<{
|
|
12
|
+
text: z.ZodString;
|
|
13
|
+
returnScores: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
14
|
+
}, z.core.$strip>;
|
|
15
|
+
/**
|
|
16
|
+
* Input type for ExtractConceptsCommand (raw input).
|
|
17
|
+
*/
|
|
18
|
+
export type ExtractConceptsCommandInput = z.input<typeof ExtractConceptsInputSchema>;
|
|
19
|
+
/**
|
|
20
|
+
* Parsed input type for ExtractConceptsCommand (after validation with defaults).
|
|
21
|
+
*/
|
|
22
|
+
export type ExtractConceptsCommandParsedInput = z.output<typeof ExtractConceptsInputSchema>;
|
|
23
|
+
/**
|
|
24
|
+
* Command for extracting concepts from text using the Dimensions API.
|
|
25
|
+
*
|
|
26
|
+
* @template WithScores - Whether relevance scores are included
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```typescript
|
|
30
|
+
* // Simple extraction
|
|
31
|
+
* const cmd = new ExtractConceptsCommand({
|
|
32
|
+
* text: "Machine learning algorithms for drug discovery"
|
|
33
|
+
* });
|
|
34
|
+
* const result = await client.send(cmd);
|
|
35
|
+
* console.log(result.extracted_concepts); // string[]
|
|
36
|
+
*
|
|
37
|
+
* // With scores
|
|
38
|
+
* const cmdScores = new ExtractConceptsCommand({
|
|
39
|
+
* text: "Machine learning algorithms for drug discovery",
|
|
40
|
+
* returnScores: true
|
|
41
|
+
* });
|
|
42
|
+
* const resultScores = await client.send(cmdScores);
|
|
43
|
+
* console.log(resultScores.extracted_concepts); // { concept, relevance }[]
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
export declare class ExtractConceptsCommand<WithScores extends boolean = false> extends Command<ExtractConceptsCommandParsedInput, ExtractConceptsResponse<WithScores>> {
|
|
47
|
+
static readonly inputSchema: z.ZodObject<{
|
|
48
|
+
text: z.ZodString;
|
|
49
|
+
returnScores: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
50
|
+
}, z.core.$strip>;
|
|
51
|
+
readonly input: ExtractConceptsCommandParsedInput;
|
|
52
|
+
/**
|
|
53
|
+
* Creates a new ExtractConceptsCommand.
|
|
54
|
+
* @param input - Command input parameters
|
|
55
|
+
* @throws {ValidationError} If input validation fails
|
|
56
|
+
*/
|
|
57
|
+
constructor(input: ExtractConceptsInput & {
|
|
58
|
+
returnScores?: WithScores;
|
|
59
|
+
});
|
|
60
|
+
/**
|
|
61
|
+
* Resolves the DSL query for this command.
|
|
62
|
+
* @returns The constructed DSL query string
|
|
63
|
+
*/
|
|
64
|
+
resolveQuery(): string;
|
|
65
|
+
/**
|
|
66
|
+
* Transforms raw API response to typed output.
|
|
67
|
+
* @param response - Raw API response
|
|
68
|
+
* @returns Typed extraction results
|
|
69
|
+
* @throws {ValidationError} If response structure is invalid
|
|
70
|
+
*/
|
|
71
|
+
transformResponse(response: unknown): ExtractConceptsResponse<WithScores>;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=ExtractConceptsCommand.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExtractConceptsCommand.d.ts","sourceRoot":"","sources":["../../../../src/dsl/commands/functions/ExtractConceptsCommand.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,OAAO,EAAmB,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EACV,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,kCAAkC,CAAC;AAI1C;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;iBASrC,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAErF;;GAEG;AACH,MAAM,MAAM,iCAAiC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAqB5F;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,sBAAsB,CAAC,UAAU,SAAS,OAAO,GAAG,KAAK,CAAE,SAAQ,OAAO,CACrF,iCAAiC,EACjC,uBAAuB,CAAC,UAAU,CAAC,CACpC;IACC,MAAM,CAAC,QAAQ,CAAC,WAAW;;;sBAA8B;IAEzD,QAAQ,CAAC,KAAK,EAAE,iCAAiC,CAAC;IAElD;;;;OAIG;gBACS,KAAK,EAAE,oBAAoB,GAAG;QAAE,YAAY,CAAC,EAAE,UAAU,CAAA;KAAE;IAKvE;;;OAGG;IACH,YAAY,IAAI,MAAM;IAStB;;;;;OAKG;IACH,iBAAiB,CAAC,QAAQ,EAAE,OAAO,GAAG,uBAAuB,CAAC,UAAU,CAAC;CAuB1E"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Command for extracting concepts from text using the Dimensions API.
|
|
3
|
+
* @module commands/functions/ExtractConceptsCommand
|
|
4
|
+
*/
|
|
5
|
+
import { z } from "zod";
|
|
6
|
+
import { Command, ValidationError } from "../../../client/index.js";
|
|
7
|
+
import { escapeDslString } from "../../utils/escape.js";
|
|
8
|
+
import { validateInput } from "../validate-input.js";
|
|
9
|
+
/**
|
|
10
|
+
* Zod schema for ExtractConceptsCommand input validation.
|
|
11
|
+
*/
|
|
12
|
+
export const ExtractConceptsInputSchema = z.object({
|
|
13
|
+
/** Text to extract concepts from */
|
|
14
|
+
text: z.string().min(1, "Text must not be empty").describe("Text to extract concepts from"),
|
|
15
|
+
/** Whether to include relevance scores in the response */
|
|
16
|
+
returnScores: z
|
|
17
|
+
.boolean()
|
|
18
|
+
.optional()
|
|
19
|
+
.default(false)
|
|
20
|
+
.describe("Include relevance scores for concepts"),
|
|
21
|
+
});
|
|
22
|
+
/**
|
|
23
|
+
* Zod schema for validating API response with concept strings.
|
|
24
|
+
*/
|
|
25
|
+
const ConceptsSimpleResponseSchema = z.object({
|
|
26
|
+
extracted_concepts: z.array(z.string()),
|
|
27
|
+
});
|
|
28
|
+
/**
|
|
29
|
+
* Zod schema for validating API response with concept objects.
|
|
30
|
+
*/
|
|
31
|
+
const ConceptsWithScoresResponseSchema = z.object({
|
|
32
|
+
extracted_concepts: z.array(z.object({
|
|
33
|
+
concept: z.string(),
|
|
34
|
+
relevance: z.number(),
|
|
35
|
+
})),
|
|
36
|
+
});
|
|
37
|
+
/**
|
|
38
|
+
* Command for extracting concepts from text using the Dimensions API.
|
|
39
|
+
*
|
|
40
|
+
* @template WithScores - Whether relevance scores are included
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* ```typescript
|
|
44
|
+
* // Simple extraction
|
|
45
|
+
* const cmd = new ExtractConceptsCommand({
|
|
46
|
+
* text: "Machine learning algorithms for drug discovery"
|
|
47
|
+
* });
|
|
48
|
+
* const result = await client.send(cmd);
|
|
49
|
+
* console.log(result.extracted_concepts); // string[]
|
|
50
|
+
*
|
|
51
|
+
* // With scores
|
|
52
|
+
* const cmdScores = new ExtractConceptsCommand({
|
|
53
|
+
* text: "Machine learning algorithms for drug discovery",
|
|
54
|
+
* returnScores: true
|
|
55
|
+
* });
|
|
56
|
+
* const resultScores = await client.send(cmdScores);
|
|
57
|
+
* console.log(resultScores.extracted_concepts); // { concept, relevance }[]
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
export class ExtractConceptsCommand extends Command {
|
|
61
|
+
static inputSchema = ExtractConceptsInputSchema;
|
|
62
|
+
input;
|
|
63
|
+
/**
|
|
64
|
+
* Creates a new ExtractConceptsCommand.
|
|
65
|
+
* @param input - Command input parameters
|
|
66
|
+
* @throws {ValidationError} If input validation fails
|
|
67
|
+
*/
|
|
68
|
+
constructor(input) {
|
|
69
|
+
super();
|
|
70
|
+
this.input = validateInput(ExtractConceptsInputSchema, input);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Resolves the DSL query for this command.
|
|
74
|
+
* @returns The constructed DSL query string
|
|
75
|
+
*/
|
|
76
|
+
resolveQuery() {
|
|
77
|
+
const escapedText = escapeDslString(this.input.text);
|
|
78
|
+
if (this.input.returnScores) {
|
|
79
|
+
return `extract_concepts("${escapedText}", return_scores=true)`;
|
|
80
|
+
}
|
|
81
|
+
return `extract_concepts("${escapedText}")`;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Transforms raw API response to typed output.
|
|
85
|
+
* @param response - Raw API response
|
|
86
|
+
* @returns Typed extraction results
|
|
87
|
+
* @throws {ValidationError} If response structure is invalid
|
|
88
|
+
*/
|
|
89
|
+
transformResponse(response) {
|
|
90
|
+
if (this.input.returnScores) {
|
|
91
|
+
const parseResult = ConceptsWithScoresResponseSchema.safeParse(response);
|
|
92
|
+
if (!parseResult.success) {
|
|
93
|
+
throw new ValidationError("Invalid API response structure", {
|
|
94
|
+
zodErrors: parseResult.error.issues,
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
return parseResult.data;
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
const parseResult = ConceptsSimpleResponseSchema.safeParse(response);
|
|
101
|
+
if (!parseResult.success) {
|
|
102
|
+
throw new ValidationError("Invalid API response structure", {
|
|
103
|
+
zodErrors: parseResult.error.issues,
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
return parseResult.data;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=ExtractConceptsCommand.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExtractConceptsCommand.js","sourceRoot":"","sources":["../../../../src/dsl/commands/functions/ExtractConceptsCommand.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAKpE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,oCAAoC;IACpC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAC3F,0DAA0D;IAC1D,YAAY,EAAE,CAAC;SACZ,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,uCAAuC,CAAC;CACrD,CAAC,CAAC;AAYH;;GAEG;AACH,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CACxC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,gCAAgC,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,kBAAkB,EAAE,CAAC,CAAC,KAAK,CACzB,CAAC,CAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;KACtB,CAAC,CACH;CACF,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,OAAO,sBAA2D,SAAQ,OAG/E;IACC,MAAM,CAAU,WAAW,GAAG,0BAA0B,CAAC;IAEhD,KAAK,CAAoC;IAElD;;;;OAIG;IACH,YAAY,KAA2D;QACrE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;IAChE,CAAC;IAED;;;OAGG;IACH,YAAY;QACV,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAErD,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;YAC5B,OAAO,qBAAqB,WAAW,wBAAwB,CAAC;QAClE,CAAC;QACD,OAAO,qBAAqB,WAAW,IAAI,CAAC;IAC9C,CAAC;IAED;;;;;OAKG;IACH,iBAAiB,CAAC,QAAiB;QACjC,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;YAC5B,MAAM,WAAW,GAAG,gCAAgC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAEzE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;gBACzB,MAAM,IAAI,eAAe,CAAC,gCAAgC,EAAE;oBAC1D,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,MAAM;iBACpC,CAAC,CAAC;YACL,CAAC;YAED,OAAO,WAAW,CAAC,IAAsD,CAAC;QAC5E,CAAC;aAAM,CAAC;YACN,MAAM,WAAW,GAAG,4BAA4B,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAErE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;gBACzB,MAAM,IAAI,eAAe,CAAC,gCAAgC,EAAE;oBAC1D,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,MAAM;iBACpC,CAAC,CAAC;YACL,CAAC;YAED,OAAO,WAAW,CAAC,IAAsD,CAAC;QAC5E,CAAC;IACH,CAAC"}
|