@detectant-api/sdk 0.0.1 → 0.0.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 (407) hide show
  1. package/README.md +111 -0
  2. package/dist/cjs/BaseClient.d.ts +54 -0
  3. package/dist/cjs/BaseClient.js +77 -0
  4. package/dist/cjs/Client.d.ts +86 -0
  5. package/dist/cjs/Client.js +255 -0
  6. package/dist/cjs/api/client/index.d.ts +1 -0
  7. package/dist/cjs/api/client/index.js +17 -0
  8. package/dist/cjs/api/client/requests/CreateScanBatchRequest.d.ts +5 -0
  9. package/dist/cjs/api/client/requests/CreateScanBatchRequest.js +3 -0
  10. package/dist/cjs/api/client/requests/CreateScanRequest.d.ts +5 -0
  11. package/dist/cjs/api/client/requests/CreateScanRequest.js +3 -0
  12. package/dist/cjs/api/client/requests/index.d.ts +2 -0
  13. package/dist/cjs/api/client/requests/index.js +2 -0
  14. package/dist/cjs/api/errors/BadRequestError.d.ts +7 -0
  15. package/dist/cjs/api/errors/BadRequestError.js +54 -0
  16. package/dist/cjs/api/errors/ContentTooLargeError.d.ts +7 -0
  17. package/dist/cjs/api/errors/ContentTooLargeError.js +54 -0
  18. package/dist/cjs/api/errors/ForbiddenError.d.ts +7 -0
  19. package/dist/cjs/api/errors/ForbiddenError.js +54 -0
  20. package/dist/cjs/api/errors/InternalServerError.d.ts +7 -0
  21. package/dist/cjs/api/errors/InternalServerError.js +54 -0
  22. package/dist/cjs/api/errors/NotFoundError.d.ts +7 -0
  23. package/dist/cjs/api/errors/NotFoundError.js +54 -0
  24. package/dist/cjs/api/errors/ServiceUnavailableError.d.ts +5 -0
  25. package/dist/cjs/api/errors/ServiceUnavailableError.js +54 -0
  26. package/dist/cjs/api/errors/TooManyRequestsError.d.ts +7 -0
  27. package/dist/cjs/api/errors/TooManyRequestsError.js +54 -0
  28. package/dist/cjs/api/errors/UnauthorizedError.d.ts +7 -0
  29. package/dist/cjs/api/errors/UnauthorizedError.js +54 -0
  30. package/dist/cjs/api/errors/index.d.ts +8 -0
  31. package/dist/cjs/api/errors/index.js +24 -0
  32. package/dist/cjs/api/index.d.ts +4 -0
  33. package/dist/cjs/api/index.js +20 -0
  34. package/dist/cjs/api/resources/health/client/Client.d.ts +43 -0
  35. package/dist/cjs/api/resources/health/client/Client.js +152 -0
  36. package/dist/cjs/api/resources/health/client/index.d.ts +1 -0
  37. package/dist/cjs/api/resources/health/client/index.js +2 -0
  38. package/dist/cjs/api/resources/health/exports.d.ts +2 -0
  39. package/dist/cjs/api/resources/health/exports.js +21 -0
  40. package/dist/cjs/api/resources/health/index.d.ts +1 -0
  41. package/dist/cjs/api/resources/health/index.js +17 -0
  42. package/dist/cjs/api/resources/index.d.ts +3 -0
  43. package/dist/cjs/api/resources/index.js +42 -0
  44. package/dist/cjs/api/resources/scans/client/Client.d.ts +54 -0
  45. package/dist/cjs/api/resources/scans/client/Client.js +196 -0
  46. package/dist/cjs/api/resources/scans/client/index.d.ts +1 -0
  47. package/dist/cjs/api/resources/scans/client/index.js +17 -0
  48. package/dist/cjs/api/resources/scans/client/requests/GetScanRequest.d.ts +10 -0
  49. package/dist/cjs/api/resources/scans/client/requests/GetScanRequest.js +3 -0
  50. package/dist/cjs/api/resources/scans/client/requests/ListScansRequest.d.ts +18 -0
  51. package/dist/cjs/api/resources/scans/client/requests/ListScansRequest.js +3 -0
  52. package/dist/cjs/api/resources/scans/client/requests/index.d.ts +2 -0
  53. package/dist/cjs/api/resources/scans/client/requests/index.js +2 -0
  54. package/dist/cjs/api/resources/scans/exports.d.ts +2 -0
  55. package/dist/cjs/api/resources/scans/exports.js +21 -0
  56. package/dist/cjs/api/resources/scans/index.d.ts +1 -0
  57. package/dist/cjs/api/resources/scans/index.js +17 -0
  58. package/dist/cjs/api/types/ApiError.d.ts +8 -0
  59. package/dist/cjs/api/types/ApiError.js +3 -0
  60. package/dist/cjs/api/types/ErrorResponse.d.ts +4 -0
  61. package/dist/cjs/api/types/ErrorResponse.js +3 -0
  62. package/dist/cjs/api/types/HealthResponse.d.ts +10 -0
  63. package/dist/cjs/api/types/HealthResponse.js +11 -0
  64. package/dist/cjs/api/types/Scan.d.ts +32 -0
  65. package/dist/cjs/api/types/Scan.js +17 -0
  66. package/dist/cjs/api/types/ScanBatchResponse.d.ts +5 -0
  67. package/dist/cjs/api/types/ScanBatchResponse.js +3 -0
  68. package/dist/cjs/api/types/ScanBatchResult.d.ts +13 -0
  69. package/dist/cjs/api/types/ScanBatchResult.js +3 -0
  70. package/dist/cjs/api/types/ScanFailure.d.ts +11 -0
  71. package/dist/cjs/api/types/ScanFailure.js +11 -0
  72. package/dist/cjs/api/types/ScanList.d.ts +7 -0
  73. package/dist/cjs/api/types/ScanList.js +3 -0
  74. package/dist/cjs/api/types/TypeAnalysis.d.ts +26 -0
  75. package/dist/cjs/api/types/TypeAnalysis.js +20 -0
  76. package/dist/cjs/api/types/TypeAnalysisReason.d.ts +13 -0
  77. package/dist/cjs/api/types/TypeAnalysisReason.js +12 -0
  78. package/dist/cjs/api/types/TypeDeclaration.d.ts +6 -0
  79. package/dist/cjs/api/types/TypeDeclaration.js +3 -0
  80. package/dist/cjs/api/types/TypeIdentification.d.ts +6 -0
  81. package/dist/cjs/api/types/TypeIdentification.js +3 -0
  82. package/dist/cjs/api/types/index.d.ts +12 -0
  83. package/dist/cjs/api/types/index.js +28 -0
  84. package/dist/cjs/auth/HeaderAuthProvider.d.ts +20 -0
  85. package/dist/cjs/auth/HeaderAuthProvider.js +80 -0
  86. package/dist/cjs/auth/index.d.ts +1 -0
  87. package/dist/cjs/auth/index.js +5 -0
  88. package/dist/cjs/core/auth/AuthProvider.d.ts +8 -0
  89. package/dist/cjs/core/auth/AuthProvider.js +9 -0
  90. package/dist/cjs/core/auth/AuthRequest.d.ts +9 -0
  91. package/dist/cjs/core/auth/AuthRequest.js +2 -0
  92. package/dist/cjs/core/auth/BasicAuth.d.ts +8 -0
  93. package/dist/cjs/core/auth/BasicAuth.js +33 -0
  94. package/dist/cjs/core/auth/BearerToken.d.ts +7 -0
  95. package/dist/cjs/core/auth/BearerToken.js +16 -0
  96. package/dist/cjs/core/auth/NoOpAuthProvider.d.ts +5 -0
  97. package/dist/cjs/core/auth/NoOpAuthProvider.js +9 -0
  98. package/dist/cjs/core/auth/index.d.ts +5 -0
  99. package/dist/cjs/core/auth/index.js +11 -0
  100. package/dist/cjs/core/base64.d.ts +2 -0
  101. package/dist/cjs/core/base64.js +26 -0
  102. package/dist/cjs/core/exports.d.ts +2 -0
  103. package/dist/cjs/core/exports.js +18 -0
  104. package/dist/cjs/core/fetcher/APIResponse.d.ts +20 -0
  105. package/dist/cjs/core/fetcher/APIResponse.js +2 -0
  106. package/dist/cjs/core/fetcher/BinaryResponse.d.ts +19 -0
  107. package/dist/cjs/core/fetcher/BinaryResponse.js +17 -0
  108. package/dist/cjs/core/fetcher/EndpointMetadata.d.ts +13 -0
  109. package/dist/cjs/core/fetcher/EndpointMetadata.js +2 -0
  110. package/dist/cjs/core/fetcher/EndpointSupplier.d.ts +12 -0
  111. package/dist/cjs/core/fetcher/EndpointSupplier.js +22 -0
  112. package/dist/cjs/core/fetcher/Fetcher.d.ts +56 -0
  113. package/dist/cjs/core/fetcher/Fetcher.js +244 -0
  114. package/dist/cjs/core/fetcher/Headers.d.ts +2 -0
  115. package/dist/cjs/core/fetcher/Headers.js +84 -0
  116. package/dist/cjs/core/fetcher/HttpResponsePromise.d.ts +58 -0
  117. package/dist/cjs/core/fetcher/HttpResponsePromise.js +103 -0
  118. package/dist/cjs/core/fetcher/RawResponse.d.ts +29 -0
  119. package/dist/cjs/core/fetcher/RawResponse.js +44 -0
  120. package/dist/cjs/core/fetcher/Supplier.d.ts +4 -0
  121. package/dist/cjs/core/fetcher/Supplier.js +22 -0
  122. package/dist/cjs/core/fetcher/createRequestUrl.d.ts +1 -0
  123. package/dist/cjs/core/fetcher/createRequestUrl.js +8 -0
  124. package/dist/cjs/core/fetcher/getErrorResponseBody.d.ts +1 -0
  125. package/dist/cjs/core/fetcher/getErrorResponseBody.js +45 -0
  126. package/dist/cjs/core/fetcher/getFetchFn.d.ts +1 -0
  127. package/dist/cjs/core/fetcher/getFetchFn.js +17 -0
  128. package/dist/cjs/core/fetcher/getHeader.d.ts +1 -0
  129. package/dist/cjs/core/fetcher/getHeader.js +11 -0
  130. package/dist/cjs/core/fetcher/getRequestBody.d.ts +7 -0
  131. package/dist/cjs/core/fetcher/getRequestBody.js +27 -0
  132. package/dist/cjs/core/fetcher/getResponseBody.d.ts +1 -0
  133. package/dist/cjs/core/fetcher/getResponseBody.js +80 -0
  134. package/dist/cjs/core/fetcher/index.d.ts +13 -0
  135. package/dist/cjs/core/fetcher/index.js +19 -0
  136. package/dist/cjs/core/fetcher/makePassthroughRequest.d.ts +49 -0
  137. package/dist/cjs/core/fetcher/makePassthroughRequest.js +157 -0
  138. package/dist/cjs/core/fetcher/makeRequest.d.ts +6 -0
  139. package/dist/cjs/core/fetcher/makeRequest.js +61 -0
  140. package/dist/cjs/core/fetcher/redactUrl.d.ts +2 -0
  141. package/dist/cjs/core/fetcher/redactUrl.js +88 -0
  142. package/dist/cjs/core/fetcher/requestWithRetries.d.ts +1 -0
  143. package/dist/cjs/core/fetcher/requestWithRetries.js +70 -0
  144. package/dist/cjs/core/fetcher/signals.d.ts +5 -0
  145. package/dist/cjs/core/fetcher/signals.js +32 -0
  146. package/dist/cjs/core/file/exports.d.ts +1 -0
  147. package/dist/cjs/core/file/exports.js +2 -0
  148. package/dist/cjs/core/file/file.d.ts +10 -0
  149. package/dist/cjs/core/file/file.js +225 -0
  150. package/dist/cjs/core/file/index.d.ts +2 -0
  151. package/dist/cjs/core/file/index.js +18 -0
  152. package/dist/cjs/core/file/types.d.ts +66 -0
  153. package/dist/cjs/core/file/types.js +2 -0
  154. package/dist/cjs/core/form-data-utils/FormDataWrapper.d.ts +15 -0
  155. package/dist/cjs/core/form-data-utils/FormDataWrapper.js +188 -0
  156. package/dist/cjs/core/form-data-utils/encodeAsFormParameter.d.ts +1 -0
  157. package/dist/cjs/core/form-data-utils/encodeAsFormParameter.js +12 -0
  158. package/dist/cjs/core/form-data-utils/index.d.ts +2 -0
  159. package/dist/cjs/core/form-data-utils/index.js +20 -0
  160. package/dist/cjs/core/headers.d.ts +2 -0
  161. package/dist/cjs/core/headers.js +31 -0
  162. package/dist/cjs/core/index.d.ts +8 -0
  163. package/dist/cjs/core/index.js +47 -0
  164. package/dist/cjs/core/json.d.ts +15 -0
  165. package/dist/cjs/core/json.js +24 -0
  166. package/dist/cjs/core/logging/exports.d.ts +18 -0
  167. package/dist/cjs/core/logging/exports.js +45 -0
  168. package/dist/cjs/core/logging/index.d.ts +1 -0
  169. package/dist/cjs/core/logging/index.js +17 -0
  170. package/dist/cjs/core/logging/logger.d.ts +126 -0
  171. package/dist/cjs/core/logging/logger.js +144 -0
  172. package/dist/cjs/core/requestBody.d.ts +12 -0
  173. package/dist/cjs/core/requestBody.js +26 -0
  174. package/dist/cjs/core/runtime/index.d.ts +1 -0
  175. package/dist/cjs/core/runtime/index.js +6 -0
  176. package/dist/cjs/core/runtime/runtime.d.ts +28 -0
  177. package/dist/cjs/core/runtime/runtime.js +176 -0
  178. package/dist/cjs/core/url/QueryStringBuilder.d.ts +47 -0
  179. package/dist/cjs/core/url/QueryStringBuilder.js +83 -0
  180. package/dist/cjs/core/url/encodePathParam.d.ts +1 -0
  181. package/dist/cjs/core/url/encodePathParam.js +21 -0
  182. package/dist/cjs/core/url/index.d.ts +4 -0
  183. package/dist/cjs/core/url/index.js +11 -0
  184. package/dist/cjs/core/url/join.d.ts +1 -0
  185. package/dist/cjs/core/url/join.js +68 -0
  186. package/dist/cjs/core/url/qs.d.ts +7 -0
  187. package/dist/cjs/core/url/qs.js +76 -0
  188. package/dist/cjs/environments.d.ts +4 -0
  189. package/dist/cjs/environments.js +7 -0
  190. package/dist/cjs/errors/DetectantApiError.d.ts +15 -0
  191. package/dist/cjs/errors/DetectantApiError.js +39 -0
  192. package/dist/cjs/errors/DetectantApiTimeoutError.d.ts +6 -0
  193. package/dist/cjs/errors/DetectantApiTimeoutError.js +52 -0
  194. package/dist/cjs/errors/handleNonStatusCodeError.d.ts +2 -0
  195. package/dist/cjs/errors/handleNonStatusCodeError.js +68 -0
  196. package/dist/cjs/errors/index.d.ts +2 -0
  197. package/dist/cjs/errors/index.js +7 -0
  198. package/dist/cjs/exports.d.ts +1 -0
  199. package/dist/cjs/exports.js +17 -0
  200. package/dist/cjs/index.d.ts +6 -0
  201. package/dist/cjs/index.js +48 -0
  202. package/dist/cjs/version.d.ts +1 -0
  203. package/dist/cjs/version.js +4 -0
  204. package/dist/esm/BaseClient.d.mts +54 -0
  205. package/dist/esm/BaseClient.mjs +40 -0
  206. package/dist/esm/Client.d.mts +86 -0
  207. package/dist/esm/Client.mjs +218 -0
  208. package/dist/esm/api/client/index.d.mts +1 -0
  209. package/dist/esm/api/client/index.mjs +1 -0
  210. package/dist/esm/api/client/requests/CreateScanBatchRequest.d.mts +5 -0
  211. package/dist/esm/api/client/requests/CreateScanBatchRequest.mjs +2 -0
  212. package/dist/esm/api/client/requests/CreateScanRequest.d.mts +5 -0
  213. package/dist/esm/api/client/requests/CreateScanRequest.mjs +2 -0
  214. package/dist/esm/api/client/requests/index.d.mts +2 -0
  215. package/dist/esm/api/client/requests/index.mjs +1 -0
  216. package/dist/esm/api/errors/BadRequestError.d.mts +7 -0
  217. package/dist/esm/api/errors/BadRequestError.mjs +17 -0
  218. package/dist/esm/api/errors/ContentTooLargeError.d.mts +7 -0
  219. package/dist/esm/api/errors/ContentTooLargeError.mjs +17 -0
  220. package/dist/esm/api/errors/ForbiddenError.d.mts +7 -0
  221. package/dist/esm/api/errors/ForbiddenError.mjs +17 -0
  222. package/dist/esm/api/errors/InternalServerError.d.mts +7 -0
  223. package/dist/esm/api/errors/InternalServerError.mjs +17 -0
  224. package/dist/esm/api/errors/NotFoundError.d.mts +7 -0
  225. package/dist/esm/api/errors/NotFoundError.mjs +17 -0
  226. package/dist/esm/api/errors/ServiceUnavailableError.d.mts +5 -0
  227. package/dist/esm/api/errors/ServiceUnavailableError.mjs +17 -0
  228. package/dist/esm/api/errors/TooManyRequestsError.d.mts +7 -0
  229. package/dist/esm/api/errors/TooManyRequestsError.mjs +17 -0
  230. package/dist/esm/api/errors/UnauthorizedError.d.mts +7 -0
  231. package/dist/esm/api/errors/UnauthorizedError.mjs +17 -0
  232. package/dist/esm/api/errors/index.d.mts +8 -0
  233. package/dist/esm/api/errors/index.mjs +8 -0
  234. package/dist/esm/api/index.d.mts +4 -0
  235. package/dist/esm/api/index.mjs +4 -0
  236. package/dist/esm/api/resources/health/client/Client.d.mts +43 -0
  237. package/dist/esm/api/resources/health/client/Client.mjs +115 -0
  238. package/dist/esm/api/resources/health/client/index.d.mts +1 -0
  239. package/dist/esm/api/resources/health/client/index.mjs +1 -0
  240. package/dist/esm/api/resources/health/exports.d.mts +2 -0
  241. package/dist/esm/api/resources/health/exports.mjs +3 -0
  242. package/dist/esm/api/resources/health/index.d.mts +1 -0
  243. package/dist/esm/api/resources/health/index.mjs +1 -0
  244. package/dist/esm/api/resources/index.d.mts +3 -0
  245. package/dist/esm/api/resources/index.mjs +3 -0
  246. package/dist/esm/api/resources/scans/client/Client.d.mts +54 -0
  247. package/dist/esm/api/resources/scans/client/Client.mjs +159 -0
  248. package/dist/esm/api/resources/scans/client/index.d.mts +1 -0
  249. package/dist/esm/api/resources/scans/client/index.mjs +1 -0
  250. package/dist/esm/api/resources/scans/client/requests/GetScanRequest.d.mts +10 -0
  251. package/dist/esm/api/resources/scans/client/requests/GetScanRequest.mjs +2 -0
  252. package/dist/esm/api/resources/scans/client/requests/ListScansRequest.d.mts +18 -0
  253. package/dist/esm/api/resources/scans/client/requests/ListScansRequest.mjs +2 -0
  254. package/dist/esm/api/resources/scans/client/requests/index.d.mts +2 -0
  255. package/dist/esm/api/resources/scans/client/requests/index.mjs +1 -0
  256. package/dist/esm/api/resources/scans/exports.d.mts +2 -0
  257. package/dist/esm/api/resources/scans/exports.mjs +3 -0
  258. package/dist/esm/api/resources/scans/index.d.mts +1 -0
  259. package/dist/esm/api/resources/scans/index.mjs +1 -0
  260. package/dist/esm/api/types/ApiError.d.mts +8 -0
  261. package/dist/esm/api/types/ApiError.mjs +2 -0
  262. package/dist/esm/api/types/ErrorResponse.d.mts +4 -0
  263. package/dist/esm/api/types/ErrorResponse.mjs +2 -0
  264. package/dist/esm/api/types/HealthResponse.d.mts +10 -0
  265. package/dist/esm/api/types/HealthResponse.mjs +8 -0
  266. package/dist/esm/api/types/Scan.d.mts +32 -0
  267. package/dist/esm/api/types/Scan.mjs +14 -0
  268. package/dist/esm/api/types/ScanBatchResponse.d.mts +5 -0
  269. package/dist/esm/api/types/ScanBatchResponse.mjs +2 -0
  270. package/dist/esm/api/types/ScanBatchResult.d.mts +13 -0
  271. package/dist/esm/api/types/ScanBatchResult.mjs +2 -0
  272. package/dist/esm/api/types/ScanFailure.d.mts +11 -0
  273. package/dist/esm/api/types/ScanFailure.mjs +8 -0
  274. package/dist/esm/api/types/ScanList.d.mts +7 -0
  275. package/dist/esm/api/types/ScanList.mjs +2 -0
  276. package/dist/esm/api/types/TypeAnalysis.d.mts +26 -0
  277. package/dist/esm/api/types/TypeAnalysis.mjs +17 -0
  278. package/dist/esm/api/types/TypeAnalysisReason.d.mts +13 -0
  279. package/dist/esm/api/types/TypeAnalysisReason.mjs +9 -0
  280. package/dist/esm/api/types/TypeDeclaration.d.mts +6 -0
  281. package/dist/esm/api/types/TypeDeclaration.mjs +2 -0
  282. package/dist/esm/api/types/TypeIdentification.d.mts +6 -0
  283. package/dist/esm/api/types/TypeIdentification.mjs +2 -0
  284. package/dist/esm/api/types/index.d.mts +12 -0
  285. package/dist/esm/api/types/index.mjs +12 -0
  286. package/dist/esm/auth/HeaderAuthProvider.d.mts +20 -0
  287. package/dist/esm/auth/HeaderAuthProvider.mjs +43 -0
  288. package/dist/esm/auth/index.d.mts +1 -0
  289. package/dist/esm/auth/index.mjs +1 -0
  290. package/dist/esm/core/auth/AuthProvider.d.mts +8 -0
  291. package/dist/esm/core/auth/AuthProvider.mjs +6 -0
  292. package/dist/esm/core/auth/AuthRequest.d.mts +9 -0
  293. package/dist/esm/core/auth/AuthRequest.mjs +1 -0
  294. package/dist/esm/core/auth/BasicAuth.d.mts +8 -0
  295. package/dist/esm/core/auth/BasicAuth.mjs +30 -0
  296. package/dist/esm/core/auth/BearerToken.d.mts +7 -0
  297. package/dist/esm/core/auth/BearerToken.mjs +13 -0
  298. package/dist/esm/core/auth/NoOpAuthProvider.d.mts +5 -0
  299. package/dist/esm/core/auth/NoOpAuthProvider.mjs +5 -0
  300. package/dist/esm/core/auth/index.d.mts +5 -0
  301. package/dist/esm/core/auth/index.mjs +4 -0
  302. package/dist/esm/core/base64.d.mts +2 -0
  303. package/dist/esm/core/base64.mjs +22 -0
  304. package/dist/esm/core/exports.d.mts +2 -0
  305. package/dist/esm/core/exports.mjs +2 -0
  306. package/dist/esm/core/fetcher/APIResponse.d.mts +20 -0
  307. package/dist/esm/core/fetcher/APIResponse.mjs +1 -0
  308. package/dist/esm/core/fetcher/BinaryResponse.d.mts +19 -0
  309. package/dist/esm/core/fetcher/BinaryResponse.mjs +14 -0
  310. package/dist/esm/core/fetcher/EndpointMetadata.d.mts +13 -0
  311. package/dist/esm/core/fetcher/EndpointMetadata.mjs +1 -0
  312. package/dist/esm/core/fetcher/EndpointSupplier.d.mts +12 -0
  313. package/dist/esm/core/fetcher/EndpointSupplier.mjs +19 -0
  314. package/dist/esm/core/fetcher/Fetcher.d.mts +56 -0
  315. package/dist/esm/core/fetcher/Fetcher.mjs +240 -0
  316. package/dist/esm/core/fetcher/Headers.d.mts +2 -0
  317. package/dist/esm/core/fetcher/Headers.mjs +82 -0
  318. package/dist/esm/core/fetcher/HttpResponsePromise.d.mts +58 -0
  319. package/dist/esm/core/fetcher/HttpResponsePromise.mjs +99 -0
  320. package/dist/esm/core/fetcher/RawResponse.d.mts +29 -0
  321. package/dist/esm/core/fetcher/RawResponse.mjs +40 -0
  322. package/dist/esm/core/fetcher/Supplier.d.mts +4 -0
  323. package/dist/esm/core/fetcher/Supplier.mjs +19 -0
  324. package/dist/esm/core/fetcher/createRequestUrl.d.mts +1 -0
  325. package/dist/esm/core/fetcher/createRequestUrl.mjs +5 -0
  326. package/dist/esm/core/fetcher/getErrorResponseBody.d.mts +1 -0
  327. package/dist/esm/core/fetcher/getErrorResponseBody.mjs +42 -0
  328. package/dist/esm/core/fetcher/getFetchFn.d.mts +1 -0
  329. package/dist/esm/core/fetcher/getFetchFn.mjs +14 -0
  330. package/dist/esm/core/fetcher/getHeader.d.mts +1 -0
  331. package/dist/esm/core/fetcher/getHeader.mjs +8 -0
  332. package/dist/esm/core/fetcher/getRequestBody.d.mts +7 -0
  333. package/dist/esm/core/fetcher/getRequestBody.mjs +24 -0
  334. package/dist/esm/core/fetcher/getResponseBody.d.mts +1 -0
  335. package/dist/esm/core/fetcher/getResponseBody.mjs +77 -0
  336. package/dist/esm/core/fetcher/index.d.mts +13 -0
  337. package/dist/esm/core/fetcher/index.mjs +7 -0
  338. package/dist/esm/core/fetcher/makePassthroughRequest.d.mts +49 -0
  339. package/dist/esm/core/fetcher/makePassthroughRequest.mjs +154 -0
  340. package/dist/esm/core/fetcher/makeRequest.d.mts +6 -0
  341. package/dist/esm/core/fetcher/makeRequest.mjs +55 -0
  342. package/dist/esm/core/fetcher/redactUrl.d.mts +2 -0
  343. package/dist/esm/core/fetcher/redactUrl.mjs +84 -0
  344. package/dist/esm/core/fetcher/requestWithRetries.d.mts +1 -0
  345. package/dist/esm/core/fetcher/requestWithRetries.mjs +67 -0
  346. package/dist/esm/core/fetcher/signals.d.mts +5 -0
  347. package/dist/esm/core/fetcher/signals.mjs +28 -0
  348. package/dist/esm/core/file/exports.d.mts +1 -0
  349. package/dist/esm/core/file/exports.mjs +1 -0
  350. package/dist/esm/core/file/file.d.mts +10 -0
  351. package/dist/esm/core/file/file.mjs +188 -0
  352. package/dist/esm/core/file/index.d.mts +2 -0
  353. package/dist/esm/core/file/index.mjs +2 -0
  354. package/dist/esm/core/file/types.d.mts +66 -0
  355. package/dist/esm/core/file/types.mjs +1 -0
  356. package/dist/esm/core/form-data-utils/FormDataWrapper.d.mts +15 -0
  357. package/dist/esm/core/form-data-utils/FormDataWrapper.mjs +150 -0
  358. package/dist/esm/core/form-data-utils/encodeAsFormParameter.d.mts +1 -0
  359. package/dist/esm/core/form-data-utils/encodeAsFormParameter.mjs +9 -0
  360. package/dist/esm/core/form-data-utils/index.d.mts +2 -0
  361. package/dist/esm/core/form-data-utils/index.mjs +2 -0
  362. package/dist/esm/core/headers.d.mts +2 -0
  363. package/dist/esm/core/headers.mjs +27 -0
  364. package/dist/esm/core/index.d.mts +8 -0
  365. package/dist/esm/core/index.mjs +8 -0
  366. package/dist/esm/core/json.d.mts +15 -0
  367. package/dist/esm/core/json.mjs +19 -0
  368. package/dist/esm/core/logging/exports.d.mts +18 -0
  369. package/dist/esm/core/logging/exports.mjs +9 -0
  370. package/dist/esm/core/logging/index.d.mts +1 -0
  371. package/dist/esm/core/logging/index.mjs +1 -0
  372. package/dist/esm/core/logging/logger.d.mts +126 -0
  373. package/dist/esm/core/logging/logger.mjs +138 -0
  374. package/dist/esm/core/requestBody.d.mts +12 -0
  375. package/dist/esm/core/requestBody.mjs +23 -0
  376. package/dist/esm/core/runtime/index.d.mts +1 -0
  377. package/dist/esm/core/runtime/index.mjs +1 -0
  378. package/dist/esm/core/runtime/runtime.d.mts +28 -0
  379. package/dist/esm/core/runtime/runtime.mjs +172 -0
  380. package/dist/esm/core/url/QueryStringBuilder.d.mts +47 -0
  381. package/dist/esm/core/url/QueryStringBuilder.mjs +80 -0
  382. package/dist/esm/core/url/encodePathParam.d.mts +1 -0
  383. package/dist/esm/core/url/encodePathParam.mjs +18 -0
  384. package/dist/esm/core/url/index.d.mts +4 -0
  385. package/dist/esm/core/url/index.mjs +4 -0
  386. package/dist/esm/core/url/join.d.mts +1 -0
  387. package/dist/esm/core/url/join.mjs +65 -0
  388. package/dist/esm/core/url/qs.d.mts +7 -0
  389. package/dist/esm/core/url/qs.mjs +73 -0
  390. package/dist/esm/environments.d.mts +4 -0
  391. package/dist/esm/environments.mjs +4 -0
  392. package/dist/esm/errors/DetectantApiError.d.mts +15 -0
  393. package/dist/esm/errors/DetectantApiError.mjs +35 -0
  394. package/dist/esm/errors/DetectantApiTimeoutError.d.mts +6 -0
  395. package/dist/esm/errors/DetectantApiTimeoutError.mjs +15 -0
  396. package/dist/esm/errors/handleNonStatusCodeError.d.mts +2 -0
  397. package/dist/esm/errors/handleNonStatusCodeError.mjs +32 -0
  398. package/dist/esm/errors/index.d.mts +2 -0
  399. package/dist/esm/errors/index.mjs +2 -0
  400. package/dist/esm/exports.d.mts +1 -0
  401. package/dist/esm/exports.mjs +1 -0
  402. package/dist/esm/index.d.mts +6 -0
  403. package/dist/esm/index.mjs +5 -0
  404. package/dist/esm/version.d.mts +1 -0
  405. package/dist/esm/version.mjs +1 -0
  406. package/package.json +91 -1
  407. package/reference.md +380 -0
@@ -0,0 +1,126 @@
1
+ export declare const LogLevel: {
2
+ readonly Debug: "debug";
3
+ readonly Info: "info";
4
+ readonly Warn: "warn";
5
+ readonly Error: "error";
6
+ };
7
+ export type LogLevel = (typeof LogLevel)[keyof typeof LogLevel];
8
+ export interface ILogger {
9
+ /**
10
+ * Logs a debug message.
11
+ * @param message - The message to log
12
+ * @param args - Additional arguments to log
13
+ */
14
+ debug(message: string, ...args: unknown[]): void;
15
+ /**
16
+ * Logs an info message.
17
+ * @param message - The message to log
18
+ * @param args - Additional arguments to log
19
+ */
20
+ info(message: string, ...args: unknown[]): void;
21
+ /**
22
+ * Logs a warning message.
23
+ * @param message - The message to log
24
+ * @param args - Additional arguments to log
25
+ */
26
+ warn(message: string, ...args: unknown[]): void;
27
+ /**
28
+ * Logs an error message.
29
+ * @param message - The message to log
30
+ * @param args - Additional arguments to log
31
+ */
32
+ error(message: string, ...args: unknown[]): void;
33
+ }
34
+ /**
35
+ * Configuration for logger initialization.
36
+ */
37
+ export interface LogConfig {
38
+ /**
39
+ * Minimum log level to output.
40
+ * @default LogLevel.Info
41
+ */
42
+ level?: LogLevel;
43
+ /**
44
+ * Logger implementation to use.
45
+ * @default new ConsoleLogger()
46
+ */
47
+ logger?: ILogger;
48
+ /**
49
+ * Whether logging should be silenced.
50
+ * @default true
51
+ */
52
+ silent?: boolean;
53
+ }
54
+ /**
55
+ * Default console-based logger implementation.
56
+ */
57
+ export declare class ConsoleLogger implements ILogger {
58
+ debug(message: string, ...args: unknown[]): void;
59
+ info(message: string, ...args: unknown[]): void;
60
+ warn(message: string, ...args: unknown[]): void;
61
+ error(message: string, ...args: unknown[]): void;
62
+ }
63
+ /**
64
+ * Logger class that provides level-based logging functionality.
65
+ */
66
+ export declare class Logger {
67
+ private readonly level;
68
+ private readonly logger;
69
+ private readonly silent;
70
+ /**
71
+ * Creates a new logger instance.
72
+ * @param config - Logger configuration
73
+ */
74
+ constructor(config: Required<LogConfig>);
75
+ /**
76
+ * Checks if a log level should be output based on configuration.
77
+ * @param level - The log level to check
78
+ * @returns True if the level should be logged
79
+ */
80
+ shouldLog(level: LogLevel): boolean;
81
+ /**
82
+ * Checks if debug logging is enabled.
83
+ * @returns True if debug logs should be output
84
+ */
85
+ isDebug(): boolean;
86
+ /**
87
+ * Logs a debug message if debug logging is enabled.
88
+ * @param message - The message to log
89
+ * @param args - Additional arguments to log
90
+ */
91
+ debug(message: string, ...args: unknown[]): void;
92
+ /**
93
+ * Checks if info logging is enabled.
94
+ * @returns True if info logs should be output
95
+ */
96
+ isInfo(): boolean;
97
+ /**
98
+ * Logs an info message if info logging is enabled.
99
+ * @param message - The message to log
100
+ * @param args - Additional arguments to log
101
+ */
102
+ info(message: string, ...args: unknown[]): void;
103
+ /**
104
+ * Checks if warning logging is enabled.
105
+ * @returns True if warning logs should be output
106
+ */
107
+ isWarn(): boolean;
108
+ /**
109
+ * Logs a warning message if warning logging is enabled.
110
+ * @param message - The message to log
111
+ * @param args - Additional arguments to log
112
+ */
113
+ warn(message: string, ...args: unknown[]): void;
114
+ /**
115
+ * Checks if error logging is enabled.
116
+ * @returns True if error logs should be output
117
+ */
118
+ isError(): boolean;
119
+ /**
120
+ * Logs an error message if error logging is enabled.
121
+ * @param message - The message to log
122
+ * @param args - Additional arguments to log
123
+ */
124
+ error(message: string, ...args: unknown[]): void;
125
+ }
126
+ export declare function createLogger(config?: LogConfig | Logger): Logger;
@@ -0,0 +1,138 @@
1
+ export const LogLevel = {
2
+ Debug: "debug",
3
+ Info: "info",
4
+ Warn: "warn",
5
+ Error: "error",
6
+ };
7
+ const logLevelMap = {
8
+ [LogLevel.Debug]: 1,
9
+ [LogLevel.Info]: 2,
10
+ [LogLevel.Warn]: 3,
11
+ [LogLevel.Error]: 4,
12
+ };
13
+ /**
14
+ * Default console-based logger implementation.
15
+ */
16
+ export class ConsoleLogger {
17
+ debug(message, ...args) {
18
+ console.debug(message, ...args);
19
+ }
20
+ info(message, ...args) {
21
+ console.info(message, ...args);
22
+ }
23
+ warn(message, ...args) {
24
+ console.warn(message, ...args);
25
+ }
26
+ error(message, ...args) {
27
+ console.error(message, ...args);
28
+ }
29
+ }
30
+ /**
31
+ * Logger class that provides level-based logging functionality.
32
+ */
33
+ export class Logger {
34
+ /**
35
+ * Creates a new logger instance.
36
+ * @param config - Logger configuration
37
+ */
38
+ constructor(config) {
39
+ this.level = logLevelMap[config.level];
40
+ this.logger = config.logger;
41
+ this.silent = config.silent;
42
+ }
43
+ /**
44
+ * Checks if a log level should be output based on configuration.
45
+ * @param level - The log level to check
46
+ * @returns True if the level should be logged
47
+ */
48
+ shouldLog(level) {
49
+ return !this.silent && this.level <= logLevelMap[level];
50
+ }
51
+ /**
52
+ * Checks if debug logging is enabled.
53
+ * @returns True if debug logs should be output
54
+ */
55
+ isDebug() {
56
+ return this.shouldLog(LogLevel.Debug);
57
+ }
58
+ /**
59
+ * Logs a debug message if debug logging is enabled.
60
+ * @param message - The message to log
61
+ * @param args - Additional arguments to log
62
+ */
63
+ debug(message, ...args) {
64
+ if (this.isDebug()) {
65
+ this.logger.debug(message, ...args);
66
+ }
67
+ }
68
+ /**
69
+ * Checks if info logging is enabled.
70
+ * @returns True if info logs should be output
71
+ */
72
+ isInfo() {
73
+ return this.shouldLog(LogLevel.Info);
74
+ }
75
+ /**
76
+ * Logs an info message if info logging is enabled.
77
+ * @param message - The message to log
78
+ * @param args - Additional arguments to log
79
+ */
80
+ info(message, ...args) {
81
+ if (this.isInfo()) {
82
+ this.logger.info(message, ...args);
83
+ }
84
+ }
85
+ /**
86
+ * Checks if warning logging is enabled.
87
+ * @returns True if warning logs should be output
88
+ */
89
+ isWarn() {
90
+ return this.shouldLog(LogLevel.Warn);
91
+ }
92
+ /**
93
+ * Logs a warning message if warning logging is enabled.
94
+ * @param message - The message to log
95
+ * @param args - Additional arguments to log
96
+ */
97
+ warn(message, ...args) {
98
+ if (this.isWarn()) {
99
+ this.logger.warn(message, ...args);
100
+ }
101
+ }
102
+ /**
103
+ * Checks if error logging is enabled.
104
+ * @returns True if error logs should be output
105
+ */
106
+ isError() {
107
+ return this.shouldLog(LogLevel.Error);
108
+ }
109
+ /**
110
+ * Logs an error message if error logging is enabled.
111
+ * @param message - The message to log
112
+ * @param args - Additional arguments to log
113
+ */
114
+ error(message, ...args) {
115
+ if (this.isError()) {
116
+ this.logger.error(message, ...args);
117
+ }
118
+ }
119
+ }
120
+ export function createLogger(config) {
121
+ var _a, _b, _c;
122
+ if (config == null) {
123
+ return defaultLogger;
124
+ }
125
+ if (config instanceof Logger) {
126
+ return config;
127
+ }
128
+ config = config !== null && config !== void 0 ? config : {};
129
+ (_a = config.level) !== null && _a !== void 0 ? _a : (config.level = LogLevel.Info);
130
+ (_b = config.logger) !== null && _b !== void 0 ? _b : (config.logger = new ConsoleLogger());
131
+ (_c = config.silent) !== null && _c !== void 0 ? _c : (config.silent = true);
132
+ return new Logger(config);
133
+ }
134
+ const defaultLogger = new Logger({
135
+ level: LogLevel.Info,
136
+ logger: new ConsoleLogger(),
137
+ silent: true,
138
+ });
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Spreads caller-supplied `additionalBodyParameters` (from `requestOptions.additionalBodyParameters`)
3
+ * on top of the request body. Caller-supplied properties win over the endpoint body. When no
4
+ * additional body parameters are provided, the original body is returned unchanged so serialization
5
+ * is unaffected.
6
+ *
7
+ * The merge only applies to plain-object (JSON object) bodies. When the body is `null`/`undefined`
8
+ * the additional parameters become the body; when the body is an array or a primitive JSON value it
9
+ * is returned unchanged, since object properties cannot be spread into it. This mirrors the Python
10
+ * SDK, which only merges additional body parameters into mapping bodies.
11
+ */
12
+ export declare function mergeAdditionalBodyParameters(body: unknown, additionalBodyParameters: Record<string, unknown> | undefined): unknown;
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Spreads caller-supplied `additionalBodyParameters` (from `requestOptions.additionalBodyParameters`)
3
+ * on top of the request body. Caller-supplied properties win over the endpoint body. When no
4
+ * additional body parameters are provided, the original body is returned unchanged so serialization
5
+ * is unaffected.
6
+ *
7
+ * The merge only applies to plain-object (JSON object) bodies. When the body is `null`/`undefined`
8
+ * the additional parameters become the body; when the body is an array or a primitive JSON value it
9
+ * is returned unchanged, since object properties cannot be spread into it. This mirrors the Python
10
+ * SDK, which only merges additional body parameters into mapping bodies.
11
+ */
12
+ export function mergeAdditionalBodyParameters(body, additionalBodyParameters) {
13
+ if (additionalBodyParameters == null) {
14
+ return body;
15
+ }
16
+ if (body == null) {
17
+ return Object.assign({}, additionalBodyParameters);
18
+ }
19
+ if (typeof body === "object" && !Array.isArray(body)) {
20
+ return Object.assign(Object.assign({}, body), additionalBodyParameters);
21
+ }
22
+ return body;
23
+ }
@@ -0,0 +1 @@
1
+ export { getUserAgent, RUNTIME } from "./runtime.mjs";
@@ -0,0 +1 @@
1
+ export { getUserAgent, RUNTIME } from "./runtime.mjs";
@@ -0,0 +1,28 @@
1
+ /**
2
+ * A constant that indicates which environment and version the SDK is running in.
3
+ */
4
+ export declare const RUNTIME: Runtime;
5
+ export interface Runtime {
6
+ type: "browser" | "web-worker" | "deno" | "bun" | "node" | "react-native" | "unknown" | "workerd" | "edge-runtime";
7
+ version?: string;
8
+ parsedVersion?: number;
9
+ /**
10
+ * The operating system the SDK is running on, when it can be determined
11
+ * (e.g. "linux", "darwin", "win32" on server runtimes). Undefined in
12
+ * environments where the OS is not observable (e.g. browsers).
13
+ */
14
+ os?: string;
15
+ /**
16
+ * The CPU architecture the SDK is running on, when it can be determined
17
+ * (e.g. "x64", "arm64" on server runtimes). Undefined in environments where
18
+ * the architecture is not observable (e.g. browsers).
19
+ */
20
+ arch?: string;
21
+ }
22
+ /**
23
+ * Builds a structured User-Agent string of the form
24
+ * `{sdkName}/{sdkVersion} ({os}; {arch}) {runtime}/{runtimeVersion}`
25
+ * where the platform group and runtime segment are omitted gracefully when the
26
+ * underlying values cannot be determined (e.g. in a browser).
27
+ */
28
+ export declare function getUserAgent(sdkName: string, sdkVersion: string): string;
@@ -0,0 +1,172 @@
1
+ /**
2
+ * A constant that indicates which environment and version the SDK is running in.
3
+ */
4
+ export const RUNTIME = evaluateRuntime();
5
+ function evaluateRuntime() {
6
+ var _a, _b, _c, _d, _e, _f, _g;
7
+ /**
8
+ * A constant that indicates whether the environment the code is running is a Web Browser.
9
+ */
10
+ const isBrowser = typeof window !== "undefined" && typeof window.document !== "undefined";
11
+ if (isBrowser) {
12
+ return {
13
+ type: "browser",
14
+ version: window.navigator.userAgent,
15
+ };
16
+ }
17
+ /**
18
+ * A constant that indicates whether the environment the code is running is Cloudflare.
19
+ * https://developers.cloudflare.com/workers/runtime-apis/web-standards/#navigatoruseragent
20
+ */
21
+ const isCloudflare = typeof globalThis !== "undefined" && ((_a = globalThis === null || globalThis === void 0 ? void 0 : globalThis.navigator) === null || _a === void 0 ? void 0 : _a.userAgent) === "Cloudflare-Workers";
22
+ if (isCloudflare) {
23
+ return {
24
+ type: "workerd",
25
+ };
26
+ }
27
+ /**
28
+ * A constant that indicates whether the environment the code is running is Edge Runtime.
29
+ * https://vercel.com/docs/functions/runtimes/edge-runtime#check-if-you're-running-on-the-edge-runtime
30
+ */
31
+ const isEdgeRuntime = typeof EdgeRuntime === "string";
32
+ if (isEdgeRuntime) {
33
+ return {
34
+ type: "edge-runtime",
35
+ };
36
+ }
37
+ /**
38
+ * A constant that indicates whether the environment the code is running is a Web Worker.
39
+ */
40
+ const isWebWorker = typeof self === "object" &&
41
+ typeof (self === null || self === void 0 ? void 0 : self.importScripts) === "function" &&
42
+ (((_b = self.constructor) === null || _b === void 0 ? void 0 : _b.name) === "DedicatedWorkerGlobalScope" ||
43
+ ((_c = self.constructor) === null || _c === void 0 ? void 0 : _c.name) === "ServiceWorkerGlobalScope" ||
44
+ ((_d = self.constructor) === null || _d === void 0 ? void 0 : _d.name) === "SharedWorkerGlobalScope");
45
+ if (isWebWorker) {
46
+ return {
47
+ type: "web-worker",
48
+ };
49
+ }
50
+ /**
51
+ * A constant that indicates whether the environment the code is running is Deno.
52
+ * FYI Deno spoofs process.versions.node, see https://deno.land/std@0.177.0/node/process.ts?s=versions
53
+ */
54
+ const isDeno = typeof Deno !== "undefined" && typeof Deno.version !== "undefined" && typeof Deno.version.deno !== "undefined";
55
+ if (isDeno) {
56
+ return {
57
+ type: "deno",
58
+ version: Deno.version.deno,
59
+ os: (_e = Deno.build) === null || _e === void 0 ? void 0 : _e.os,
60
+ arch: (_f = Deno.build) === null || _f === void 0 ? void 0 : _f.arch,
61
+ };
62
+ }
63
+ /**
64
+ * A constant that indicates whether the environment the code is running is Bun.sh.
65
+ */
66
+ const isBun = typeof Bun !== "undefined" && typeof Bun.version !== "undefined";
67
+ if (isBun) {
68
+ return {
69
+ type: "bun",
70
+ version: Bun.version,
71
+ os: typeof process !== "undefined" ? process.platform : undefined,
72
+ arch: typeof process !== "undefined" ? process.arch : undefined,
73
+ };
74
+ }
75
+ /**
76
+ * A constant that indicates whether the environment the code is running is in React-Native.
77
+ * This check should come before Node.js detection since React Native may have a process polyfill.
78
+ * https://github.com/facebook/react-native/blob/main/packages/react-native/Libraries/Core/setUpNavigator.js
79
+ */
80
+ const isReactNative = typeof navigator !== "undefined" && (navigator === null || navigator === void 0 ? void 0 : navigator.product) === "ReactNative";
81
+ if (isReactNative) {
82
+ return {
83
+ type: "react-native",
84
+ };
85
+ }
86
+ /**
87
+ * A constant that indicates whether the environment the code is running is Node.JS.
88
+ *
89
+ * We assign `process` to a local variable first to avoid being flagged by
90
+ * bundlers that perform static analysis on `process.versions` (e.g. Next.js
91
+ * Edge Runtime warns about Node.js APIs even when they are guarded).
92
+ */
93
+ const _process = typeof process !== "undefined" ? process : undefined;
94
+ const isNode = typeof _process !== "undefined" && typeof ((_g = _process.versions) === null || _g === void 0 ? void 0 : _g.node) === "string";
95
+ if (isNode) {
96
+ return {
97
+ type: "node",
98
+ version: _process.versions.node,
99
+ parsedVersion: Number(_process.versions.node.split(".")[0]),
100
+ os: _process.platform,
101
+ arch: _process.arch,
102
+ };
103
+ }
104
+ return {
105
+ type: "unknown",
106
+ };
107
+ }
108
+ /**
109
+ * Display names for the language runtimes whose version is meaningful to encode
110
+ * in a User-Agent. Environments where a version string is not useful (e.g.
111
+ * browsers, where `version` is the full navigator UA) are intentionally mapped
112
+ * to `undefined` so they are omitted from the User-Agent.
113
+ */
114
+ const RUNTIME_DISPLAY_NAMES = {
115
+ node: "Node",
116
+ deno: "Deno",
117
+ bun: "Bun",
118
+ browser: undefined,
119
+ "web-worker": undefined,
120
+ "react-native": undefined,
121
+ workerd: undefined,
122
+ "edge-runtime": undefined,
123
+ unknown: undefined,
124
+ };
125
+ /**
126
+ * CPU architecture aliases that all refer to 64-bit x86. They are normalized to
127
+ * the single canonical token `x86_64` so the User-Agent architecture label is
128
+ * consistent regardless of which runtime reports it (Node reports `x64`, others
129
+ * report `amd64` or `x86_64`).
130
+ */
131
+ const X86_64_ARCH_ALIASES = new Set(["x64", "amd64", "x86_64"]);
132
+ /**
133
+ * Normalizes a CPU architecture token, collapsing the 64-bit x86 aliases
134
+ * (`x64`, `amd64`, `x86_64`) to `x86_64`. Other architectures are returned
135
+ * unchanged.
136
+ */
137
+ function normalizeArch(arch) {
138
+ if (arch == null) {
139
+ return arch;
140
+ }
141
+ return X86_64_ARCH_ALIASES.has(arch.toLowerCase()) ? "x86_64" : arch;
142
+ }
143
+ /**
144
+ * Percent-encodes the `@` and `/` characters in an npm package name so the
145
+ * User-Agent product token stays within the RFC 7230 token grammar. The
146
+ * original scoped package name can be recovered by URL-decoding (e.g.
147
+ * `@dummy/sdk` becomes `%40dummy%2Fsdk`).
148
+ */
149
+ function encodeProductName(sdkName) {
150
+ return sdkName.replace(/@/g, "%40").replace(/\//g, "%2F");
151
+ }
152
+ /**
153
+ * Builds a structured User-Agent string of the form
154
+ * `{sdkName}/{sdkVersion} ({os}; {arch}) {runtime}/{runtimeVersion}`
155
+ * where the platform group and runtime segment are omitted gracefully when the
156
+ * underlying values cannot be determined (e.g. in a browser).
157
+ */
158
+ export function getUserAgent(sdkName, sdkVersion) {
159
+ let userAgent = `${encodeProductName(sdkName)}/${sdkVersion}`;
160
+ const platform = [RUNTIME.os, normalizeArch(RUNTIME.arch)].filter((part) => part != null && part.length > 0);
161
+ if (platform.length > 0) {
162
+ userAgent += ` (${platform.join("; ")})`;
163
+ }
164
+ const runtimeName = RUNTIME_DISPLAY_NAMES[RUNTIME.type];
165
+ if (runtimeName != null) {
166
+ userAgent += ` ${runtimeName}`;
167
+ if (RUNTIME.version != null && RUNTIME.version.length > 0) {
168
+ userAgent += `/${RUNTIME.version}`;
169
+ }
170
+ }
171
+ return userAgent;
172
+ }
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Creates a fluent builder for constructing URL query strings.
3
+ *
4
+ * Each `.add()` call serializes its value immediately (like C#'s builder),
5
+ * so no format tracking is needed — the style is applied at add-time.
6
+ *
7
+ * Usage (generated code):
8
+ *
9
+ * const qs = core.url.queryBuilder()
10
+ * .add("limit", limit)
11
+ * .add("tags", tags, { style: "comma" }) // explode: false
12
+ * .mergeAdditional(requestOptions?.queryParams)
13
+ * .build();
14
+ */
15
+ export declare function queryBuilder(): QueryStringBuilder;
16
+ declare class QueryStringBuilder {
17
+ private parts;
18
+ /**
19
+ * Adds a query parameter, serializing it immediately.
20
+ *
21
+ * By default arrays use "repeat" format (`key=a&key=b`).
22
+ * Pass `{ style: "comma" }` for OpenAPI `explode: false` parameters
23
+ * to get comma-separated values (`key=a,b,c`).
24
+ *
25
+ * Null / undefined values are silently skipped.
26
+ */
27
+ add(key: string, value: unknown, options?: {
28
+ style?: "comma";
29
+ }): this;
30
+ /**
31
+ * Adds multiple query parameters at once from a record.
32
+ * All parameters use the default "repeat" array format.
33
+ * Null / undefined values are silently skipped.
34
+ */
35
+ addMany(params: Record<string, unknown>): this;
36
+ /**
37
+ * Merges additional query parameters supplied at call-time via
38
+ * `requestOptions.queryParams`. Overrides existing keys (last-write-wins).
39
+ */
40
+ mergeAdditional(additionalParams?: Record<string, unknown>): this;
41
+ /**
42
+ * Returns the assembled query string (without the leading `?`).
43
+ * Returns an empty string when no parameters were added.
44
+ */
45
+ build(): string;
46
+ }
47
+ export {};
@@ -0,0 +1,80 @@
1
+ import { toQueryString } from "./qs.mjs";
2
+ /**
3
+ * Creates a fluent builder for constructing URL query strings.
4
+ *
5
+ * Each `.add()` call serializes its value immediately (like C#'s builder),
6
+ * so no format tracking is needed — the style is applied at add-time.
7
+ *
8
+ * Usage (generated code):
9
+ *
10
+ * const qs = core.url.queryBuilder()
11
+ * .add("limit", limit)
12
+ * .add("tags", tags, { style: "comma" }) // explode: false
13
+ * .mergeAdditional(requestOptions?.queryParams)
14
+ * .build();
15
+ */
16
+ export function queryBuilder() {
17
+ return new QueryStringBuilder();
18
+ }
19
+ class QueryStringBuilder {
20
+ constructor() {
21
+ this.parts = new Map();
22
+ }
23
+ /**
24
+ * Adds a query parameter, serializing it immediately.
25
+ *
26
+ * By default arrays use "repeat" format (`key=a&key=b`).
27
+ * Pass `{ style: "comma" }` for OpenAPI `explode: false` parameters
28
+ * to get comma-separated values (`key=a,b,c`).
29
+ *
30
+ * Null / undefined values are silently skipped.
31
+ */
32
+ add(key, value, options) {
33
+ if (value === undefined || value === null) {
34
+ return this;
35
+ }
36
+ const serialized = toQueryString({ [key]: value }, { arrayFormat: (options === null || options === void 0 ? void 0 : options.style) === "comma" ? "comma" : "repeat" });
37
+ if (serialized.length > 0) {
38
+ this.parts.set(key, serialized);
39
+ }
40
+ return this;
41
+ }
42
+ /**
43
+ * Adds multiple query parameters at once from a record.
44
+ * All parameters use the default "repeat" array format.
45
+ * Null / undefined values are silently skipped.
46
+ */
47
+ addMany(params) {
48
+ if (params != null) {
49
+ for (const [key, value] of Object.entries(params)) {
50
+ this.add(key, value);
51
+ }
52
+ }
53
+ return this;
54
+ }
55
+ /**
56
+ * Merges additional query parameters supplied at call-time via
57
+ * `requestOptions.queryParams`. Overrides existing keys (last-write-wins).
58
+ */
59
+ mergeAdditional(additionalParams) {
60
+ if (additionalParams != null) {
61
+ for (const [key, value] of Object.entries(additionalParams)) {
62
+ if (value === undefined || value === null) {
63
+ continue;
64
+ }
65
+ const serialized = toQueryString({ [key]: value }, { arrayFormat: "repeat" });
66
+ if (serialized.length > 0) {
67
+ this.parts.set(key, serialized);
68
+ }
69
+ }
70
+ }
71
+ return this;
72
+ }
73
+ /**
74
+ * Returns the assembled query string (without the leading `?`).
75
+ * Returns an empty string when no parameters were added.
76
+ */
77
+ build() {
78
+ return [...this.parts.values()].join("&");
79
+ }
80
+ }
@@ -0,0 +1 @@
1
+ export declare function encodePathParam(param: unknown): string;
@@ -0,0 +1,18 @@
1
+ export function encodePathParam(param) {
2
+ if (param === null) {
3
+ return "null";
4
+ }
5
+ const typeofParam = typeof param;
6
+ switch (typeofParam) {
7
+ case "undefined":
8
+ return "undefined";
9
+ case "string":
10
+ case "number":
11
+ case "boolean":
12
+ break;
13
+ default:
14
+ param = String(param);
15
+ break;
16
+ }
17
+ return encodeURIComponent(param);
18
+ }
@@ -0,0 +1,4 @@
1
+ export { encodePathParam } from "./encodePathParam.mjs";
2
+ export { join } from "./join.mjs";
3
+ export { queryBuilder } from "./QueryStringBuilder.mjs";
4
+ export { toQueryString } from "./qs.mjs";
@@ -0,0 +1,4 @@
1
+ export { encodePathParam } from "./encodePathParam.mjs";
2
+ export { join } from "./join.mjs";
3
+ export { queryBuilder } from "./QueryStringBuilder.mjs";
4
+ export { toQueryString } from "./qs.mjs";
@@ -0,0 +1 @@
1
+ export declare function join(base: string, ...segments: string[]): string;