@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":"deployment-config.js","sourceRoot":"","sources":["../../src/client/deployment-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,180 @@
1
+ /**
2
+ * Base error class for all Dimensions API errors.
3
+ * Provides consistent error structure with optional status codes and JSON serialization.
4
+ */
5
+ export declare class DimensionsError extends Error {
6
+ /** HTTP status code associated with this error, if applicable */
7
+ readonly statusCode?: number;
8
+ /**
9
+ * Creates a new DimensionsError.
10
+ * @param message - Human-readable error description
11
+ * @param statusCode - Optional HTTP status code
12
+ */
13
+ constructor(message: string, statusCode?: number);
14
+ /**
15
+ * Serializes the error to a plain object for logging or API responses.
16
+ * @returns Plain object representation of the error
17
+ */
18
+ toJSON(): Record<string, unknown>;
19
+ }
20
+ /**
21
+ * Thrown when authentication fails (invalid API key, expired token, etc.).
22
+ * HTTP Status: 401 Unauthorized
23
+ */
24
+ export declare class AuthenticationError extends DimensionsError {
25
+ /**
26
+ * Creates a new AuthenticationError.
27
+ * @param message - Error description (defaults to "Authentication failed")
28
+ */
29
+ constructor(message?: string);
30
+ }
31
+ /**
32
+ * Client-side rate-limit state surfaced on 429 errors.
33
+ * Dimensions does not send rate-limit response headers; this reflects local throttling.
34
+ */
35
+ export interface ClientRateLimitInfo {
36
+ /** Requests remaining in the client sliding window */
37
+ readonly remaining: number;
38
+ /** Suggested wait before retrying, in milliseconds */
39
+ readonly retryAfterMs: number;
40
+ }
41
+ /**
42
+ * Thrown when the API rate limit is exceeded.
43
+ * HTTP Status: 429 Too Many Requests
44
+ */
45
+ export declare class RateLimitError extends DimensionsError {
46
+ /** Suggested seconds to wait before retrying (from client-side throttling) */
47
+ readonly retryAfter?: number;
48
+ /** Client-side rate-limit state when a rate limiter is configured */
49
+ readonly clientRateLimit?: ClientRateLimitInfo;
50
+ /**
51
+ * Creates a new RateLimitError.
52
+ * @param message - Error description (defaults to "Rate limit exceeded")
53
+ * @param retryAfterSeconds - Suggested seconds to wait before retrying
54
+ * @param clientRateLimit - Optional client-side rate-limit snapshot
55
+ */
56
+ constructor(message?: string, retryAfterSeconds?: number, clientRateLimit?: ClientRateLimitInfo);
57
+ toJSON(): Record<string, unknown>;
58
+ }
59
+ /**
60
+ * Thrown when input validation fails (invalid parameters, missing required fields, etc.).
61
+ * HTTP Status: 400 Bad Request
62
+ */
63
+ export declare class ValidationError extends DimensionsError {
64
+ /** Additional details about what failed validation */
65
+ readonly details?: Record<string, unknown>;
66
+ /**
67
+ * Creates a new ValidationError.
68
+ * @param message - Error description
69
+ * @param details - Optional object with validation failure details
70
+ */
71
+ constructor(message: string, details?: Record<string, unknown>);
72
+ toJSON(): Record<string, unknown>;
73
+ }
74
+ /**
75
+ * Thrown when the DSL query syntax is invalid.
76
+ * HTTP Status: 400 Bad Request
77
+ */
78
+ export declare class QuerySyntaxError extends DimensionsError {
79
+ /**
80
+ * Creates a new QuerySyntaxError.
81
+ * @param message - Description of the syntax error
82
+ */
83
+ constructor(message: string);
84
+ }
85
+ /**
86
+ * Thrown when a network-level error occurs (connection refused, DNS failure, etc.).
87
+ * No HTTP status code as the request never completed.
88
+ */
89
+ export declare class NetworkError extends DimensionsError {
90
+ /**
91
+ * Creates a new NetworkError.
92
+ * @param message - Error description (defaults to "Network error")
93
+ */
94
+ constructor(message?: string);
95
+ }
96
+ /**
97
+ * Thrown when a request times out before receiving a response.
98
+ * No HTTP status code as the request never completed.
99
+ */
100
+ export declare class TimeoutError extends DimensionsError {
101
+ /**
102
+ * Creates a new TimeoutError.
103
+ * @param message - Error description (defaults to "Request timeout")
104
+ */
105
+ constructor(message?: string);
106
+ }
107
+ /**
108
+ * Thrown when the server returns a 5xx error.
109
+ * HTTP Status: 500-599 (configurable, defaults to 500)
110
+ */
111
+ export declare class ServerError extends DimensionsError {
112
+ /**
113
+ * Creates a new ServerError.
114
+ * @param message - Error description (defaults to "Server error")
115
+ * @param statusCode - HTTP status code in range 500-599 (defaults to 500)
116
+ * @throws {TypeError} If statusCode is not an integer in range 500-599
117
+ */
118
+ constructor(message?: string, statusCode?: number);
119
+ }
120
+ /**
121
+ * Thrown when a requested resource is not found.
122
+ * HTTP Status: 404 Not Found
123
+ */
124
+ export declare class NotFoundError extends DimensionsError {
125
+ /**
126
+ * Creates a new NotFoundError.
127
+ * @param message - Error description (defaults to "Resource not found")
128
+ */
129
+ constructor(message?: string);
130
+ }
131
+ /**
132
+ * Thrown when the request is syntactically valid but contains invalid data.
133
+ * HTTP Status: 422 Unprocessable Entity
134
+ */
135
+ export declare class UnprocessableEntityError extends DimensionsError {
136
+ /** Additional details about what failed processing */
137
+ readonly details?: Record<string, unknown>;
138
+ /**
139
+ * Creates a new UnprocessableEntityError.
140
+ * @param message - Error description
141
+ * @param details - Optional object with processing failure details
142
+ */
143
+ constructor(message: string, details?: Record<string, unknown>);
144
+ toJSON(): Record<string, unknown>;
145
+ }
146
+ /**
147
+ * Checks if an error is a DimensionsError instance.
148
+ * @param error - Value to check
149
+ * @returns True if error is a DimensionsError
150
+ */
151
+ export declare function isDimensionsError(error: unknown): error is DimensionsError;
152
+ /**
153
+ * Checks if an error is a NotFoundError instance.
154
+ * @param error - Value to check
155
+ * @returns True if error is a NotFoundError
156
+ */
157
+ export declare function isNotFoundError(error: unknown): error is NotFoundError;
158
+ /**
159
+ * Checks if an error is an UnprocessableEntityError instance.
160
+ * @param error - Value to check
161
+ * @returns True if error is an UnprocessableEntityError
162
+ */
163
+ export declare function isUnprocessableEntityError(error: unknown): error is UnprocessableEntityError;
164
+ /**
165
+ * Exhaustiveness check for discriminated unions.
166
+ * Local copy to keep `core` free of `dimensions-dsl` dependency.
167
+ * @param value - Should be `never` at compile time
168
+ * @param message - Optional error message
169
+ */
170
+ export declare function assertNever(value: never, message?: string): never;
171
+ /**
172
+ * Extracts a safe error message from an unknown error value.
173
+ * Uses `.message` for Error instances (never `.toString()` which includes the stack).
174
+ * Returns `"Unknown error"` for non-Error values.
175
+ * Redacts credentials that may appear in error messages.
176
+ * @param error - The caught error value
177
+ * @returns A sanitized error message safe for logging or re-throwing
178
+ */
179
+ export declare function sanitizeErrorMessage(error: unknown): string;
180
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/client/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACxC,iEAAiE;IACjE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAE7B;;;;OAIG;gBACS,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAOhD;;;OAGG;IACH,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAOlC;AAED;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,eAAe;IACtD;;;OAGG;gBACS,OAAO,GAAE,MAAgC;CAItD;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,sDAAsD;IACtD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,sDAAsD;IACtD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED;;;GAGG;AACH,qBAAa,cAAe,SAAQ,eAAe;IACjD,8EAA8E;IAC9E,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,qEAAqE;IACrE,QAAQ,CAAC,eAAe,CAAC,EAAE,mBAAmB,CAAC;IAE/C;;;;;OAKG;gBAED,OAAO,GAAE,MAA8B,EACvC,iBAAiB,CAAC,EAAE,MAAM,EAC1B,eAAe,CAAC,EAAE,mBAAmB;IAUvC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAOlC;AAED;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,eAAe;IAClD,sDAAsD;IACtD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE3C;;;;OAIG;gBACS,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAM9D,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAMlC;AAED;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,eAAe;IACnD;;;OAGG;gBACS,OAAO,EAAE,MAAM;CAI5B;AAED;;;GAGG;AACH,qBAAa,YAAa,SAAQ,eAAe;IAC/C;;;OAGG;gBACS,OAAO,GAAE,MAAwB;CAI9C;AAED;;;GAGG;AACH,qBAAa,YAAa,SAAQ,eAAe;IAC/C;;;OAGG;gBACS,OAAO,GAAE,MAA0B;CAIhD;AAED;;;GAGG;AACH,qBAAa,WAAY,SAAQ,eAAe;IAC9C;;;;;OAKG;gBACS,OAAO,GAAE,MAAuB,EAAE,UAAU,GAAE,MAAY;CASvE;AAED;;;GAGG;AACH,qBAAa,aAAc,SAAQ,eAAe;IAChD;;;OAGG;gBACS,OAAO,GAAE,MAA6B;CAInD;AAED;;;GAGG;AACH,qBAAa,wBAAyB,SAAQ,eAAe;IAC3D,sDAAsD;IACtD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE3C;;;;OAIG;gBACS,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAM9D,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAMlC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAE1E;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAEtE;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,wBAAwB,CAE5F;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,CAEjE;AAYD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAM3D"}
@@ -0,0 +1,253 @@
1
+ /**
2
+ * Base error class for all Dimensions API errors.
3
+ * Provides consistent error structure with optional status codes and JSON serialization.
4
+ */
5
+ export class DimensionsError extends Error {
6
+ /** HTTP status code associated with this error, if applicable */
7
+ statusCode;
8
+ /**
9
+ * Creates a new DimensionsError.
10
+ * @param message - Human-readable error description
11
+ * @param statusCode - Optional HTTP status code
12
+ */
13
+ constructor(message, statusCode) {
14
+ super(message);
15
+ this.name = "DimensionsError";
16
+ this.statusCode = statusCode;
17
+ Object.setPrototypeOf(this, new.target.prototype);
18
+ }
19
+ /**
20
+ * Serializes the error to a plain object for logging or API responses.
21
+ * @returns Plain object representation of the error
22
+ */
23
+ toJSON() {
24
+ return {
25
+ name: this.name,
26
+ message: this.message,
27
+ statusCode: this.statusCode,
28
+ };
29
+ }
30
+ }
31
+ /**
32
+ * Thrown when authentication fails (invalid API key, expired token, etc.).
33
+ * HTTP Status: 401 Unauthorized
34
+ */
35
+ export class AuthenticationError extends DimensionsError {
36
+ /**
37
+ * Creates a new AuthenticationError.
38
+ * @param message - Error description (defaults to "Authentication failed")
39
+ */
40
+ constructor(message = "Authentication failed") {
41
+ super(message, 401);
42
+ this.name = "AuthenticationError";
43
+ }
44
+ }
45
+ /**
46
+ * Thrown when the API rate limit is exceeded.
47
+ * HTTP Status: 429 Too Many Requests
48
+ */
49
+ export class RateLimitError extends DimensionsError {
50
+ /** Suggested seconds to wait before retrying (from client-side throttling) */
51
+ retryAfter;
52
+ /** Client-side rate-limit state when a rate limiter is configured */
53
+ clientRateLimit;
54
+ /**
55
+ * Creates a new RateLimitError.
56
+ * @param message - Error description (defaults to "Rate limit exceeded")
57
+ * @param retryAfterSeconds - Suggested seconds to wait before retrying
58
+ * @param clientRateLimit - Optional client-side rate-limit snapshot
59
+ */
60
+ constructor(message = "Rate limit exceeded", retryAfterSeconds, clientRateLimit) {
61
+ super(message, 429);
62
+ this.name = "RateLimitError";
63
+ this.clientRateLimit = clientRateLimit;
64
+ this.retryAfter =
65
+ retryAfterSeconds ??
66
+ (clientRateLimit != null ? Math.ceil(clientRateLimit.retryAfterMs / 1000) : undefined);
67
+ }
68
+ toJSON() {
69
+ return {
70
+ ...super.toJSON(),
71
+ retryAfter: this.retryAfter,
72
+ clientRateLimit: this.clientRateLimit,
73
+ };
74
+ }
75
+ }
76
+ /**
77
+ * Thrown when input validation fails (invalid parameters, missing required fields, etc.).
78
+ * HTTP Status: 400 Bad Request
79
+ */
80
+ export class ValidationError extends DimensionsError {
81
+ /** Additional details about what failed validation */
82
+ details;
83
+ /**
84
+ * Creates a new ValidationError.
85
+ * @param message - Error description
86
+ * @param details - Optional object with validation failure details
87
+ */
88
+ constructor(message, details) {
89
+ super(message, 400);
90
+ this.name = "ValidationError";
91
+ this.details = details;
92
+ }
93
+ toJSON() {
94
+ return {
95
+ ...super.toJSON(),
96
+ details: this.details,
97
+ };
98
+ }
99
+ }
100
+ /**
101
+ * Thrown when the DSL query syntax is invalid.
102
+ * HTTP Status: 400 Bad Request
103
+ */
104
+ export class QuerySyntaxError extends DimensionsError {
105
+ /**
106
+ * Creates a new QuerySyntaxError.
107
+ * @param message - Description of the syntax error
108
+ */
109
+ constructor(message) {
110
+ super(message, 400);
111
+ this.name = "QuerySyntaxError";
112
+ }
113
+ }
114
+ /**
115
+ * Thrown when a network-level error occurs (connection refused, DNS failure, etc.).
116
+ * No HTTP status code as the request never completed.
117
+ */
118
+ export class NetworkError extends DimensionsError {
119
+ /**
120
+ * Creates a new NetworkError.
121
+ * @param message - Error description (defaults to "Network error")
122
+ */
123
+ constructor(message = "Network error") {
124
+ super(message);
125
+ this.name = "NetworkError";
126
+ }
127
+ }
128
+ /**
129
+ * Thrown when a request times out before receiving a response.
130
+ * No HTTP status code as the request never completed.
131
+ */
132
+ export class TimeoutError extends DimensionsError {
133
+ /**
134
+ * Creates a new TimeoutError.
135
+ * @param message - Error description (defaults to "Request timeout")
136
+ */
137
+ constructor(message = "Request timeout") {
138
+ super(message);
139
+ this.name = "TimeoutError";
140
+ }
141
+ }
142
+ /**
143
+ * Thrown when the server returns a 5xx error.
144
+ * HTTP Status: 500-599 (configurable, defaults to 500)
145
+ */
146
+ export class ServerError extends DimensionsError {
147
+ /**
148
+ * Creates a new ServerError.
149
+ * @param message - Error description (defaults to "Server error")
150
+ * @param statusCode - HTTP status code in range 500-599 (defaults to 500)
151
+ * @throws {TypeError} If statusCode is not an integer in range 500-599
152
+ */
153
+ constructor(message = "Server error", statusCode = 500) {
154
+ if (!Number.isInteger(statusCode) || statusCode < 500 || statusCode > 599) {
155
+ throw new TypeError(`ServerError statusCode must be an integer in range 500-599, got ${statusCode}`);
156
+ }
157
+ super(message, statusCode);
158
+ this.name = "ServerError";
159
+ }
160
+ }
161
+ /**
162
+ * Thrown when a requested resource is not found.
163
+ * HTTP Status: 404 Not Found
164
+ */
165
+ export class NotFoundError extends DimensionsError {
166
+ /**
167
+ * Creates a new NotFoundError.
168
+ * @param message - Error description (defaults to "Resource not found")
169
+ */
170
+ constructor(message = "Resource not found") {
171
+ super(message, 404);
172
+ this.name = "NotFoundError";
173
+ }
174
+ }
175
+ /**
176
+ * Thrown when the request is syntactically valid but contains invalid data.
177
+ * HTTP Status: 422 Unprocessable Entity
178
+ */
179
+ export class UnprocessableEntityError extends DimensionsError {
180
+ /** Additional details about what failed processing */
181
+ details;
182
+ /**
183
+ * Creates a new UnprocessableEntityError.
184
+ * @param message - Error description
185
+ * @param details - Optional object with processing failure details
186
+ */
187
+ constructor(message, details) {
188
+ super(message, 422);
189
+ this.name = "UnprocessableEntityError";
190
+ this.details = details;
191
+ }
192
+ toJSON() {
193
+ return {
194
+ ...super.toJSON(),
195
+ details: this.details,
196
+ };
197
+ }
198
+ }
199
+ /**
200
+ * Checks if an error is a DimensionsError instance.
201
+ * @param error - Value to check
202
+ * @returns True if error is a DimensionsError
203
+ */
204
+ export function isDimensionsError(error) {
205
+ return error instanceof DimensionsError;
206
+ }
207
+ /**
208
+ * Checks if an error is a NotFoundError instance.
209
+ * @param error - Value to check
210
+ * @returns True if error is a NotFoundError
211
+ */
212
+ export function isNotFoundError(error) {
213
+ return error instanceof NotFoundError;
214
+ }
215
+ /**
216
+ * Checks if an error is an UnprocessableEntityError instance.
217
+ * @param error - Value to check
218
+ * @returns True if error is an UnprocessableEntityError
219
+ */
220
+ export function isUnprocessableEntityError(error) {
221
+ return error instanceof UnprocessableEntityError;
222
+ }
223
+ /**
224
+ * Exhaustiveness check for discriminated unions.
225
+ * Local copy to keep `core` free of `dimensions-dsl` dependency.
226
+ * @param value - Should be `never` at compile time
227
+ * @param message - Optional error message
228
+ */
229
+ export function assertNever(value, message) {
230
+ throw new Error(message ?? `Unexpected value: ${JSON.stringify(value)}`);
231
+ }
232
+ /** Patterns that match credentials in error messages, paired with their replacements */
233
+ const CREDENTIAL_PATTERNS = [
234
+ [/:\/\/([^:]+):([^@]+)@/g, "://[redacted]@"],
235
+ [/Bearer\s+\S+/gi, "Bearer [redacted]"],
236
+ [/password\s*[=:]\s*\S+/gi, "[redacted]"],
237
+ [/api_?key\s*[=:]\s*\S+/gi, "[redacted]"],
238
+ [/token\s*[=:]\s*\S+/gi, "[redacted]"],
239
+ [/secret\s*[=:]\s*\S+/gi, "[redacted]"],
240
+ ];
241
+ /**
242
+ * Extracts a safe error message from an unknown error value.
243
+ * Uses `.message` for Error instances (never `.toString()` which includes the stack).
244
+ * Returns `"Unknown error"` for non-Error values.
245
+ * Redacts credentials that may appear in error messages.
246
+ * @param error - The caught error value
247
+ * @returns A sanitized error message safe for logging or re-throwing
248
+ */
249
+ export function sanitizeErrorMessage(error) {
250
+ const raw = error instanceof Error ? error.message : "Unknown error";
251
+ return CREDENTIAL_PATTERNS.reduce((msg, [pattern, replacement]) => msg.replace(pattern, replacement), raw);
252
+ }
253
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/client/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,215 @@
1
+ /**
2
+ * HTTP client for Dimensions API requests.
3
+ * Handles retry logic, timeout, and error mapping.
4
+ * @module core/http-client
5
+ */
6
+ import type { AuthProvider } from "./auth/types.js";
7
+ import type { RateLimiter } from "./rate-limiter.js";
8
+ /**
9
+ * Configuration options for the HTTP client.
10
+ */
11
+ export interface HttpClientConfig {
12
+ /** Base URL for API requests */
13
+ readonly baseUrl: string;
14
+ /** Authentication provider for generating request headers */
15
+ readonly authProvider: AuthProvider;
16
+ /** Request timeout in milliseconds (default: 30000) */
17
+ readonly timeout?: number;
18
+ /** Maximum number of retry attempts (default: 3) */
19
+ readonly maxRetries?: number;
20
+ /** Delay between retries in milliseconds (default: 1000) */
21
+ readonly retryDelay?: number;
22
+ /** Optional rate limiter for client-side request throttling */
23
+ readonly rateLimiter?: RateLimiter;
24
+ }
25
+ /**
26
+ * Base options for all request types.
27
+ */
28
+ export interface RequestOptions {
29
+ /** Additional headers to include */
30
+ readonly headers?: Record<string, string>;
31
+ /** Request timeout override */
32
+ readonly timeout?: number;
33
+ /** AbortSignal for cancellation */
34
+ readonly signal?: AbortSignal;
35
+ }
36
+ /**
37
+ * Options for GET requests.
38
+ */
39
+ export interface GetOptions extends RequestOptions {
40
+ /** Query parameters to append to URL */
41
+ readonly params?: Record<string, string | number | boolean | string[] | number[]>;
42
+ }
43
+ /**
44
+ * Options for POST requests with JSON body.
45
+ */
46
+ export interface PostJsonOptions extends RequestOptions {
47
+ /** JSON body (will be serialized) */
48
+ readonly json: unknown;
49
+ }
50
+ /**
51
+ * Options for POST requests with form-urlencoded body.
52
+ */
53
+ export interface PostFormOptions extends RequestOptions {
54
+ /** Form data (will be URL-encoded) */
55
+ readonly form: Record<string, string>;
56
+ }
57
+ /**
58
+ * Generic response structure from Dimensions API.
59
+ */
60
+ export interface DimensionsResponse {
61
+ /** Statistics about the query result */
62
+ _stats?: {
63
+ total_count: number;
64
+ };
65
+ /** Additional response fields (dynamic based on query) */
66
+ [key: string]: unknown;
67
+ }
68
+ /**
69
+ * HTTP client for making requests to the Dimensions API.
70
+ * Implements retry logic with client-side throttling and exponential backoff for transient errors.
71
+ */
72
+ export declare class HttpClient {
73
+ private readonly baseUrl;
74
+ private readonly authProvider;
75
+ private readonly timeout;
76
+ private readonly maxRetries;
77
+ private readonly retryDelay;
78
+ private readonly rateLimiter;
79
+ /**
80
+ * Creates a new HttpClient instance.
81
+ * @param config - HTTP client configuration
82
+ */
83
+ constructor(config: HttpClientConfig);
84
+ /**
85
+ * Executes a DSL query against the Dimensions API.
86
+ * @param dsl - The DSL query string
87
+ * @param endpoint - API endpoint (default: /api/dsl/v2)
88
+ * @param options - Optional request overrides (timeout, signal)
89
+ * @returns The API response
90
+ * @throws {QuerySyntaxError} If the query syntax is invalid
91
+ * @throws {RateLimitError} If rate limit is exceeded after retries
92
+ * @throws {ServerError} If server error persists after retries
93
+ * @throws {NetworkError} If network error occurs after retries
94
+ * @throws {TimeoutError} If request times out
95
+ * @throws {AuthenticationError} If authentication fails
96
+ */
97
+ query(dsl: string, endpoint?: string, options?: RequestOptions): Promise<DimensionsResponse>;
98
+ /**
99
+ * Executes a single DSL request with raw body.
100
+ * @param url - Full request URL
101
+ * @param dsl - DSL query string (sent as raw body)
102
+ * @returns Parsed response
103
+ */
104
+ private executeDslRequest;
105
+ /**
106
+ * Maps HTTP response status to appropriate error type.
107
+ * @param response - HTTP response
108
+ * @returns Appropriate error instance
109
+ */
110
+ private mapHttpError;
111
+ /**
112
+ * Executes a fetch request with timeout management and unified error mapping.
113
+ * @param options - Request configuration
114
+ * @returns Parsed JSON response
115
+ * @throws {TimeoutError} If the request times out or the external signal fires
116
+ * @throws {NetworkError} If a network-level error occurs
117
+ * @throws {DimensionsError} If the HTTP response indicates an error
118
+ */
119
+ private wrapFetch;
120
+ /**
121
+ * Determines if an error is retryable.
122
+ * @param error - Error to check
123
+ * @returns True if the error should be retried
124
+ */
125
+ private isRetryable;
126
+ /**
127
+ * Delays execution for the specified time.
128
+ * @param ms - Delay in milliseconds
129
+ */
130
+ private delay;
131
+ /**
132
+ * Sends a GET request with optional query parameters.
133
+ * @param path - URL path (appended to baseUrl)
134
+ * @param options - Request options including params
135
+ * @returns Parsed JSON response
136
+ */
137
+ get<T = unknown>(path: string, options?: GetOptions): Promise<T>;
138
+ /**
139
+ * Builds URL with query parameters.
140
+ * @param path - URL path
141
+ * @param params - Query parameters
142
+ * @returns Full URL with query string
143
+ */
144
+ private buildUrl;
145
+ /**
146
+ * Executes a single GET request.
147
+ * @param url - Full request URL
148
+ * @param options - Request options
149
+ * @returns Parsed response
150
+ */
151
+ private executeGetRequest;
152
+ /**
153
+ * Calculates the delay before the next retry attempt.
154
+ * For rate-limit errors, uses the client rate limiter's slot timing.
155
+ * For other transient errors, uses exponential backoff with jitter.
156
+ * The result is capped at 60 seconds.
157
+ * @param error - The error that triggered the retry
158
+ * @param attempt - The current attempt number (0-based)
159
+ * @returns Delay in milliseconds
160
+ */
161
+ private calculateRetryDelay;
162
+ /**
163
+ * Executes a request with retry logic.
164
+ * Uses client-side throttling before each attempt and exponential backoff for transient errors.
165
+ * @param requestFn - Function that executes the request
166
+ * @returns Response from successful request
167
+ */
168
+ private executeWithRetry;
169
+ /**
170
+ * Sends a POST request with JSON body.
171
+ * @param path - URL path (appended to baseUrl)
172
+ * @param options - Request options with JSON body
173
+ * @returns Parsed JSON response
174
+ */
175
+ postJson<T = unknown>(path: string, options: PostJsonOptions): Promise<T>;
176
+ /**
177
+ * Executes a single POST JSON request.
178
+ * @param url - Full request URL
179
+ * @param options - Request options with JSON body
180
+ * @returns Parsed response
181
+ */
182
+ private executePostJsonRequest;
183
+ /**
184
+ * Sends a POST request with JSON body and returns the raw `Response`.
185
+ * The caller owns the response body and must consume or close it.
186
+ * Auth, timeout, retry, and error-status handling are applied identically
187
+ * to {@link postJson}, but the body is **not** read or parsed.
188
+ * @param path - URL path (appended to baseUrl)
189
+ * @param options - Request options with JSON body
190
+ * @returns The raw fetch Response (body unconsumed)
191
+ */
192
+ postJsonRaw(path: string, options: PostJsonOptions): Promise<Response>;
193
+ /**
194
+ * Executes a single POST JSON request and returns the raw Response.
195
+ * @param url - Full request URL
196
+ * @param options - Request options with JSON body
197
+ * @returns Raw Response with unconsumed body
198
+ */
199
+ private executePostJsonRawRequest;
200
+ /**
201
+ * Sends a POST request with form-urlencoded body.
202
+ * @param path - URL path (appended to baseUrl)
203
+ * @param options - Request options with form data
204
+ * @returns Parsed JSON response
205
+ */
206
+ postForm<T = unknown>(path: string, options: PostFormOptions): Promise<T>;
207
+ /**
208
+ * Executes a single POST form-urlencoded request.
209
+ * @param url - Full request URL
210
+ * @param options - Request options with form data
211
+ * @returns Parsed response
212
+ */
213
+ private executePostFormRequest;
214
+ }
215
+ //# sourceMappingURL=http-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../src/client/http-client.ts"],"names":[],"mappings":"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"}