@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.
Files changed (722) hide show
  1. package/CHANGELOG.md +61 -0
  2. package/README.md +152 -0
  3. package/bin/dimensions-analytics-mcp-http.js +2 -0
  4. package/bin/dimensions-analytics-mcp.js +2 -0
  5. package/dist/client/auth/config-loaders.d.ts +22 -0
  6. package/dist/client/auth/config-loaders.d.ts.map +1 -0
  7. package/dist/client/auth/config-loaders.js +68 -0
  8. package/dist/client/auth/config-loaders.js.map +1 -0
  9. package/dist/client/auth/decorators/index.d.ts +7 -0
  10. package/dist/client/auth/decorators/index.d.ts.map +1 -0
  11. package/dist/client/auth/decorators/index.js +6 -0
  12. package/dist/client/auth/decorators/index.js.map +1 -0
  13. package/dist/client/auth/decorators/with-caching.d.ts +81 -0
  14. package/dist/client/auth/decorators/with-caching.d.ts.map +1 -0
  15. package/dist/client/auth/decorators/with-caching.js +168 -0
  16. package/dist/client/auth/decorators/with-caching.js.map +1 -0
  17. package/dist/client/auth/factory.d.ts +13 -0
  18. package/dist/client/auth/factory.d.ts.map +1 -0
  19. package/dist/client/auth/factory.js +29 -0
  20. package/dist/client/auth/factory.js.map +1 -0
  21. package/dist/client/auth/index.d.ts +7 -0
  22. package/dist/client/auth/index.d.ts.map +1 -0
  23. package/dist/client/auth/index.js +6 -0
  24. package/dist/client/auth/index.js.map +1 -0
  25. package/dist/client/auth/jwt-utils.d.ts +17 -0
  26. package/dist/client/auth/jwt-utils.d.ts.map +1 -0
  27. package/dist/client/auth/jwt-utils.js +33 -0
  28. package/dist/client/auth/jwt-utils.js.map +1 -0
  29. package/dist/client/auth/node.d.ts +16 -0
  30. package/dist/client/auth/node.d.ts.map +1 -0
  31. package/dist/client/auth/node.js +15 -0
  32. package/dist/client/auth/node.js.map +1 -0
  33. package/dist/client/auth/providers/index.d.ts +2 -0
  34. package/dist/client/auth/providers/index.d.ts.map +1 -0
  35. package/dist/client/auth/providers/index.js +2 -0
  36. package/dist/client/auth/providers/index.js.map +1 -0
  37. package/dist/client/auth/providers/jwt-auth-provider.d.ts +70 -0
  38. package/dist/client/auth/providers/jwt-auth-provider.d.ts.map +1 -0
  39. package/dist/client/auth/providers/jwt-auth-provider.js +134 -0
  40. package/dist/client/auth/providers/jwt-auth-provider.js.map +1 -0
  41. package/dist/client/auth/schemas.d.ts +19 -0
  42. package/dist/client/auth/schemas.d.ts.map +1 -0
  43. package/dist/client/auth/schemas.js +23 -0
  44. package/dist/client/auth/schemas.js.map +1 -0
  45. package/dist/client/auth/types.d.ts +25 -0
  46. package/dist/client/auth/types.d.ts.map +1 -0
  47. package/dist/client/auth/types.js +9 -0
  48. package/dist/client/auth/types.js.map +1 -0
  49. package/dist/client/command.d.ts +44 -0
  50. package/dist/client/command.d.ts.map +1 -0
  51. package/dist/client/command.js +23 -0
  52. package/dist/client/command.js.map +1 -0
  53. package/dist/client/config/index.d.ts +11 -0
  54. package/dist/client/config/index.d.ts.map +1 -0
  55. package/dist/client/config/index.js +8 -0
  56. package/dist/client/config/index.js.map +1 -0
  57. package/dist/client/config/loader.d.ts +27 -0
  58. package/dist/client/config/loader.d.ts.map +1 -0
  59. package/dist/client/config/loader.js +128 -0
  60. package/dist/client/config/loader.js.map +1 -0
  61. package/dist/client/config/node.d.ts +18 -0
  62. package/dist/client/config/node.d.ts.map +1 -0
  63. package/dist/client/config/node.js +17 -0
  64. package/dist/client/config/node.js.map +1 -0
  65. package/dist/client/config/schemas.d.ts +23 -0
  66. package/dist/client/config/schemas.d.ts.map +1 -0
  67. package/dist/client/config/schemas.js +24 -0
  68. package/dist/client/config/schemas.js.map +1 -0
  69. package/dist/client/config/types.d.ts +37 -0
  70. package/dist/client/config/types.d.ts.map +1 -0
  71. package/dist/client/config/types.js +6 -0
  72. package/dist/client/config/types.js.map +1 -0
  73. package/dist/client/config/unified-loader.d.ts +41 -0
  74. package/dist/client/config/unified-loader.d.ts.map +1 -0
  75. package/dist/client/config/unified-loader.js +86 -0
  76. package/dist/client/config/unified-loader.js.map +1 -0
  77. package/dist/client/config.d.ts +43 -0
  78. package/dist/client/config.d.ts.map +1 -0
  79. package/dist/client/config.js +56 -0
  80. package/dist/client/config.js.map +1 -0
  81. package/dist/client/deployment-config.d.ts +36 -0
  82. package/dist/client/deployment-config.d.ts.map +1 -0
  83. package/dist/client/deployment-config.js +79 -0
  84. package/dist/client/deployment-config.js.map +1 -0
  85. package/dist/client/errors.d.ts +180 -0
  86. package/dist/client/errors.d.ts.map +1 -0
  87. package/dist/client/errors.js +253 -0
  88. package/dist/client/errors.js.map +1 -0
  89. package/dist/client/http-client.d.ts +215 -0
  90. package/dist/client/http-client.d.ts.map +1 -0
  91. package/dist/client/http-client.js +419 -0
  92. package/dist/client/http-client.js.map +1 -0
  93. package/dist/client/index.d.ts +28 -0
  94. package/dist/client/index.d.ts.map +1 -0
  95. package/dist/client/index.js +18 -0
  96. package/dist/client/index.js.map +1 -0
  97. package/dist/client/internal-dsl-client.d.ts +30 -0
  98. package/dist/client/internal-dsl-client.d.ts.map +1 -0
  99. package/dist/client/internal-dsl-client.js +101 -0
  100. package/dist/client/internal-dsl-client.js.map +1 -0
  101. package/dist/client/rate-limiter.d.ts +79 -0
  102. package/dist/client/rate-limiter.d.ts.map +1 -0
  103. package/dist/client/rate-limiter.js +118 -0
  104. package/dist/client/rate-limiter.js.map +1 -0
  105. package/dist/client/resolve-api-key-user.d.ts +24 -0
  106. package/dist/client/resolve-api-key-user.d.ts.map +1 -0
  107. package/dist/client/resolve-api-key-user.js +80 -0
  108. package/dist/client/resolve-api-key-user.js.map +1 -0
  109. package/dist/client/types.d.ts +44 -0
  110. package/dist/client/types.d.ts.map +1 -0
  111. package/dist/client/types.js +10 -0
  112. package/dist/client/types.js.map +1 -0
  113. package/dist/dsl/client.d.ts +330 -0
  114. package/dist/dsl/client.d.ts.map +1 -0
  115. package/dist/dsl/client.js +433 -0
  116. package/dist/dsl/client.js.map +1 -0
  117. package/dist/dsl/commands/apply-filters.d.ts +15 -0
  118. package/dist/dsl/commands/apply-filters.d.ts.map +1 -0
  119. package/dist/dsl/commands/apply-filters.js +29 -0
  120. package/dist/dsl/commands/apply-filters.js.map +1 -0
  121. package/dist/dsl/commands/facet/index.d.ts +6 -0
  122. package/dist/dsl/commands/facet/index.d.ts.map +1 -0
  123. package/dist/dsl/commands/facet/index.js +6 -0
  124. package/dist/dsl/commands/facet/index.js.map +1 -0
  125. package/dist/dsl/commands/facet/schemas.d.ts +71 -0
  126. package/dist/dsl/commands/facet/schemas.d.ts.map +1 -0
  127. package/dist/dsl/commands/facet/schemas.js +84 -0
  128. package/dist/dsl/commands/facet/schemas.js.map +1 -0
  129. package/dist/dsl/commands/functions/ClassifyCommand.d.ts +96 -0
  130. package/dist/dsl/commands/functions/ClassifyCommand.d.ts.map +1 -0
  131. package/dist/dsl/commands/functions/ClassifyCommand.js +95 -0
  132. package/dist/dsl/commands/functions/ClassifyCommand.js.map +1 -0
  133. package/dist/dsl/commands/functions/ExtractAffiliationsCommand.d.ts +86 -0
  134. package/dist/dsl/commands/functions/ExtractAffiliationsCommand.d.ts.map +1 -0
  135. package/dist/dsl/commands/functions/ExtractAffiliationsCommand.js +131 -0
  136. package/dist/dsl/commands/functions/ExtractAffiliationsCommand.js.map +1 -0
  137. package/dist/dsl/commands/functions/ExtractConceptsCommand.d.ts +73 -0
  138. package/dist/dsl/commands/functions/ExtractConceptsCommand.d.ts.map +1 -0
  139. package/dist/dsl/commands/functions/ExtractConceptsCommand.js +110 -0
  140. package/dist/dsl/commands/functions/ExtractConceptsCommand.js.map +1 -0
  141. package/dist/dsl/commands/functions/ExtractGrantsCommand.d.ts +66 -0
  142. package/dist/dsl/commands/functions/ExtractGrantsCommand.d.ts.map +1 -0
  143. package/dist/dsl/commands/functions/ExtractGrantsCommand.js +87 -0
  144. package/dist/dsl/commands/functions/ExtractGrantsCommand.js.map +1 -0
  145. package/dist/dsl/commands/functions/index.d.ts +10 -0
  146. package/dist/dsl/commands/functions/index.d.ts.map +1 -0
  147. package/dist/dsl/commands/functions/index.js +10 -0
  148. package/dist/dsl/commands/functions/index.js.map +1 -0
  149. package/dist/dsl/commands/index.d.ts +8 -0
  150. package/dist/dsl/commands/index.d.ts.map +1 -0
  151. package/dist/dsl/commands/index.js +7 -0
  152. package/dist/dsl/commands/index.js.map +1 -0
  153. package/dist/dsl/commands/validate-input.d.ts +18 -0
  154. package/dist/dsl/commands/validate-input.d.ts.map +1 -0
  155. package/dist/dsl/commands/validate-input.js +27 -0
  156. package/dist/dsl/commands/validate-input.js.map +1 -0
  157. package/dist/dsl/create-client.d.ts +32 -0
  158. package/dist/dsl/create-client.d.ts.map +1 -0
  159. package/dist/dsl/create-client.js +58 -0
  160. package/dist/dsl/create-client.js.map +1 -0
  161. package/dist/dsl/fluent-query-builder.d.ts +439 -0
  162. package/dist/dsl/fluent-query-builder.d.ts.map +1 -0
  163. package/dist/dsl/fluent-query-builder.js +534 -0
  164. package/dist/dsl/fluent-query-builder.js.map +1 -0
  165. package/dist/dsl/index.d.ts +32 -0
  166. package/dist/dsl/index.d.ts.map +1 -0
  167. package/dist/dsl/index.js +31 -0
  168. package/dist/dsl/index.js.map +1 -0
  169. package/dist/dsl/pagination.d.ts +82 -0
  170. package/dist/dsl/pagination.d.ts.map +1 -0
  171. package/dist/dsl/pagination.js +135 -0
  172. package/dist/dsl/pagination.js.map +1 -0
  173. package/dist/dsl/query-builder.d.ts +456 -0
  174. package/dist/dsl/query-builder.d.ts.map +1 -0
  175. package/dist/dsl/query-builder.js +994 -0
  176. package/dist/dsl/query-builder.js.map +1 -0
  177. package/dist/dsl/response-parser.d.ts +111 -0
  178. package/dist/dsl/response-parser.d.ts.map +1 -0
  179. package/dist/dsl/response-parser.js +210 -0
  180. package/dist/dsl/response-parser.js.map +1 -0
  181. package/dist/dsl/schema/cache.d.ts +52 -0
  182. package/dist/dsl/schema/cache.d.ts.map +1 -0
  183. package/dist/dsl/schema/cache.js +97 -0
  184. package/dist/dsl/schema/cache.js.map +1 -0
  185. package/dist/dsl/schema/extract.d.ts +18 -0
  186. package/dist/dsl/schema/extract.d.ts.map +1 -0
  187. package/dist/dsl/schema/extract.js +41 -0
  188. package/dist/dsl/schema/extract.js.map +1 -0
  189. package/dist/dsl/schema/index.d.ts +13 -0
  190. package/dist/dsl/schema/index.d.ts.map +1 -0
  191. package/dist/dsl/schema/index.js +12 -0
  192. package/dist/dsl/schema/index.js.map +1 -0
  193. package/dist/dsl/schema/load.d.ts +41 -0
  194. package/dist/dsl/schema/load.d.ts.map +1 -0
  195. package/dist/dsl/schema/load.js +119 -0
  196. package/dist/dsl/schema/load.js.map +1 -0
  197. package/dist/dsl/schema/store.d.ts +137 -0
  198. package/dist/dsl/schema/store.d.ts.map +1 -0
  199. package/dist/dsl/schema/store.js +204 -0
  200. package/dist/dsl/schema/store.js.map +1 -0
  201. package/dist/dsl/schema/structured-entities.d.ts +21 -0
  202. package/dist/dsl/schema/structured-entities.d.ts.map +1 -0
  203. package/dist/dsl/schema/structured-entities.js +39 -0
  204. package/dist/dsl/schema/structured-entities.js.map +1 -0
  205. package/dist/dsl/schema/summary.d.ts +51 -0
  206. package/dist/dsl/schema/summary.d.ts.map +1 -0
  207. package/dist/dsl/schema/summary.js +61 -0
  208. package/dist/dsl/schema/summary.js.map +1 -0
  209. package/dist/dsl/schema/types.d.ts +36 -0
  210. package/dist/dsl/schema/types.d.ts.map +1 -0
  211. package/dist/dsl/schema/types.js +6 -0
  212. package/dist/dsl/schema/types.js.map +1 -0
  213. package/dist/dsl/schema/validation.d.ts +21 -0
  214. package/dist/dsl/schema/validation.d.ts.map +1 -0
  215. package/dist/dsl/schema/validation.js +44 -0
  216. package/dist/dsl/schema/validation.js.map +1 -0
  217. package/dist/dsl/types/buckets.d.ts +18 -0
  218. package/dist/dsl/types/buckets.d.ts.map +1 -0
  219. package/dist/dsl/types/buckets.js +6 -0
  220. package/dist/dsl/types/buckets.js.map +1 -0
  221. package/dist/dsl/types/common.d.ts +91 -0
  222. package/dist/dsl/types/common.d.ts.map +1 -0
  223. package/dist/dsl/types/common.js +6 -0
  224. package/dist/dsl/types/common.js.map +1 -0
  225. package/dist/dsl/types/entities.d.ts +35 -0
  226. package/dist/dsl/types/entities.d.ts.map +1 -0
  227. package/dist/dsl/types/entities.js +11 -0
  228. package/dist/dsl/types/entities.js.map +1 -0
  229. package/dist/dsl/types/index.d.ts +12 -0
  230. package/dist/dsl/types/index.d.ts.map +1 -0
  231. package/dist/dsl/types/index.js +7 -0
  232. package/dist/dsl/types/index.js.map +1 -0
  233. package/dist/dsl/types/return-clauses.d.ts +107 -0
  234. package/dist/dsl/types/return-clauses.d.ts.map +1 -0
  235. package/dist/dsl/types/return-clauses.js +22 -0
  236. package/dist/dsl/types/return-clauses.js.map +1 -0
  237. package/dist/dsl/types/special-functions.d.ts +175 -0
  238. package/dist/dsl/types/special-functions.d.ts.map +1 -0
  239. package/dist/dsl/types/special-functions.js +25 -0
  240. package/dist/dsl/types/special-functions.js.map +1 -0
  241. package/dist/dsl/types/vocabulary.d.ts +21 -0
  242. package/dist/dsl/types/vocabulary.d.ts.map +1 -0
  243. package/dist/dsl/types/vocabulary.js +44 -0
  244. package/dist/dsl/types/vocabulary.js.map +1 -0
  245. package/dist/dsl/usage-policy.d.ts +87 -0
  246. package/dist/dsl/usage-policy.d.ts.map +1 -0
  247. package/dist/dsl/usage-policy.js +133 -0
  248. package/dist/dsl/usage-policy.js.map +1 -0
  249. package/dist/dsl/utils/escape.d.ts +24 -0
  250. package/dist/dsl/utils/escape.d.ts.map +1 -0
  251. package/dist/dsl/utils/escape.js +124 -0
  252. package/dist/dsl/utils/escape.js.map +1 -0
  253. package/dist/dsl/utils/sanitize.d.ts +13 -0
  254. package/dist/dsl/utils/sanitize.d.ts.map +1 -0
  255. package/dist/dsl/utils/sanitize.js +19 -0
  256. package/dist/dsl/utils/sanitize.js.map +1 -0
  257. package/dist/dsl/utils/string-utils.d.ts +35 -0
  258. package/dist/dsl/utils/string-utils.d.ts.map +1 -0
  259. package/dist/dsl/utils/string-utils.js +145 -0
  260. package/dist/dsl/utils/string-utils.js.map +1 -0
  261. package/dist/dsl/utils/validate-field-name.d.ts +11 -0
  262. package/dist/dsl/utils/validate-field-name.d.ts.map +1 -0
  263. package/dist/dsl/utils/validate-field-name.js +18 -0
  264. package/dist/dsl/utils/validate-field-name.js.map +1 -0
  265. package/dist/examples/dsl-examples.d.ts +11 -0
  266. package/dist/examples/dsl-examples.d.ts.map +1 -0
  267. package/dist/examples/dsl-examples.js +49 -0
  268. package/dist/examples/dsl-examples.js.map +1 -0
  269. package/dist/examples/usage-scenarios.d.ts +22 -0
  270. package/dist/examples/usage-scenarios.d.ts.map +1 -0
  271. package/dist/examples/usage-scenarios.js +173 -0
  272. package/dist/examples/usage-scenarios.js.map +1 -0
  273. package/dist/funder-org-names.d.ts +12 -0
  274. package/dist/funder-org-names.d.ts.map +1 -0
  275. package/dist/funder-org-names.js +30 -0
  276. package/dist/funder-org-names.js.map +1 -0
  277. package/dist/http-main.d.ts +7 -0
  278. package/dist/http-main.d.ts.map +1 -0
  279. package/dist/http-main.js +36 -0
  280. package/dist/http-main.js.map +1 -0
  281. package/dist/http.d.ts +29 -0
  282. package/dist/http.d.ts.map +1 -0
  283. package/dist/http.js +173 -0
  284. package/dist/http.js.map +1 -0
  285. package/dist/index.d.ts +9 -0
  286. package/dist/index.d.ts.map +1 -0
  287. package/dist/index.js +7 -0
  288. package/dist/index.js.map +1 -0
  289. package/dist/kwq/build-query.d.ts +26 -0
  290. package/dist/kwq/build-query.d.ts.map +1 -0
  291. package/dist/kwq/build-query.js +37 -0
  292. package/dist/kwq/build-query.js.map +1 -0
  293. package/dist/kwq/concept-groups.d.ts +49 -0
  294. package/dist/kwq/concept-groups.d.ts.map +1 -0
  295. package/dist/kwq/concept-groups.js +55 -0
  296. package/dist/kwq/concept-groups.js.map +1 -0
  297. package/dist/kwq/dsl-assembler.d.ts +28 -0
  298. package/dist/kwq/dsl-assembler.d.ts.map +1 -0
  299. package/dist/kwq/dsl-assembler.js +124 -0
  300. package/dist/kwq/dsl-assembler.js.map +1 -0
  301. package/dist/kwq/ensemble.d.ts +38 -0
  302. package/dist/kwq/ensemble.d.ts.map +1 -0
  303. package/dist/kwq/ensemble.js +107 -0
  304. package/dist/kwq/ensemble.js.map +1 -0
  305. package/dist/kwq/index.d.ts +16 -0
  306. package/dist/kwq/index.d.ts.map +1 -0
  307. package/dist/kwq/index.js +14 -0
  308. package/dist/kwq/index.js.map +1 -0
  309. package/dist/kwq/types.d.ts +120 -0
  310. package/dist/kwq/types.d.ts.map +1 -0
  311. package/dist/kwq/types.js +11 -0
  312. package/dist/kwq/types.js.map +1 -0
  313. package/dist/lambda.d.ts +10 -0
  314. package/dist/lambda.d.ts.map +1 -0
  315. package/dist/lambda.js +4 -0
  316. package/dist/lambda.js.map +1 -0
  317. package/dist/main.d.ts +8 -0
  318. package/dist/main.d.ts.map +1 -0
  319. package/dist/main.js +33 -0
  320. package/dist/main.js.map +1 -0
  321. package/dist/mcp/batch-fetch.d.ts +89 -0
  322. package/dist/mcp/batch-fetch.d.ts.map +1 -0
  323. package/dist/mcp/batch-fetch.js +178 -0
  324. package/dist/mcp/batch-fetch.js.map +1 -0
  325. package/dist/mcp/examples/dsl-examples.d.ts +21 -0
  326. package/dist/mcp/examples/dsl-examples.d.ts.map +1 -0
  327. package/dist/mcp/examples/dsl-examples.js +61 -0
  328. package/dist/mcp/examples/dsl-examples.js.map +1 -0
  329. package/dist/mcp/examples/usage-scenarios.d.ts +20 -0
  330. package/dist/mcp/examples/usage-scenarios.d.ts.map +1 -0
  331. package/dist/mcp/examples/usage-scenarios.js +169 -0
  332. package/dist/mcp/examples/usage-scenarios.js.map +1 -0
  333. package/dist/mcp/export-format.d.ts +43 -0
  334. package/dist/mcp/export-format.d.ts.map +1 -0
  335. package/dist/mcp/export-format.js +92 -0
  336. package/dist/mcp/export-format.js.map +1 -0
  337. package/dist/mcp/funder-org-names.d.ts +12 -0
  338. package/dist/mcp/funder-org-names.d.ts.map +1 -0
  339. package/dist/mcp/funder-org-names.js +30 -0
  340. package/dist/mcp/funder-org-names.js.map +1 -0
  341. package/dist/mcp/http-server.d.ts +20 -0
  342. package/dist/mcp/http-server.d.ts.map +1 -0
  343. package/dist/mcp/http-server.js +118 -0
  344. package/dist/mcp/http-server.js.map +1 -0
  345. package/dist/mcp/middleware/field-aliases.d.ts +97 -0
  346. package/dist/mcp/middleware/field-aliases.d.ts.map +1 -0
  347. package/dist/mcp/middleware/field-aliases.js +208 -0
  348. package/dist/mcp/middleware/field-aliases.js.map +1 -0
  349. package/dist/mcp/resources/schema.d.ts +13 -0
  350. package/dist/mcp/resources/schema.d.ts.map +1 -0
  351. package/dist/mcp/resources/schema.js +262 -0
  352. package/dist/mcp/resources/schema.js.map +1 -0
  353. package/dist/mcp/schema/context.d.ts +10 -0
  354. package/dist/mcp/schema/context.d.ts.map +1 -0
  355. package/dist/mcp/schema/context.js +6 -0
  356. package/dist/mcp/schema/context.js.map +1 -0
  357. package/dist/mcp/schema/index.d.ts +8 -0
  358. package/dist/mcp/schema/index.d.ts.map +1 -0
  359. package/dist/mcp/schema/index.js +6 -0
  360. package/dist/mcp/schema/index.js.map +1 -0
  361. package/dist/mcp/server.d.ts +56 -0
  362. package/dist/mcp/server.d.ts.map +1 -0
  363. package/dist/mcp/server.js +168 -0
  364. package/dist/mcp/server.js.map +1 -0
  365. package/dist/mcp/shared-schema.d.ts +13 -0
  366. package/dist/mcp/shared-schema.d.ts.map +1 -0
  367. package/dist/mcp/shared-schema.js +28 -0
  368. package/dist/mcp/shared-schema.js.map +1 -0
  369. package/dist/mcp/tools/analytics-filters.d.ts +18 -0
  370. package/dist/mcp/tools/analytics-filters.d.ts.map +1 -0
  371. package/dist/mcp/tools/analytics-filters.js +35 -0
  372. package/dist/mcp/tools/analytics-filters.js.map +1 -0
  373. package/dist/mcp/tools/analytics.d.ts +16 -0
  374. package/dist/mcp/tools/analytics.d.ts.map +1 -0
  375. package/dist/mcp/tools/analytics.js +381 -0
  376. package/dist/mcp/tools/analytics.js.map +1 -0
  377. package/dist/mcp/tools/concept-profile.d.ts +14 -0
  378. package/dist/mcp/tools/concept-profile.d.ts.map +1 -0
  379. package/dist/mcp/tools/concept-profile.js +130 -0
  380. package/dist/mcp/tools/concept-profile.js.map +1 -0
  381. package/dist/mcp/tools/dataset-profile.d.ts +15 -0
  382. package/dist/mcp/tools/dataset-profile.d.ts.map +1 -0
  383. package/dist/mcp/tools/dataset-profile.js +194 -0
  384. package/dist/mcp/tools/dataset-profile.js.map +1 -0
  385. package/dist/mcp/tools/fetch-search-pages.d.ts +15 -0
  386. package/dist/mcp/tools/fetch-search-pages.d.ts.map +1 -0
  387. package/dist/mcp/tools/fetch-search-pages.js +237 -0
  388. package/dist/mcp/tools/fetch-search-pages.js.map +1 -0
  389. package/dist/mcp/tools/functions.d.ts +14 -0
  390. package/dist/mcp/tools/functions.d.ts.map +1 -0
  391. package/dist/mcp/tools/functions.js +87 -0
  392. package/dist/mcp/tools/functions.js.map +1 -0
  393. package/dist/mcp/tools/impact-chain.d.ts +15 -0
  394. package/dist/mcp/tools/impact-chain.d.ts.map +1 -0
  395. package/dist/mcp/tools/impact-chain.js +96 -0
  396. package/dist/mcp/tools/impact-chain.js.map +1 -0
  397. package/dist/mcp/tools/kwq.d.ts +19 -0
  398. package/dist/mcp/tools/kwq.d.ts.map +1 -0
  399. package/dist/mcp/tools/kwq.js +156 -0
  400. package/dist/mcp/tools/kwq.js.map +1 -0
  401. package/dist/mcp/tools/lookup.d.ts +14 -0
  402. package/dist/mcp/tools/lookup.d.ts.map +1 -0
  403. package/dist/mcp/tools/lookup.js +146 -0
  404. package/dist/mcp/tools/lookup.js.map +1 -0
  405. package/dist/mcp/tools/policy-profile.d.ts +15 -0
  406. package/dist/mcp/tools/policy-profile.d.ts.map +1 -0
  407. package/dist/mcp/tools/policy-profile.js +174 -0
  408. package/dist/mcp/tools/policy-profile.js.map +1 -0
  409. package/dist/mcp/tools/profile.d.ts +14 -0
  410. package/dist/mcp/tools/profile.d.ts.map +1 -0
  411. package/dist/mcp/tools/profile.js +349 -0
  412. package/dist/mcp/tools/profile.js.map +1 -0
  413. package/dist/mcp/tools/query.d.ts +16 -0
  414. package/dist/mcp/tools/query.d.ts.map +1 -0
  415. package/dist/mcp/tools/query.js +75 -0
  416. package/dist/mcp/tools/query.js.map +1 -0
  417. package/dist/mcp/tools/schema.d.ts +23 -0
  418. package/dist/mcp/tools/schema.d.ts.map +1 -0
  419. package/dist/mcp/tools/schema.js +124 -0
  420. package/dist/mcp/tools/schema.js.map +1 -0
  421. package/dist/mcp/tools/search-entity-metadata.d.ts +18 -0
  422. package/dist/mcp/tools/search-entity-metadata.d.ts.map +1 -0
  423. package/dist/mcp/tools/search-entity-metadata.js +221 -0
  424. package/dist/mcp/tools/search-entity-metadata.js.map +1 -0
  425. package/dist/mcp/tools/search-input.d.ts +58 -0
  426. package/dist/mcp/tools/search-input.d.ts.map +1 -0
  427. package/dist/mcp/tools/search-input.js +76 -0
  428. package/dist/mcp/tools/search-input.js.map +1 -0
  429. package/dist/mcp/tools/search.d.ts +24 -0
  430. package/dist/mcp/tools/search.d.ts.map +1 -0
  431. package/dist/mcp/tools/search.js +115 -0
  432. package/dist/mcp/tools/search.js.map +1 -0
  433. package/dist/mcp/utils.d.ts +82 -0
  434. package/dist/mcp/utils.d.ts.map +1 -0
  435. package/dist/mcp/utils.js +126 -0
  436. package/dist/mcp/utils.js.map +1 -0
  437. package/dist/middleware/field-aliases.d.ts +97 -0
  438. package/dist/middleware/field-aliases.d.ts.map +1 -0
  439. package/dist/middleware/field-aliases.js +208 -0
  440. package/dist/middleware/field-aliases.js.map +1 -0
  441. package/dist/resources/schema.d.ts +13 -0
  442. package/dist/resources/schema.d.ts.map +1 -0
  443. package/dist/resources/schema.js +204 -0
  444. package/dist/resources/schema.js.map +1 -0
  445. package/dist/schema/context.d.ts +10 -0
  446. package/dist/schema/context.d.ts.map +1 -0
  447. package/dist/schema/context.js +6 -0
  448. package/dist/schema/context.js.map +1 -0
  449. package/dist/schema/index.d.ts +9 -0
  450. package/dist/schema/index.d.ts.map +1 -0
  451. package/dist/schema/index.js +6 -0
  452. package/dist/schema/index.js.map +1 -0
  453. package/dist/schema/load.d.ts +43 -0
  454. package/dist/schema/load.d.ts.map +1 -0
  455. package/dist/schema/load.js +139 -0
  456. package/dist/schema/load.js.map +1 -0
  457. package/dist/schema/store.d.ts +112 -0
  458. package/dist/schema/store.d.ts.map +1 -0
  459. package/dist/schema/store.js +173 -0
  460. package/dist/schema/store.js.map +1 -0
  461. package/dist/schema/structured-entities.d.ts +21 -0
  462. package/dist/schema/structured-entities.d.ts.map +1 -0
  463. package/dist/schema/structured-entities.js +39 -0
  464. package/dist/schema/structured-entities.js.map +1 -0
  465. package/dist/schema/types.d.ts +36 -0
  466. package/dist/schema/types.d.ts.map +1 -0
  467. package/dist/schema/types.js +6 -0
  468. package/dist/schema/types.js.map +1 -0
  469. package/dist/server.d.ts +57 -0
  470. package/dist/server.d.ts.map +1 -0
  471. package/dist/server.js +144 -0
  472. package/dist/server.js.map +1 -0
  473. package/dist/telemetry.d.ts +172 -0
  474. package/dist/telemetry.d.ts.map +1 -0
  475. package/dist/telemetry.js +233 -0
  476. package/dist/telemetry.js.map +1 -0
  477. package/dist/tools/analytics-filters.d.ts +18 -0
  478. package/dist/tools/analytics-filters.d.ts.map +1 -0
  479. package/dist/tools/analytics-filters.js +35 -0
  480. package/dist/tools/analytics-filters.js.map +1 -0
  481. package/dist/tools/analytics.d.ts +16 -0
  482. package/dist/tools/analytics.d.ts.map +1 -0
  483. package/dist/tools/analytics.js +381 -0
  484. package/dist/tools/analytics.js.map +1 -0
  485. package/dist/tools/concept-profile.d.ts +14 -0
  486. package/dist/tools/concept-profile.d.ts.map +1 -0
  487. package/dist/tools/concept-profile.js +130 -0
  488. package/dist/tools/concept-profile.js.map +1 -0
  489. package/dist/tools/dataset-profile.d.ts +15 -0
  490. package/dist/tools/dataset-profile.d.ts.map +1 -0
  491. package/dist/tools/dataset-profile.js +194 -0
  492. package/dist/tools/dataset-profile.js.map +1 -0
  493. package/dist/tools/functions.d.ts +14 -0
  494. package/dist/tools/functions.d.ts.map +1 -0
  495. package/dist/tools/functions.js +294 -0
  496. package/dist/tools/functions.js.map +1 -0
  497. package/dist/tools/impact-chain.d.ts +15 -0
  498. package/dist/tools/impact-chain.d.ts.map +1 -0
  499. package/dist/tools/impact-chain.js +96 -0
  500. package/dist/tools/impact-chain.js.map +1 -0
  501. package/dist/tools/kwq.d.ts +19 -0
  502. package/dist/tools/kwq.d.ts.map +1 -0
  503. package/dist/tools/kwq.js +156 -0
  504. package/dist/tools/kwq.js.map +1 -0
  505. package/dist/tools/lookup.d.ts +14 -0
  506. package/dist/tools/lookup.d.ts.map +1 -0
  507. package/dist/tools/lookup.js +213 -0
  508. package/dist/tools/lookup.js.map +1 -0
  509. package/dist/tools/policy-profile.d.ts +15 -0
  510. package/dist/tools/policy-profile.d.ts.map +1 -0
  511. package/dist/tools/policy-profile.js +174 -0
  512. package/dist/tools/policy-profile.js.map +1 -0
  513. package/dist/tools/profile.d.ts +14 -0
  514. package/dist/tools/profile.d.ts.map +1 -0
  515. package/dist/tools/profile.js +349 -0
  516. package/dist/tools/profile.js.map +1 -0
  517. package/dist/tools/query.d.ts +16 -0
  518. package/dist/tools/query.d.ts.map +1 -0
  519. package/dist/tools/query.js +53 -0
  520. package/dist/tools/query.js.map +1 -0
  521. package/dist/tools/schema.d.ts +23 -0
  522. package/dist/tools/schema.d.ts.map +1 -0
  523. package/dist/tools/schema.js +124 -0
  524. package/dist/tools/schema.js.map +1 -0
  525. package/dist/tools/search-entity-metadata.d.ts +18 -0
  526. package/dist/tools/search-entity-metadata.d.ts.map +1 -0
  527. package/dist/tools/search-entity-metadata.js +221 -0
  528. package/dist/tools/search-entity-metadata.js.map +1 -0
  529. package/dist/tools/search.d.ts +23 -0
  530. package/dist/tools/search.d.ts.map +1 -0
  531. package/dist/tools/search.js +110 -0
  532. package/dist/tools/search.js.map +1 -0
  533. package/dist/tools/solr-fields.d.ts +39 -0
  534. package/dist/tools/solr-fields.d.ts.map +1 -0
  535. package/dist/tools/solr-fields.js +40 -0
  536. package/dist/tools/solr-fields.js.map +1 -0
  537. package/dist/utils.d.ts +70 -0
  538. package/dist/utils.d.ts.map +1 -0
  539. package/dist/utils.js +104 -0
  540. package/dist/utils.js.map +1 -0
  541. package/package.json +41 -0
  542. package/src/client/auth/config-loaders.ts +81 -0
  543. package/src/client/auth/decorators/index.ts +7 -0
  544. package/src/client/auth/decorators/with-caching.ts +237 -0
  545. package/src/client/auth/factory.ts +34 -0
  546. package/src/client/auth/index.ts +6 -0
  547. package/src/client/auth/jwt-utils.ts +36 -0
  548. package/src/client/auth/node.ts +16 -0
  549. package/src/client/auth/providers/index.ts +1 -0
  550. package/src/client/auth/providers/jwt-auth-provider.ts +153 -0
  551. package/src/client/auth/schemas.ts +25 -0
  552. package/src/client/auth/types.ts +30 -0
  553. package/src/client/command.ts +54 -0
  554. package/src/client/config/index.ts +15 -0
  555. package/src/client/config/loader.ts +155 -0
  556. package/src/client/config/node.ts +22 -0
  557. package/src/client/config/schemas.ts +28 -0
  558. package/src/client/config/types.ts +39 -0
  559. package/src/client/config/unified-loader.ts +118 -0
  560. package/src/client/config.ts +69 -0
  561. package/src/client/deployment-config.ts +98 -0
  562. package/src/client/errors.ts +295 -0
  563. package/src/client/http-client.ts +577 -0
  564. package/src/client/index.ts +68 -0
  565. package/src/client/internal-dsl-client.ts +128 -0
  566. package/src/client/rate-limiter.ts +139 -0
  567. package/src/client/resolve-api-key-user.ts +99 -0
  568. package/src/client/types.ts +44 -0
  569. package/src/dsl/client.ts +538 -0
  570. package/src/dsl/commands/apply-filters.ts +35 -0
  571. package/src/dsl/commands/facet/index.ts +12 -0
  572. package/src/dsl/commands/facet/schemas.ts +101 -0
  573. package/src/dsl/commands/functions/ClassifyCommand.ts +129 -0
  574. package/src/dsl/commands/functions/ExtractAffiliationsCommand.ts +163 -0
  575. package/src/dsl/commands/functions/ExtractConceptsCommand.ts +141 -0
  576. package/src/dsl/commands/functions/ExtractGrantsCommand.ts +112 -0
  577. package/src/dsl/commands/functions/index.ts +31 -0
  578. package/src/dsl/commands/index.ts +29 -0
  579. package/src/dsl/commands/validate-input.ts +29 -0
  580. package/src/dsl/create-client.ts +80 -0
  581. package/src/dsl/fluent-query-builder.ts +684 -0
  582. package/src/dsl/index.ts +206 -0
  583. package/src/dsl/pagination.ts +202 -0
  584. package/src/dsl/query-builder.ts +1120 -0
  585. package/src/dsl/response-parser.ts +299 -0
  586. package/src/dsl/schema/cache.ts +124 -0
  587. package/src/dsl/schema/extract.ts +44 -0
  588. package/src/dsl/schema/index.ts +50 -0
  589. package/src/dsl/schema/load.ts +160 -0
  590. package/src/dsl/schema/store.ts +253 -0
  591. package/src/dsl/schema/structured-entities.ts +44 -0
  592. package/src/dsl/schema/summary.ts +94 -0
  593. package/src/dsl/schema/types.ts +40 -0
  594. package/src/dsl/schema/validation.ts +56 -0
  595. package/src/dsl/types/buckets.ts +22 -0
  596. package/src/dsl/types/common.ts +99 -0
  597. package/src/dsl/types/entities.ts +43 -0
  598. package/src/dsl/types/index.ts +63 -0
  599. package/src/dsl/types/return-clauses.ts +147 -0
  600. package/src/dsl/types/special-functions.ts +220 -0
  601. package/src/dsl/types/vocabulary.ts +82 -0
  602. package/src/dsl/usage-policy.ts +219 -0
  603. package/src/dsl/utils/escape.ts +123 -0
  604. package/src/dsl/utils/sanitize.ts +21 -0
  605. package/src/dsl/utils/string-utils.ts +147 -0
  606. package/src/dsl/utils/validate-field-name.ts +19 -0
  607. package/src/http-main.ts +41 -0
  608. package/src/index.ts +14 -0
  609. package/src/main.ts +40 -0
  610. package/src/mcp/batch-fetch.ts +255 -0
  611. package/src/mcp/examples/dsl-examples.ts +66 -0
  612. package/src/mcp/examples/usage-scenarios.ts +185 -0
  613. package/src/mcp/export-format.ts +113 -0
  614. package/src/mcp/funder-org-names.ts +30 -0
  615. package/src/mcp/http-server.ts +148 -0
  616. package/src/mcp/middleware/field-aliases.ts +274 -0
  617. package/src/mcp/resources/schema.ts +364 -0
  618. package/src/mcp/schema/context.ts +11 -0
  619. package/src/mcp/schema/index.ts +38 -0
  620. package/src/mcp/server.ts +247 -0
  621. package/src/mcp/shared-schema.ts +34 -0
  622. package/src/mcp/tools/analytics-filters.ts +46 -0
  623. package/src/mcp/tools/analytics.ts +453 -0
  624. package/src/mcp/tools/fetch-search-pages.ts +329 -0
  625. package/src/mcp/tools/functions.ts +105 -0
  626. package/src/mcp/tools/lookup.ts +182 -0
  627. package/src/mcp/tools/query.ts +91 -0
  628. package/src/mcp/tools/schema.ts +147 -0
  629. package/src/mcp/tools/search-entity-metadata.ts +253 -0
  630. package/src/mcp/tools/search-input.ts +87 -0
  631. package/src/mcp/tools/search.ts +168 -0
  632. package/src/mcp/utils.ts +199 -0
  633. package/test/client/auth/config-loaders.test.ts +92 -0
  634. package/test/client/auth/decorators/with-caching.test.ts +482 -0
  635. package/test/client/auth/factory.test.ts +68 -0
  636. package/test/client/auth/providers/jwt-auth-provider.test.ts +398 -0
  637. package/test/client/auth/types.test.ts +18 -0
  638. package/test/client/command.test.ts +163 -0
  639. package/test/client/config/loader.test.ts +377 -0
  640. package/test/client/config/unified-loader.test.ts +136 -0
  641. package/test/client/deployment-config.test.ts +69 -0
  642. package/test/client/errors/index.test.ts +408 -0
  643. package/test/client/helpers/mock-fetch.ts +42 -0
  644. package/test/client/http-client.test.ts +1148 -0
  645. package/test/client/integration/auth-providers.integration.test.ts +186 -0
  646. package/test/client/internal-dsl-client.test.ts +76 -0
  647. package/test/client/rate-limiter.test.ts +204 -0
  648. package/test/client/resolve-api-key-user.test.ts +87 -0
  649. package/test/dsl/client.special-functions.test.ts +387 -0
  650. package/test/dsl/client.test.ts +457 -0
  651. package/test/dsl/commands/apply-filters.test.ts +147 -0
  652. package/test/dsl/commands/functions/ClassifyCommand.test.ts +170 -0
  653. package/test/dsl/commands/functions/ExtractAffiliationsCommand.test.ts +306 -0
  654. package/test/dsl/commands/functions/ExtractConceptsCommand.test.ts +136 -0
  655. package/test/dsl/commands/functions/ExtractGrantsCommand.test.ts +202 -0
  656. package/test/dsl/commands/search/filters.test.ts +42 -0
  657. package/test/dsl/fluent-query-builder.test.ts +865 -0
  658. package/test/dsl/integration/client.integration.test.ts +294 -0
  659. package/test/dsl/integration/facet-api.integration.test.ts +276 -0
  660. package/test/dsl/integration/field-existence.integration.test.ts +148 -0
  661. package/test/dsl/integration/fluent-api-docs-examples.integration.test.ts +988 -0
  662. package/test/dsl/integration/fluent-api.integration.test.ts +615 -0
  663. package/test/dsl/integration/search-helpers.ts +27 -0
  664. package/test/dsl/integration/special-functions.integration.test.ts +224 -0
  665. package/test/dsl/integration/test-config.ts +52 -0
  666. package/test/dsl/pagination.test.ts +86 -0
  667. package/test/dsl/query-builder.test.ts +1775 -0
  668. package/test/dsl/response-parser.test.ts +520 -0
  669. package/test/dsl/schema/cache.test.ts +53 -0
  670. package/test/dsl/schema/load.test.ts +165 -0
  671. package/test/dsl/schema/summary.test.ts +61 -0
  672. package/test/dsl/schema/validation.test.ts +46 -0
  673. package/test/dsl/time-series.test.ts +135 -0
  674. package/test/dsl/unnest.test.ts +151 -0
  675. package/test/dsl/usage-policy.test.ts +100 -0
  676. package/test/dsl/utils/escape.property.test.ts +109 -0
  677. package/test/dsl/utils/escape.test.ts +140 -0
  678. package/test/dsl/utils/validate-field-name.property.test.ts +99 -0
  679. package/test/dsl/utils/validate-field-name.test.ts +55 -0
  680. package/test/examples/dsl-examples.test.ts +29 -0
  681. package/test/examples/usage-scenarios.test.ts +90 -0
  682. package/test/fixtures/describe-schema.json +4000 -0
  683. package/test/funder-org-names.test.ts +20 -0
  684. package/test/helpers/schema-fixture.ts +18 -0
  685. package/test/helpers/tool-test-harness.ts +114 -0
  686. package/test/integration/assertions.ts +263 -0
  687. package/test/integration/env.ts +108 -0
  688. package/test/integration/harness.ts +307 -0
  689. package/test/integration/hosted-client.ts +56 -0
  690. package/test/integration/hosted-mocks.ts +81 -0
  691. package/test/integration/hosted-run.ts +86 -0
  692. package/test/integration/hosted.e2e.test.ts +101 -0
  693. package/test/integration/reporter.ts +100 -0
  694. package/test/integration/run.ts +74 -0
  695. package/test/integration/suites/analytics.integration.ts +72 -0
  696. package/test/integration/suites/functions.integration.ts +37 -0
  697. package/test/integration/suites/hosted-smoke.integration.ts +38 -0
  698. package/test/integration/suites/index.ts +22 -0
  699. package/test/integration/suites/lookup.integration.ts +57 -0
  700. package/test/integration/suites/query.integration.ts +49 -0
  701. package/test/integration/suites/resources.integration.ts +68 -0
  702. package/test/integration/suites/search.integration.ts +80 -0
  703. package/test/integration/types.ts +92 -0
  704. package/test/integration/verify-usage-scenarios.ts +162 -0
  705. package/test/mcp/export-format.test.ts +67 -0
  706. package/test/mcp/http-server.test.ts +80 -0
  707. package/test/middleware/field-aliases.test.ts +287 -0
  708. package/test/resources/schema.test.ts +28 -0
  709. package/test/schema/describe-contract.test.ts +24 -0
  710. package/test/schema/store.test.ts +45 -0
  711. package/test/server.test.ts +170 -0
  712. package/test/tools/analytics-filters.test.ts +35 -0
  713. package/test/tools/analytics.test.ts +419 -0
  714. package/test/tools/fetch-search-pages.test.ts +200 -0
  715. package/test/tools/functions.test.ts +153 -0
  716. package/test/tools/lookup.test.ts +296 -0
  717. package/test/tools/query.test.ts +100 -0
  718. package/test/tools/schema.test.ts +37 -0
  719. package/test/tools/search.test.ts +415 -0
  720. package/test/utils.test.ts +45 -0
  721. package/tsconfig.json +9 -0
  722. package/tsconfig.tsbuildinfo +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../../src/dsl/commands/facet/schemas.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,cAAkD,CAAC,CAAC;AAEvF;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,8BAA8B;IAC9B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,0BAA0B;IAC1B,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACnD,+BAA+B;IAC/B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;CACtD,CAAC,CAAC;AAOH;;GAEG;AACH,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,8BAA8B;IAC9B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,iCAAiC;IACjC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACnD,+BAA+B;IAC/B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;CACtD,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,8BAA8B;IAC9B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,8BAA8B;IAC9B,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACzB,0EAA0E;IAC1E,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC;QACb,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1B,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;KAC3B,CAAC;CACH,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,8BAA8B;IAC9B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,+BAA+B;IAC/B,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;CAC/C,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,kBAAkB,CAAC,UAAU,EAAE;IACxE,kBAAkB;IAClB,cAAc;IACd,qBAAqB,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;IACjE,qBAAqB,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;CACtE,CAAC,CAAC;AAOH;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAiB;IACpD,IAAI,QAAQ,IAAI,IAAI,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChF,MAAM,IAAI,eAAe,CAAC,mCAAmC,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,QAAmC,CAAC;AAC7C,CAAC"}
@@ -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":"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"}
@@ -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"}