@detent/sdk 0.1.0

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 (545) hide show
  1. package/.devcontainer/devcontainer.json +45 -0
  2. package/FUNCTIONS.md +87 -0
  3. package/README.md +413 -0
  4. package/RUNTIMES.md +48 -0
  5. package/_speakeasy/.github/action-inputs-config.json +53 -0
  6. package/_speakeasy/.github/action-security-config.json +88 -0
  7. package/dist/commonjs/core.d.ts +10 -0
  8. package/dist/commonjs/core.d.ts.map +1 -0
  9. package/dist/commonjs/core.js +17 -0
  10. package/dist/commonjs/core.js.map +1 -0
  11. package/dist/commonjs/funcs/diagnostics-create.d.ts +24 -0
  12. package/dist/commonjs/funcs/diagnostics-create.d.ts.map +1 -0
  13. package/dist/commonjs/funcs/diagnostics-create.js +120 -0
  14. package/dist/commonjs/funcs/diagnostics-create.js.map +1 -0
  15. package/dist/commonjs/hooks/hooks.d.ts +25 -0
  16. package/dist/commonjs/hooks/hooks.d.ts.map +1 -0
  17. package/dist/commonjs/hooks/hooks.js +86 -0
  18. package/dist/commonjs/hooks/hooks.js.map +1 -0
  19. package/dist/commonjs/hooks/index.d.ts +3 -0
  20. package/dist/commonjs/hooks/index.d.ts.map +1 -0
  21. package/dist/commonjs/hooks/index.js +22 -0
  22. package/dist/commonjs/hooks/index.js.map +1 -0
  23. package/dist/commonjs/hooks/registration.d.ts +3 -0
  24. package/dist/commonjs/hooks/registration.d.ts.map +1 -0
  25. package/dist/commonjs/hooks/registration.js +15 -0
  26. package/dist/commonjs/hooks/registration.js.map +1 -0
  27. package/dist/commonjs/hooks/types.d.ts +76 -0
  28. package/dist/commonjs/hooks/types.d.ts.map +1 -0
  29. package/dist/commonjs/hooks/types.js +6 -0
  30. package/dist/commonjs/hooks/types.js.map +1 -0
  31. package/dist/commonjs/index.d.ts +6 -0
  32. package/dist/commonjs/index.d.ts.map +1 -0
  33. package/dist/commonjs/index.js +48 -0
  34. package/dist/commonjs/index.js.map +1 -0
  35. package/dist/commonjs/lib/base64.d.ts +10 -0
  36. package/dist/commonjs/lib/base64.d.ts.map +1 -0
  37. package/dist/commonjs/lib/base64.js +73 -0
  38. package/dist/commonjs/lib/base64.js.map +1 -0
  39. package/dist/commonjs/lib/config.d.ts +37 -0
  40. package/dist/commonjs/lib/config.d.ts.map +1 -0
  41. package/dist/commonjs/lib/config.js +42 -0
  42. package/dist/commonjs/lib/config.js.map +1 -0
  43. package/dist/commonjs/lib/dlv.d.ts +14 -0
  44. package/dist/commonjs/lib/dlv.d.ts.map +1 -0
  45. package/dist/commonjs/lib/dlv.js +49 -0
  46. package/dist/commonjs/lib/dlv.js.map +1 -0
  47. package/dist/commonjs/lib/encodings.d.ts +53 -0
  48. package/dist/commonjs/lib/encodings.d.ts.map +1 -0
  49. package/dist/commonjs/lib/encodings.js +384 -0
  50. package/dist/commonjs/lib/encodings.js.map +1 -0
  51. package/dist/commonjs/lib/env.d.ts +14 -0
  52. package/dist/commonjs/lib/env.d.ts.map +1 -0
  53. package/dist/commonjs/lib/env.js +81 -0
  54. package/dist/commonjs/lib/env.js.map +1 -0
  55. package/dist/commonjs/lib/files.d.ts +13 -0
  56. package/dist/commonjs/lib/files.d.ts.map +1 -0
  57. package/dist/commonjs/lib/files.js +77 -0
  58. package/dist/commonjs/lib/files.js.map +1 -0
  59. package/dist/commonjs/lib/http.d.ts +67 -0
  60. package/dist/commonjs/lib/http.d.ts.map +1 -0
  61. package/dist/commonjs/lib/http.js +217 -0
  62. package/dist/commonjs/lib/http.js.map +1 -0
  63. package/dist/commonjs/lib/is-plain-object.d.ts +2 -0
  64. package/dist/commonjs/lib/is-plain-object.d.ts.map +1 -0
  65. package/dist/commonjs/lib/is-plain-object.js +41 -0
  66. package/dist/commonjs/lib/is-plain-object.js.map +1 -0
  67. package/dist/commonjs/lib/logger.d.ts +6 -0
  68. package/dist/commonjs/lib/logger.d.ts.map +1 -0
  69. package/dist/commonjs/lib/logger.js +6 -0
  70. package/dist/commonjs/lib/logger.js.map +1 -0
  71. package/dist/commonjs/lib/matchers.d.ts +59 -0
  72. package/dist/commonjs/lib/matchers.d.ts.map +1 -0
  73. package/dist/commonjs/lib/matchers.js +222 -0
  74. package/dist/commonjs/lib/matchers.js.map +1 -0
  75. package/dist/commonjs/lib/primitives.d.ts +26 -0
  76. package/dist/commonjs/lib/primitives.d.ts.map +1 -0
  77. package/dist/commonjs/lib/primitives.js +111 -0
  78. package/dist/commonjs/lib/primitives.js.map +1 -0
  79. package/dist/commonjs/lib/retries.d.ts +38 -0
  80. package/dist/commonjs/lib/retries.d.ts.map +1 -0
  81. package/dist/commonjs/lib/retries.js +153 -0
  82. package/dist/commonjs/lib/retries.js.map +1 -0
  83. package/dist/commonjs/lib/schemas.d.ts +21 -0
  84. package/dist/commonjs/lib/schemas.d.ts.map +1 -0
  85. package/dist/commonjs/lib/schemas.js +95 -0
  86. package/dist/commonjs/lib/schemas.js.map +1 -0
  87. package/dist/commonjs/lib/sdks.d.ts +63 -0
  88. package/dist/commonjs/lib/sdks.d.ts.map +1 -0
  89. package/dist/commonjs/lib/sdks.js +273 -0
  90. package/dist/commonjs/lib/sdks.js.map +1 -0
  91. package/dist/commonjs/lib/security.d.ts +80 -0
  92. package/dist/commonjs/lib/security.d.ts.map +1 -0
  93. package/dist/commonjs/lib/security.js +126 -0
  94. package/dist/commonjs/lib/security.js.map +1 -0
  95. package/dist/commonjs/lib/url.d.ts +5 -0
  96. package/dist/commonjs/lib/url.d.ts.map +1 -0
  97. package/dist/commonjs/lib/url.js +25 -0
  98. package/dist/commonjs/lib/url.js.map +1 -0
  99. package/dist/commonjs/models/detected-tool.d.ts +19 -0
  100. package/dist/commonjs/models/detected-tool.d.ts.map +1 -0
  101. package/dist/commonjs/models/detected-tool.js +54 -0
  102. package/dist/commonjs/models/detected-tool.js.map +1 -0
  103. package/dist/commonjs/models/diagnostic-lite.d.ts +25 -0
  104. package/dist/commonjs/models/diagnostic-lite.d.ts.map +1 -0
  105. package/dist/commonjs/models/diagnostic-lite.js +59 -0
  106. package/dist/commonjs/models/diagnostic-lite.js.map +1 -0
  107. package/dist/commonjs/models/diagnostic-summary.d.ts +24 -0
  108. package/dist/commonjs/models/diagnostic-summary.d.ts.map +1 -0
  109. package/dist/commonjs/models/diagnostic-summary.js +53 -0
  110. package/dist/commonjs/models/diagnostic-summary.js.map +1 -0
  111. package/dist/commonjs/models/diagnostic.d.ts +46 -0
  112. package/dist/commonjs/models/diagnostic.d.ts.map +1 -0
  113. package/dist/commonjs/models/diagnostic.js +68 -0
  114. package/dist/commonjs/models/diagnostic.js.map +1 -0
  115. package/dist/commonjs/models/diagnostics-request.d.ts +27 -0
  116. package/dist/commonjs/models/diagnostics-request.d.ts.map +1 -0
  117. package/dist/commonjs/models/diagnostics-request.js +53 -0
  118. package/dist/commonjs/models/diagnostics-request.js.map +1 -0
  119. package/dist/commonjs/models/diagnostics-response-full.d.ts +31 -0
  120. package/dist/commonjs/models/diagnostics-response-full.d.ts.map +1 -0
  121. package/dist/commonjs/models/diagnostics-response-full.js +62 -0
  122. package/dist/commonjs/models/diagnostics-response-full.js.map +1 -0
  123. package/dist/commonjs/models/diagnostics-response-lite.d.ts +26 -0
  124. package/dist/commonjs/models/diagnostics-response-lite.d.ts.map +1 -0
  125. package/dist/commonjs/models/diagnostics-response-lite.js +60 -0
  126. package/dist/commonjs/models/diagnostics-response-lite.js.map +1 -0
  127. package/dist/commonjs/models/diagnostics-response.d.ts +11 -0
  128. package/dist/commonjs/models/diagnostics-response.d.ts.map +1 -0
  129. package/dist/commonjs/models/diagnostics-response.js +20 -0
  130. package/dist/commonjs/models/diagnostics-response.js.map +1 -0
  131. package/dist/commonjs/models/errors/detent-sdk-default-error.d.ts +10 -0
  132. package/dist/commonjs/models/errors/detent-sdk-default-error.d.ts.map +1 -0
  133. package/dist/commonjs/models/errors/detent-sdk-default-error.js +34 -0
  134. package/dist/commonjs/models/errors/detent-sdk-default-error.js.map +1 -0
  135. package/dist/commonjs/models/errors/detent-sdk-error.d.ts +19 -0
  136. package/dist/commonjs/models/errors/detent-sdk-error.d.ts.map +1 -0
  137. package/dist/commonjs/models/errors/detent-sdk-error.js +20 -0
  138. package/dist/commonjs/models/errors/detent-sdk-error.js.map +1 -0
  139. package/dist/commonjs/models/errors/error-response.d.ts +24 -0
  140. package/dist/commonjs/models/errors/error-response.d.ts.map +1 -0
  141. package/dist/commonjs/models/errors/error-response.js +68 -0
  142. package/dist/commonjs/models/errors/error-response.js.map +1 -0
  143. package/dist/commonjs/models/errors/http-client-errors.d.ts +44 -0
  144. package/dist/commonjs/models/errors/http-client-errors.d.ts.map +1 -0
  145. package/dist/commonjs/models/errors/http-client-errors.js +78 -0
  146. package/dist/commonjs/models/errors/http-client-errors.js.map +1 -0
  147. package/dist/commonjs/models/errors/index.d.ts +8 -0
  148. package/dist/commonjs/models/errors/index.d.ts.map +1 -0
  149. package/dist/commonjs/models/errors/index.js +27 -0
  150. package/dist/commonjs/models/errors/index.js.map +1 -0
  151. package/dist/commonjs/models/errors/rate-limit-error.d.ts +32 -0
  152. package/dist/commonjs/models/errors/rate-limit-error.d.ts.map +1 -0
  153. package/dist/commonjs/models/errors/rate-limit-error.js +70 -0
  154. package/dist/commonjs/models/errors/rate-limit-error.js.map +1 -0
  155. package/dist/commonjs/models/errors/response-validation-error.d.ts +26 -0
  156. package/dist/commonjs/models/errors/response-validation-error.d.ts.map +1 -0
  157. package/dist/commonjs/models/errors/response-validation-error.js +66 -0
  158. package/dist/commonjs/models/errors/response-validation-error.js.map +1 -0
  159. package/dist/commonjs/models/errors/sdk-validation-error.d.ts +21 -0
  160. package/dist/commonjs/models/errors/sdk-validation-error.d.ts.map +1 -0
  161. package/dist/commonjs/models/errors/sdk-validation-error.js +82 -0
  162. package/dist/commonjs/models/errors/sdk-validation-error.js.map +1 -0
  163. package/dist/commonjs/models/index.d.ts +11 -0
  164. package/dist/commonjs/models/index.d.ts.map +1 -0
  165. package/dist/commonjs/models/index.js +30 -0
  166. package/dist/commonjs/models/index.js.map +1 -0
  167. package/dist/commonjs/models/mode-enum.d.ts +16 -0
  168. package/dist/commonjs/models/mode-enum.d.ts.map +1 -0
  169. package/dist/commonjs/models/mode-enum.js +50 -0
  170. package/dist/commonjs/models/mode-enum.js.map +1 -0
  171. package/dist/commonjs/models/severity.d.ts +16 -0
  172. package/dist/commonjs/models/severity.d.ts.map +1 -0
  173. package/dist/commonjs/models/severity.js +50 -0
  174. package/dist/commonjs/models/severity.js.map +1 -0
  175. package/dist/commonjs/package.json +3 -0
  176. package/dist/commonjs/sdk/diagnostics.d.ts +18 -0
  177. package/dist/commonjs/sdk/diagnostics.d.ts.map +1 -0
  178. package/dist/commonjs/sdk/diagnostics.js +28 -0
  179. package/dist/commonjs/sdk/diagnostics.js.map +1 -0
  180. package/dist/commonjs/sdk/index.d.ts +2 -0
  181. package/dist/commonjs/sdk/index.d.ts.map +1 -0
  182. package/dist/commonjs/sdk/index.js +21 -0
  183. package/dist/commonjs/sdk/index.js.map +1 -0
  184. package/dist/commonjs/sdk/sdk.d.ts +7 -0
  185. package/dist/commonjs/sdk/sdk.d.ts.map +1 -0
  186. package/dist/commonjs/sdk/sdk.js +15 -0
  187. package/dist/commonjs/sdk/sdk.js.map +1 -0
  188. package/dist/commonjs/types/async.d.ts +23 -0
  189. package/dist/commonjs/types/async.d.ts.map +1 -0
  190. package/dist/commonjs/types/async.js +44 -0
  191. package/dist/commonjs/types/async.js.map +1 -0
  192. package/dist/commonjs/types/blobs.d.ts +4 -0
  193. package/dist/commonjs/types/blobs.d.ts.map +1 -0
  194. package/dist/commonjs/types/blobs.js +62 -0
  195. package/dist/commonjs/types/blobs.js.map +1 -0
  196. package/dist/commonjs/types/const-date-time.d.ts +3 -0
  197. package/dist/commonjs/types/const-date-time.d.ts.map +1 -0
  198. package/dist/commonjs/types/const-date-time.js +46 -0
  199. package/dist/commonjs/types/const-date-time.js.map +1 -0
  200. package/dist/commonjs/types/default-to-zero-value.d.ts +12 -0
  201. package/dist/commonjs/types/default-to-zero-value.d.ts.map +1 -0
  202. package/dist/commonjs/types/default-to-zero-value.js +35 -0
  203. package/dist/commonjs/types/default-to-zero-value.js.map +1 -0
  204. package/dist/commonjs/types/discriminated-union.d.ts +25 -0
  205. package/dist/commonjs/types/discriminated-union.d.ts.map +1 -0
  206. package/dist/commonjs/types/discriminated-union.js +98 -0
  207. package/dist/commonjs/types/discriminated-union.js.map +1 -0
  208. package/dist/commonjs/types/enums.d.ts +9 -0
  209. package/dist/commonjs/types/enums.d.ts.map +1 -0
  210. package/dist/commonjs/types/enums.js +66 -0
  211. package/dist/commonjs/types/enums.js.map +1 -0
  212. package/dist/commonjs/types/fp.d.ts +31 -0
  213. package/dist/commonjs/types/fp.d.ts.map +1 -0
  214. package/dist/commonjs/types/fp.js +37 -0
  215. package/dist/commonjs/types/fp.js.map +1 -0
  216. package/dist/commonjs/types/index.d.ts +10 -0
  217. package/dist/commonjs/types/index.d.ts.map +1 -0
  218. package/dist/commonjs/types/index.js +31 -0
  219. package/dist/commonjs/types/index.js.map +1 -0
  220. package/dist/commonjs/types/operations.d.ts +27 -0
  221. package/dist/commonjs/types/operations.d.ts.map +1 -0
  222. package/dist/commonjs/types/operations.js +83 -0
  223. package/dist/commonjs/types/operations.js.map +1 -0
  224. package/dist/commonjs/types/primitives.d.ts +11 -0
  225. package/dist/commonjs/types/primitives.d.ts.map +1 -0
  226. package/dist/commonjs/types/primitives.js +176 -0
  227. package/dist/commonjs/types/primitives.js.map +1 -0
  228. package/dist/commonjs/types/rfcdate.d.ts +21 -0
  229. package/dist/commonjs/types/rfcdate.d.ts.map +1 -0
  230. package/dist/commonjs/types/rfcdate.js +46 -0
  231. package/dist/commonjs/types/rfcdate.js.map +1 -0
  232. package/dist/commonjs/types/smart-union.d.ts +7 -0
  233. package/dist/commonjs/types/smart-union.d.ts.map +1 -0
  234. package/dist/commonjs/types/smart-union.js +147 -0
  235. package/dist/commonjs/types/smart-union.js.map +1 -0
  236. package/dist/commonjs/types/streams.d.ts +2 -0
  237. package/dist/commonjs/types/streams.d.ts.map +1 -0
  238. package/dist/commonjs/types/streams.js +18 -0
  239. package/dist/commonjs/types/streams.js.map +1 -0
  240. package/dist/commonjs/types/unrecognized.d.ts +16 -0
  241. package/dist/commonjs/types/unrecognized.d.ts.map +1 -0
  242. package/dist/commonjs/types/unrecognized.js +34 -0
  243. package/dist/commonjs/types/unrecognized.js.map +1 -0
  244. package/dist/esm/core.d.ts +10 -0
  245. package/dist/esm/core.d.ts.map +1 -0
  246. package/dist/esm/core.js +13 -0
  247. package/dist/esm/core.js.map +1 -0
  248. package/dist/esm/funcs/diagnostics-create.d.ts +24 -0
  249. package/dist/esm/funcs/diagnostics-create.d.ts.map +1 -0
  250. package/dist/esm/funcs/diagnostics-create.js +84 -0
  251. package/dist/esm/funcs/diagnostics-create.js.map +1 -0
  252. package/dist/esm/hooks/hooks.d.ts +25 -0
  253. package/dist/esm/hooks/hooks.d.ts.map +1 -0
  254. package/dist/esm/hooks/hooks.js +82 -0
  255. package/dist/esm/hooks/hooks.js.map +1 -0
  256. package/dist/esm/hooks/index.d.ts +3 -0
  257. package/dist/esm/hooks/index.d.ts.map +1 -0
  258. package/dist/esm/hooks/index.js +6 -0
  259. package/dist/esm/hooks/index.js.map +1 -0
  260. package/dist/esm/hooks/registration.d.ts +3 -0
  261. package/dist/esm/hooks/registration.d.ts.map +1 -0
  262. package/dist/esm/hooks/registration.js +12 -0
  263. package/dist/esm/hooks/registration.js.map +1 -0
  264. package/dist/esm/hooks/types.d.ts +76 -0
  265. package/dist/esm/hooks/types.d.ts.map +1 -0
  266. package/dist/esm/hooks/types.js +5 -0
  267. package/dist/esm/hooks/types.js.map +1 -0
  268. package/dist/esm/index.d.ts +6 -0
  269. package/dist/esm/index.d.ts.map +1 -0
  270. package/dist/esm/index.js +8 -0
  271. package/dist/esm/index.js.map +1 -0
  272. package/dist/esm/lib/base64.d.ts +10 -0
  273. package/dist/esm/lib/base64.d.ts.map +1 -0
  274. package/dist/esm/lib/base64.js +31 -0
  275. package/dist/esm/lib/base64.js.map +1 -0
  276. package/dist/esm/lib/config.d.ts +37 -0
  277. package/dist/esm/lib/config.d.ts.map +1 -0
  278. package/dist/esm/lib/config.js +38 -0
  279. package/dist/esm/lib/config.js.map +1 -0
  280. package/dist/esm/lib/dlv.d.ts +14 -0
  281. package/dist/esm/lib/dlv.d.ts.map +1 -0
  282. package/dist/esm/lib/dlv.js +46 -0
  283. package/dist/esm/lib/dlv.js.map +1 -0
  284. package/dist/esm/lib/encodings.d.ts +53 -0
  285. package/dist/esm/lib/encodings.d.ts.map +1 -0
  286. package/dist/esm/lib/encodings.js +370 -0
  287. package/dist/esm/lib/encodings.js.map +1 -0
  288. package/dist/esm/lib/env.d.ts +14 -0
  289. package/dist/esm/lib/env.d.ts.map +1 -0
  290. package/dist/esm/lib/env.js +43 -0
  291. package/dist/esm/lib/env.js.map +1 -0
  292. package/dist/esm/lib/files.d.ts +13 -0
  293. package/dist/esm/lib/files.d.ts.map +1 -0
  294. package/dist/esm/lib/files.js +73 -0
  295. package/dist/esm/lib/files.js.map +1 -0
  296. package/dist/esm/lib/http.d.ts +67 -0
  297. package/dist/esm/lib/http.d.ts.map +1 -0
  298. package/dist/esm/lib/http.js +207 -0
  299. package/dist/esm/lib/http.js.map +1 -0
  300. package/dist/esm/lib/is-plain-object.d.ts +2 -0
  301. package/dist/esm/lib/is-plain-object.d.ts.map +1 -0
  302. package/dist/esm/lib/is-plain-object.js +38 -0
  303. package/dist/esm/lib/is-plain-object.js.map +1 -0
  304. package/dist/esm/lib/logger.d.ts +6 -0
  305. package/dist/esm/lib/logger.d.ts.map +1 -0
  306. package/dist/esm/lib/logger.js +5 -0
  307. package/dist/esm/lib/logger.js.map +1 -0
  308. package/dist/esm/lib/matchers.d.ts +59 -0
  309. package/dist/esm/lib/matchers.d.ts.map +1 -0
  310. package/dist/esm/lib/matchers.js +203 -0
  311. package/dist/esm/lib/matchers.js.map +1 -0
  312. package/dist/esm/lib/primitives.d.ts +26 -0
  313. package/dist/esm/lib/primitives.d.ts.map +1 -0
  314. package/dist/esm/lib/primitives.js +103 -0
  315. package/dist/esm/lib/primitives.js.map +1 -0
  316. package/dist/esm/lib/retries.d.ts +38 -0
  317. package/dist/esm/lib/retries.d.ts.map +1 -0
  318. package/dist/esm/lib/retries.js +147 -0
  319. package/dist/esm/lib/retries.js.map +1 -0
  320. package/dist/esm/lib/schemas.d.ts +21 -0
  321. package/dist/esm/lib/schemas.d.ts.map +1 -0
  322. package/dist/esm/lib/schemas.js +57 -0
  323. package/dist/esm/lib/schemas.js.map +1 -0
  324. package/dist/esm/lib/sdks.d.ts +63 -0
  325. package/dist/esm/lib/sdks.d.ts.map +1 -0
  326. package/dist/esm/lib/sdks.js +269 -0
  327. package/dist/esm/lib/sdks.js.map +1 -0
  328. package/dist/esm/lib/security.d.ts +80 -0
  329. package/dist/esm/lib/security.d.ts.map +1 -0
  330. package/dist/esm/lib/security.js +121 -0
  331. package/dist/esm/lib/security.js.map +1 -0
  332. package/dist/esm/lib/url.d.ts +5 -0
  333. package/dist/esm/lib/url.d.ts.map +1 -0
  334. package/dist/esm/lib/url.js +22 -0
  335. package/dist/esm/lib/url.js.map +1 -0
  336. package/dist/esm/models/detected-tool.d.ts +19 -0
  337. package/dist/esm/models/detected-tool.d.ts.map +1 -0
  338. package/dist/esm/models/detected-tool.js +18 -0
  339. package/dist/esm/models/detected-tool.js.map +1 -0
  340. package/dist/esm/models/diagnostic-lite.d.ts +25 -0
  341. package/dist/esm/models/diagnostic-lite.d.ts.map +1 -0
  342. package/dist/esm/models/diagnostic-lite.js +22 -0
  343. package/dist/esm/models/diagnostic-lite.js.map +1 -0
  344. package/dist/esm/models/diagnostic-summary.d.ts +24 -0
  345. package/dist/esm/models/diagnostic-summary.d.ts.map +1 -0
  346. package/dist/esm/models/diagnostic-summary.js +16 -0
  347. package/dist/esm/models/diagnostic-summary.js.map +1 -0
  348. package/dist/esm/models/diagnostic.d.ts +46 -0
  349. package/dist/esm/models/diagnostic.d.ts.map +1 -0
  350. package/dist/esm/models/diagnostic.js +31 -0
  351. package/dist/esm/models/diagnostic.js.map +1 -0
  352. package/dist/esm/models/diagnostics-request.d.ts +27 -0
  353. package/dist/esm/models/diagnostics-request.d.ts.map +1 -0
  354. package/dist/esm/models/diagnostics-request.js +16 -0
  355. package/dist/esm/models/diagnostics-request.js.map +1 -0
  356. package/dist/esm/models/diagnostics-response-full.d.ts +31 -0
  357. package/dist/esm/models/diagnostics-response-full.d.ts.map +1 -0
  358. package/dist/esm/models/diagnostics-response-full.js +25 -0
  359. package/dist/esm/models/diagnostics-response-full.js.map +1 -0
  360. package/dist/esm/models/diagnostics-response-lite.d.ts +26 -0
  361. package/dist/esm/models/diagnostics-response-lite.d.ts.map +1 -0
  362. package/dist/esm/models/diagnostics-response-lite.js +23 -0
  363. package/dist/esm/models/diagnostics-response-lite.js.map +1 -0
  364. package/dist/esm/models/diagnostics-response.d.ts +11 -0
  365. package/dist/esm/models/diagnostics-response.d.ts.map +1 -0
  366. package/dist/esm/models/diagnostics-response.js +16 -0
  367. package/dist/esm/models/diagnostics-response.js.map +1 -0
  368. package/dist/esm/models/errors/detent-sdk-default-error.d.ts +10 -0
  369. package/dist/esm/models/errors/detent-sdk-default-error.d.ts.map +1 -0
  370. package/dist/esm/models/errors/detent-sdk-default-error.js +30 -0
  371. package/dist/esm/models/errors/detent-sdk-default-error.js.map +1 -0
  372. package/dist/esm/models/errors/detent-sdk-error.d.ts +19 -0
  373. package/dist/esm/models/errors/detent-sdk-error.d.ts.map +1 -0
  374. package/dist/esm/models/errors/detent-sdk-error.js +16 -0
  375. package/dist/esm/models/errors/detent-sdk-error.js.map +1 -0
  376. package/dist/esm/models/errors/error-response.d.ts +24 -0
  377. package/dist/esm/models/errors/error-response.d.ts.map +1 -0
  378. package/dist/esm/models/errors/error-response.js +31 -0
  379. package/dist/esm/models/errors/error-response.js.map +1 -0
  380. package/dist/esm/models/errors/http-client-errors.d.ts +44 -0
  381. package/dist/esm/models/errors/http-client-errors.d.ts.map +1 -0
  382. package/dist/esm/models/errors/http-client-errors.js +69 -0
  383. package/dist/esm/models/errors/http-client-errors.js.map +1 -0
  384. package/dist/esm/models/errors/index.d.ts +8 -0
  385. package/dist/esm/models/errors/index.d.ts.map +1 -0
  386. package/dist/esm/models/errors/index.js +11 -0
  387. package/dist/esm/models/errors/index.js.map +1 -0
  388. package/dist/esm/models/errors/rate-limit-error.d.ts +32 -0
  389. package/dist/esm/models/errors/rate-limit-error.d.ts.map +1 -0
  390. package/dist/esm/models/errors/rate-limit-error.js +33 -0
  391. package/dist/esm/models/errors/rate-limit-error.js.map +1 -0
  392. package/dist/esm/models/errors/response-validation-error.d.ts +26 -0
  393. package/dist/esm/models/errors/response-validation-error.d.ts.map +1 -0
  394. package/dist/esm/models/errors/response-validation-error.js +29 -0
  395. package/dist/esm/models/errors/response-validation-error.js.map +1 -0
  396. package/dist/esm/models/errors/sdk-validation-error.d.ts +21 -0
  397. package/dist/esm/models/errors/sdk-validation-error.d.ts.map +1 -0
  398. package/dist/esm/models/errors/sdk-validation-error.js +44 -0
  399. package/dist/esm/models/errors/sdk-validation-error.js.map +1 -0
  400. package/dist/esm/models/index.d.ts +11 -0
  401. package/dist/esm/models/index.d.ts.map +1 -0
  402. package/dist/esm/models/index.js +14 -0
  403. package/dist/esm/models/index.js.map +1 -0
  404. package/dist/esm/models/mode-enum.d.ts +16 -0
  405. package/dist/esm/models/mode-enum.d.ts.map +1 -0
  406. package/dist/esm/models/mode-enum.js +14 -0
  407. package/dist/esm/models/mode-enum.js.map +1 -0
  408. package/dist/esm/models/severity.d.ts +16 -0
  409. package/dist/esm/models/severity.d.ts.map +1 -0
  410. package/dist/esm/models/severity.js +14 -0
  411. package/dist/esm/models/severity.js.map +1 -0
  412. package/dist/esm/package.json +3 -0
  413. package/dist/esm/sdk/diagnostics.d.ts +18 -0
  414. package/dist/esm/sdk/diagnostics.d.ts.map +1 -0
  415. package/dist/esm/sdk/diagnostics.js +24 -0
  416. package/dist/esm/sdk/diagnostics.js.map +1 -0
  417. package/dist/esm/sdk/index.d.ts +2 -0
  418. package/dist/esm/sdk/index.d.ts.map +1 -0
  419. package/dist/esm/sdk/index.js +5 -0
  420. package/dist/esm/sdk/index.js.map +1 -0
  421. package/dist/esm/sdk/sdk.d.ts +7 -0
  422. package/dist/esm/sdk/sdk.d.ts.map +1 -0
  423. package/dist/esm/sdk/sdk.js +11 -0
  424. package/dist/esm/sdk/sdk.js.map +1 -0
  425. package/dist/esm/types/async.d.ts +23 -0
  426. package/dist/esm/types/async.d.ts.map +1 -0
  427. package/dist/esm/types/async.js +40 -0
  428. package/dist/esm/types/async.js.map +1 -0
  429. package/dist/esm/types/blobs.d.ts +4 -0
  430. package/dist/esm/types/blobs.d.ts.map +1 -0
  431. package/dist/esm/types/blobs.js +25 -0
  432. package/dist/esm/types/blobs.js.map +1 -0
  433. package/dist/esm/types/const-date-time.d.ts +3 -0
  434. package/dist/esm/types/const-date-time.d.ts.map +1 -0
  435. package/dist/esm/types/const-date-time.js +10 -0
  436. package/dist/esm/types/const-date-time.js.map +1 -0
  437. package/dist/esm/types/default-to-zero-value.d.ts +12 -0
  438. package/dist/esm/types/default-to-zero-value.d.ts.map +1 -0
  439. package/dist/esm/types/default-to-zero-value.js +31 -0
  440. package/dist/esm/types/default-to-zero-value.js.map +1 -0
  441. package/dist/esm/types/discriminated-union.d.ts +25 -0
  442. package/dist/esm/types/discriminated-union.d.ts.map +1 -0
  443. package/dist/esm/types/discriminated-union.js +61 -0
  444. package/dist/esm/types/discriminated-union.js.map +1 -0
  445. package/dist/esm/types/enums.d.ts +9 -0
  446. package/dist/esm/types/enums.d.ts.map +1 -0
  447. package/dist/esm/types/enums.js +27 -0
  448. package/dist/esm/types/enums.js.map +1 -0
  449. package/dist/esm/types/fp.d.ts +31 -0
  450. package/dist/esm/types/fp.d.ts.map +1 -0
  451. package/dist/esm/types/fp.js +31 -0
  452. package/dist/esm/types/fp.js.map +1 -0
  453. package/dist/esm/types/index.d.ts +10 -0
  454. package/dist/esm/types/index.d.ts.map +1 -0
  455. package/dist/esm/types/index.js +10 -0
  456. package/dist/esm/types/index.js.map +1 -0
  457. package/dist/esm/types/operations.d.ts +27 -0
  458. package/dist/esm/types/operations.d.ts.map +1 -0
  459. package/dist/esm/types/operations.js +77 -0
  460. package/dist/esm/types/operations.js.map +1 -0
  461. package/dist/esm/types/primitives.d.ts +11 -0
  462. package/dist/esm/types/primitives.d.ts.map +1 -0
  463. package/dist/esm/types/primitives.js +132 -0
  464. package/dist/esm/types/primitives.js.map +1 -0
  465. package/dist/esm/types/rfcdate.d.ts +21 -0
  466. package/dist/esm/types/rfcdate.d.ts.map +1 -0
  467. package/dist/esm/types/rfcdate.js +42 -0
  468. package/dist/esm/types/rfcdate.js.map +1 -0
  469. package/dist/esm/types/smart-union.d.ts +7 -0
  470. package/dist/esm/types/smart-union.d.ts.map +1 -0
  471. package/dist/esm/types/smart-union.js +111 -0
  472. package/dist/esm/types/smart-union.js.map +1 -0
  473. package/dist/esm/types/streams.d.ts +2 -0
  474. package/dist/esm/types/streams.d.ts.map +1 -0
  475. package/dist/esm/types/streams.js +15 -0
  476. package/dist/esm/types/streams.js.map +1 -0
  477. package/dist/esm/types/unrecognized.d.ts +16 -0
  478. package/dist/esm/types/unrecognized.d.ts.map +1 -0
  479. package/dist/esm/types/unrecognized.js +31 -0
  480. package/dist/esm/types/unrecognized.js.map +1 -0
  481. package/examples/diagnosticsCreate.example.ts +26 -0
  482. package/examples/package-lock.json +611 -0
  483. package/examples/package.json +18 -0
  484. package/jsr.json +27 -0
  485. package/package.json +114 -0
  486. package/src/core.ts +13 -0
  487. package/src/funcs/diagnostics-create.ts +174 -0
  488. package/src/hooks/hooks.ts +132 -0
  489. package/src/hooks/index.ts +6 -0
  490. package/src/hooks/registration.ts +14 -0
  491. package/src/hooks/types.ts +107 -0
  492. package/src/index.ts +9 -0
  493. package/src/lib/base64.ts +39 -0
  494. package/src/lib/config.ts +69 -0
  495. package/src/lib/dlv.ts +53 -0
  496. package/src/lib/encodings.ts +501 -0
  497. package/src/lib/env.ts +53 -0
  498. package/src/lib/files.ts +82 -0
  499. package/src/lib/http.ts +323 -0
  500. package/src/lib/is-plain-object.ts +43 -0
  501. package/src/lib/logger.ts +9 -0
  502. package/src/lib/matchers.ts +352 -0
  503. package/src/lib/primitives.ts +150 -0
  504. package/src/lib/retries.ts +218 -0
  505. package/src/lib/schemas.ts +94 -0
  506. package/src/lib/sdks.ts +406 -0
  507. package/src/lib/security.ts +237 -0
  508. package/src/lib/url.ts +33 -0
  509. package/src/models/detected-tool.ts +25 -0
  510. package/src/models/diagnostic-lite.ts +57 -0
  511. package/src/models/diagnostic-summary.ts +47 -0
  512. package/src/models/diagnostic.ts +83 -0
  513. package/src/models/diagnostics-request.ts +47 -0
  514. package/src/models/diagnostics-response-full.ts +67 -0
  515. package/src/models/diagnostics-response-lite.ts +61 -0
  516. package/src/models/diagnostics-response.ts +42 -0
  517. package/src/models/errors/detent-sdk-default-error.ts +40 -0
  518. package/src/models/errors/detent-sdk-error.ts +35 -0
  519. package/src/models/errors/error-response.ts +58 -0
  520. package/src/models/errors/http-client-errors.ts +62 -0
  521. package/src/models/errors/index.ts +11 -0
  522. package/src/models/errors/rate-limit-error.ts +68 -0
  523. package/src/models/errors/response-validation-error.ts +50 -0
  524. package/src/models/errors/sdk-validation-error.ts +54 -0
  525. package/src/models/index.ts +14 -0
  526. package/src/models/mode-enum.ts +23 -0
  527. package/src/models/severity.ts +23 -0
  528. package/src/sdk/diagnostics.ts +33 -0
  529. package/src/sdk/index.ts +5 -0
  530. package/src/sdk/sdk.ts +13 -0
  531. package/src/types/async.ts +68 -0
  532. package/src/types/blobs.ts +33 -0
  533. package/src/types/const-date-time.ts +15 -0
  534. package/src/types/default-to-zero-value.ts +33 -0
  535. package/src/types/discriminated-union.ts +101 -0
  536. package/src/types/enums.ts +45 -0
  537. package/src/types/fp.ts +50 -0
  538. package/src/types/index.ts +13 -0
  539. package/src/types/operations.ts +105 -0
  540. package/src/types/primitives.ts +168 -0
  541. package/src/types/rfcdate.ts +54 -0
  542. package/src/types/smart-union.ts +146 -0
  543. package/src/types/streams.ts +21 -0
  544. package/src/types/unrecognized.ts +35 -0
  545. package/tsconfig.json +40 -0
package/package.json ADDED
@@ -0,0 +1,114 @@
1
+ {
2
+ "name": "@detent/sdk",
3
+ "version": "0.1.0",
4
+ "author": "Speakeasy",
5
+ "type": "module",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "https://github.com/detentsh/sdk"
9
+ },
10
+ "tshy": {
11
+ "sourceDialects": [
12
+ "@detent/sdk/source"
13
+ ],
14
+ "exports": {
15
+ ".": "./src/index.ts",
16
+ "./package.json": "./package.json",
17
+ "./types": "./src/types/index.ts",
18
+ "./models/errors": "./src/models/errors/index.ts",
19
+ "./models": "./src/models/index.ts",
20
+ "./*.js": "./src/*.ts",
21
+ "./*": "./src/*.ts"
22
+ }
23
+ },
24
+ "sideEffects": false,
25
+ "scripts": {
26
+ "lint": "eslint --cache --max-warnings=0 src",
27
+ "build": "tshy",
28
+ "prepublishOnly": "npm run build"
29
+ },
30
+ "peerDependencies": {},
31
+ "devDependencies": {
32
+ "@eslint/js": "^9.19.0",
33
+ "eslint": "^9.19.0",
34
+ "globals": "^15.14.0",
35
+ "tshy": "^2.0.0",
36
+ "typescript": "~5.8.3",
37
+ "typescript-eslint": "^8.26.0"
38
+ },
39
+ "dependencies": {
40
+ "zod": "^3.25.65 || ^4.0.0"
41
+ },
42
+ "exports": {
43
+ ".": {
44
+ "import": {
45
+ "@detent/sdk/source": "./src/index.ts",
46
+ "types": "./dist/esm/index.d.ts",
47
+ "default": "./dist/esm/index.js"
48
+ },
49
+ "require": {
50
+ "types": "./dist/commonjs/index.d.ts",
51
+ "default": "./dist/commonjs/index.js"
52
+ }
53
+ },
54
+ "./package.json": "./package.json",
55
+ "./types": {
56
+ "import": {
57
+ "@detent/sdk/source": "./src/types/index.ts",
58
+ "types": "./dist/esm/types/index.d.ts",
59
+ "default": "./dist/esm/types/index.js"
60
+ },
61
+ "require": {
62
+ "types": "./dist/commonjs/types/index.d.ts",
63
+ "default": "./dist/commonjs/types/index.js"
64
+ }
65
+ },
66
+ "./models/errors": {
67
+ "import": {
68
+ "@detent/sdk/source": "./src/models/errors/index.ts",
69
+ "types": "./dist/esm/models/errors/index.d.ts",
70
+ "default": "./dist/esm/models/errors/index.js"
71
+ },
72
+ "require": {
73
+ "types": "./dist/commonjs/models/errors/index.d.ts",
74
+ "default": "./dist/commonjs/models/errors/index.js"
75
+ }
76
+ },
77
+ "./models": {
78
+ "import": {
79
+ "@detent/sdk/source": "./src/models/index.ts",
80
+ "types": "./dist/esm/models/index.d.ts",
81
+ "default": "./dist/esm/models/index.js"
82
+ },
83
+ "require": {
84
+ "types": "./dist/commonjs/models/index.d.ts",
85
+ "default": "./dist/commonjs/models/index.js"
86
+ }
87
+ },
88
+ "./*.js": {
89
+ "import": {
90
+ "@detent/sdk/source": "./src/*.ts",
91
+ "types": "./dist/esm/*.d.ts",
92
+ "default": "./dist/esm/*.js"
93
+ },
94
+ "require": {
95
+ "types": "./dist/commonjs/*.d.ts",
96
+ "default": "./dist/commonjs/*.js"
97
+ }
98
+ },
99
+ "./*": {
100
+ "import": {
101
+ "@detent/sdk/source": "./src/*.ts",
102
+ "types": "./dist/esm/*.d.ts",
103
+ "default": "./dist/esm/*.js"
104
+ },
105
+ "require": {
106
+ "types": "./dist/commonjs/*.d.ts",
107
+ "default": "./dist/commonjs/*.js"
108
+ }
109
+ }
110
+ },
111
+ "main": "./dist/commonjs/index.js",
112
+ "types": "./dist/commonjs/index.d.ts",
113
+ "module": "./dist/esm/index.js"
114
+ }
package/src/core.ts ADDED
@@ -0,0 +1,13 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { ClientSDK } from "./lib/sdks.js";
6
+
7
+ /**
8
+ * A minimal client to use when calling standalone SDK functions. Typically, an
9
+ * instance of this class would be instantiated once at the start of an
10
+ * application and passed around through some dependency injection mechanism to
11
+ * parts of an application that need to make SDK calls.
12
+ */
13
+ export class DetentSDKCore extends ClientSDK {}
@@ -0,0 +1,174 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v4-mini";
6
+ import { DetentSDKCore } from "../core.js";
7
+ import { encodeJSON } from "../lib/encodings.js";
8
+ import * as M from "../lib/matchers.js";
9
+ import { compactMap } from "../lib/primitives.js";
10
+ import { safeParse } from "../lib/schemas.js";
11
+ import { RequestOptions } from "../lib/sdks.js";
12
+ import { pathToFunc } from "../lib/url.js";
13
+ import { DetentSDKError } from "../models/errors/detent-sdk-error.js";
14
+ import {
15
+ ConnectionError,
16
+ InvalidRequestError,
17
+ RequestAbortedError,
18
+ RequestTimeoutError,
19
+ UnexpectedClientError,
20
+ } from "../models/errors/http-client-errors.js";
21
+ import * as errors from "../models/errors/index.js";
22
+ import { ResponseValidationError } from "../models/errors/response-validation-error.js";
23
+ import { SDKValidationError } from "../models/errors/sdk-validation-error.js";
24
+ import * as models from "../models/index.js";
25
+ import { APICall, APIPromise } from "../types/async.js";
26
+ import { Result } from "../types/fp.js";
27
+
28
+ /**
29
+ * Parse CI/build logs into structured diagnostics
30
+ *
31
+ * @remarks
32
+ * Extracts structured error and warning information from raw CI/build log output.
33
+ *
34
+ * Supports auto-detection of common tools (ESLint, TypeScript, Vitest, Cargo, golangci-lint) or accepts a hint via the `tool` parameter.
35
+ *
36
+ * Returns parsed diagnostics with file locations, severity, and tool-specific metadata.
37
+ *
38
+ * **Note:** Sensitive data (API keys, tokens, credentials) detected in the output is automatically redacted for security.
39
+ */
40
+ export function diagnosticsCreate(
41
+ client: DetentSDKCore,
42
+ request: models.DiagnosticsRequest,
43
+ options?: RequestOptions,
44
+ ): APIPromise<
45
+ Result<
46
+ models.DiagnosticsResponse,
47
+ | errors.ErrorResponse
48
+ | errors.RateLimitError
49
+ | DetentSDKError
50
+ | ResponseValidationError
51
+ | ConnectionError
52
+ | RequestAbortedError
53
+ | RequestTimeoutError
54
+ | InvalidRequestError
55
+ | UnexpectedClientError
56
+ | SDKValidationError
57
+ >
58
+ > {
59
+ return new APIPromise($do(
60
+ client,
61
+ request,
62
+ options,
63
+ ));
64
+ }
65
+
66
+ async function $do(
67
+ client: DetentSDKCore,
68
+ request: models.DiagnosticsRequest,
69
+ options?: RequestOptions,
70
+ ): Promise<
71
+ [
72
+ Result<
73
+ models.DiagnosticsResponse,
74
+ | errors.ErrorResponse
75
+ | errors.RateLimitError
76
+ | DetentSDKError
77
+ | ResponseValidationError
78
+ | ConnectionError
79
+ | RequestAbortedError
80
+ | RequestTimeoutError
81
+ | InvalidRequestError
82
+ | UnexpectedClientError
83
+ | SDKValidationError
84
+ >,
85
+ APICall,
86
+ ]
87
+ > {
88
+ const parsed = safeParse(
89
+ request,
90
+ (value) => z.parse(models.DiagnosticsRequest$outboundSchema, value),
91
+ "Input validation failed",
92
+ );
93
+ if (!parsed.ok) {
94
+ return [parsed, { status: "invalid" }];
95
+ }
96
+ const payload = parsed.value;
97
+ const body = encodeJSON("body", payload, { explode: true });
98
+
99
+ const path = pathToFunc("/v1/diagnostics")();
100
+
101
+ const headers = new Headers(compactMap({
102
+ "Content-Type": "application/json",
103
+ Accept: "application/json",
104
+ }));
105
+
106
+ const context = {
107
+ options: client._options,
108
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
109
+ operationID: "post_/v1/diagnostics",
110
+ oAuth2Scopes: null,
111
+
112
+ resolvedSecurity: null,
113
+
114
+ securitySource: null,
115
+ retryConfig: options?.retries
116
+ || client._options.retryConfig
117
+ || { strategy: "none" },
118
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
119
+ };
120
+
121
+ const requestRes = client._createRequest(context, {
122
+ method: "POST",
123
+ baseURL: options?.serverURL,
124
+ path: path,
125
+ headers: headers,
126
+ body: body,
127
+ userAgent: client._options.userAgent,
128
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
129
+ }, options);
130
+ if (!requestRes.ok) {
131
+ return [requestRes, { status: "invalid" }];
132
+ }
133
+ const req = requestRes.value;
134
+
135
+ const doResult = await client._do(req, {
136
+ context,
137
+ errorCodes: ["400", "429", "4XX", "5XX"],
138
+ retryConfig: context.retryConfig,
139
+ retryCodes: context.retryCodes,
140
+ });
141
+ if (!doResult.ok) {
142
+ return [doResult, { status: "request-error", request: req }];
143
+ }
144
+ const response = doResult.value;
145
+
146
+ const responseFields = {
147
+ HttpMeta: { Response: response, Request: req },
148
+ };
149
+
150
+ const [result] = await M.match<
151
+ models.DiagnosticsResponse,
152
+ | errors.ErrorResponse
153
+ | errors.RateLimitError
154
+ | DetentSDKError
155
+ | ResponseValidationError
156
+ | ConnectionError
157
+ | RequestAbortedError
158
+ | RequestTimeoutError
159
+ | InvalidRequestError
160
+ | UnexpectedClientError
161
+ | SDKValidationError
162
+ >(
163
+ M.json(200, models.DiagnosticsResponse$inboundSchema),
164
+ M.jsonErr(400, errors.ErrorResponse$inboundSchema),
165
+ M.jsonErr(429, errors.RateLimitError$inboundSchema),
166
+ M.fail("4XX"),
167
+ M.fail("5XX"),
168
+ )(response, req, { extraFields: responseFields });
169
+ if (!result.ok) {
170
+ return [result, { status: "complete", request: req, response }];
171
+ }
172
+
173
+ return [result, { status: "complete", request: req, response }];
174
+ }
@@ -0,0 +1,132 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { SDKOptions } from "../lib/config.js";
6
+ import { RequestInput } from "../lib/http.js";
7
+ import {
8
+ AfterErrorContext,
9
+ AfterErrorHook,
10
+ AfterSuccessContext,
11
+ AfterSuccessHook,
12
+ BeforeCreateRequestContext,
13
+ BeforeCreateRequestHook,
14
+ BeforeRequestContext,
15
+ BeforeRequestHook,
16
+ Hook,
17
+ Hooks,
18
+ SDKInitHook,
19
+ } from "./types.js";
20
+
21
+ import { initHooks } from "./registration.js";
22
+
23
+ export class SDKHooks implements Hooks {
24
+ sdkInitHooks: SDKInitHook[] = [];
25
+ beforeCreateRequestHooks: BeforeCreateRequestHook[] = [];
26
+ beforeRequestHooks: BeforeRequestHook[] = [];
27
+ afterSuccessHooks: AfterSuccessHook[] = [];
28
+ afterErrorHooks: AfterErrorHook[] = [];
29
+
30
+ constructor() {
31
+ const presetHooks: Array<Hook> = [];
32
+
33
+ for (const hook of presetHooks) {
34
+ if ("sdkInit" in hook) {
35
+ this.registerSDKInitHook(hook);
36
+ }
37
+ if ("beforeCreateRequest" in hook) {
38
+ this.registerBeforeCreateRequestHook(hook);
39
+ }
40
+ if ("beforeRequest" in hook) {
41
+ this.registerBeforeRequestHook(hook);
42
+ }
43
+ if ("afterSuccess" in hook) {
44
+ this.registerAfterSuccessHook(hook);
45
+ }
46
+ if ("afterError" in hook) {
47
+ this.registerAfterErrorHook(hook);
48
+ }
49
+ }
50
+ initHooks(this);
51
+ }
52
+
53
+ registerSDKInitHook(hook: SDKInitHook) {
54
+ this.sdkInitHooks.push(hook);
55
+ }
56
+
57
+ registerBeforeCreateRequestHook(hook: BeforeCreateRequestHook) {
58
+ this.beforeCreateRequestHooks.push(hook);
59
+ }
60
+
61
+ registerBeforeRequestHook(hook: BeforeRequestHook) {
62
+ this.beforeRequestHooks.push(hook);
63
+ }
64
+
65
+ registerAfterSuccessHook(hook: AfterSuccessHook) {
66
+ this.afterSuccessHooks.push(hook);
67
+ }
68
+
69
+ registerAfterErrorHook(hook: AfterErrorHook) {
70
+ this.afterErrorHooks.push(hook);
71
+ }
72
+
73
+ sdkInit(opts: SDKOptions): SDKOptions {
74
+ return this.sdkInitHooks.reduce((opts, hook) => hook.sdkInit(opts), opts);
75
+ }
76
+
77
+ beforeCreateRequest(
78
+ hookCtx: BeforeCreateRequestContext,
79
+ input: RequestInput,
80
+ ): RequestInput {
81
+ let inp = input;
82
+
83
+ for (const hook of this.beforeCreateRequestHooks) {
84
+ inp = hook.beforeCreateRequest(hookCtx, inp);
85
+ }
86
+
87
+ return inp;
88
+ }
89
+
90
+ async beforeRequest(
91
+ hookCtx: BeforeRequestContext,
92
+ request: Request,
93
+ ): Promise<Request> {
94
+ let req = request;
95
+
96
+ for (const hook of this.beforeRequestHooks) {
97
+ req = await hook.beforeRequest(hookCtx, req);
98
+ }
99
+
100
+ return req;
101
+ }
102
+
103
+ async afterSuccess(
104
+ hookCtx: AfterSuccessContext,
105
+ response: Response,
106
+ ): Promise<Response> {
107
+ let res = response;
108
+
109
+ for (const hook of this.afterSuccessHooks) {
110
+ res = await hook.afterSuccess(hookCtx, res);
111
+ }
112
+
113
+ return res;
114
+ }
115
+
116
+ async afterError(
117
+ hookCtx: AfterErrorContext,
118
+ response: Response | null,
119
+ error: unknown,
120
+ ): Promise<{ response: Response | null; error: unknown }> {
121
+ let res = response;
122
+ let err = error;
123
+
124
+ for (const hook of this.afterErrorHooks) {
125
+ const result = await hook.afterError(hookCtx, res, err);
126
+ res = result.response;
127
+ err = result.error;
128
+ }
129
+
130
+ return { response: res, error: err };
131
+ }
132
+ }
@@ -0,0 +1,6 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ export * from "./hooks.js";
6
+ export * from "./types.js";
@@ -0,0 +1,14 @@
1
+ import { Hooks } from "./types.js";
2
+
3
+ /*
4
+ * This file is only ever generated once on the first generation and then is free to be modified.
5
+ * Any hooks you wish to add should be registered in the initHooks function. Feel free to define them
6
+ * in this file or in separate files in the hooks folder.
7
+ */
8
+
9
+ // @ts-expect-error remove this line when you add your first hook and hooks is used
10
+ export function initHooks(hooks: Hooks) {
11
+ // Add hooks by calling hooks.register{ClientInit/BeforeCreateRequest/BeforeRequest/AfterSuccess/AfterError}Hook
12
+ // with an instance of a hook that implements that specific Hook interface
13
+ // Hooks are registered per SDK instance, and are valid for the lifetime of the SDK instance
14
+ }
@@ -0,0 +1,107 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { SDKOptions } from "../lib/config.js";
6
+ import { RequestInput } from "../lib/http.js";
7
+ import { RetryConfig } from "../lib/retries.js";
8
+ import { SecurityState } from "../lib/security.js";
9
+
10
+ export type HookContext = {
11
+ baseURL: string | URL;
12
+ operationID: string;
13
+ oAuth2Scopes: string[] | null;
14
+ securitySource?: any | (() => Promise<any>);
15
+ retryConfig: RetryConfig;
16
+ resolvedSecurity: SecurityState | null;
17
+ options: SDKOptions;
18
+ };
19
+
20
+ export type Awaitable<T> = T | Promise<T>;
21
+
22
+ export type BeforeCreateRequestContext = HookContext & {};
23
+ export type BeforeRequestContext = HookContext & {};
24
+ export type AfterSuccessContext = HookContext & {};
25
+ export type AfterErrorContext = HookContext & {};
26
+
27
+ /**
28
+ * SDKInitHook is called when the SDK is initializing. The
29
+ * hook can return a new baseURL and HTTP client to be used by the SDK.
30
+ */
31
+ export interface SDKInitHook {
32
+ sdkInit: (opts: SDKOptions) => SDKOptions;
33
+ }
34
+
35
+ export interface BeforeCreateRequestHook {
36
+ /**
37
+ * A hook that is called before the SDK creates a `Request` object. The hook
38
+ * can modify how a request is constructed since certain modifications, like
39
+ * changing the request URL, cannot be done on a request object directly.
40
+ */
41
+ beforeCreateRequest: (
42
+ hookCtx: BeforeCreateRequestContext,
43
+ input: RequestInput,
44
+ ) => RequestInput;
45
+ }
46
+
47
+ export interface BeforeRequestHook {
48
+ /**
49
+ * A hook that is called before the SDK sends a request. The hook can
50
+ * introduce instrumentation code such as logging, tracing and metrics or
51
+ * replace the request before it is sent or throw an error to stop the
52
+ * request from being sent.
53
+ */
54
+ beforeRequest: (
55
+ hookCtx: BeforeRequestContext,
56
+ request: Request,
57
+ ) => Awaitable<Request>;
58
+ }
59
+
60
+ export interface AfterSuccessHook {
61
+ /**
62
+ * A hook that is called after the SDK receives a response. The hook can
63
+ * introduce instrumentation code such as logging, tracing and metrics or
64
+ * modify the response before it is handled or throw an error to stop the
65
+ * response from being handled.
66
+ */
67
+ afterSuccess: (
68
+ hookCtx: AfterSuccessContext,
69
+ response: Response,
70
+ ) => Awaitable<Response>;
71
+ }
72
+
73
+ export interface AfterErrorHook {
74
+ /**
75
+ * A hook that is called after the SDK encounters an error, or a
76
+ * non-successful response. The hook can introduce instrumentation code such
77
+ * as logging, tracing and metrics or modify the response or error values.
78
+ */
79
+ afterError: (
80
+ hookCtx: AfterErrorContext,
81
+ response: Response | null,
82
+ error: unknown,
83
+ ) => Awaitable<{
84
+ response: Response | null;
85
+ error: unknown;
86
+ }>;
87
+ }
88
+
89
+ export interface Hooks {
90
+ /** Registers a hook to be used by the SDK for initialization event. */
91
+ registerSDKInitHook(hook: SDKInitHook): void;
92
+ /** Registers a hook to be used by the SDK for to modify `Request` construction. */
93
+ registerBeforeCreateRequestHook(hook: BeforeCreateRequestHook): void;
94
+ /** Registers a hook to be used by the SDK for the before request event. */
95
+ registerBeforeRequestHook(hook: BeforeRequestHook): void;
96
+ /** Registers a hook to be used by the SDK for the after success event. */
97
+ registerAfterSuccessHook(hook: AfterSuccessHook): void;
98
+ /** Registers a hook to be used by the SDK for the after error event. */
99
+ registerAfterErrorHook(hook: AfterErrorHook): void;
100
+ }
101
+
102
+ export type Hook =
103
+ | SDKInitHook
104
+ | BeforeCreateRequestHook
105
+ | BeforeRequestHook
106
+ | AfterSuccessHook
107
+ | AfterErrorHook;
package/src/index.ts ADDED
@@ -0,0 +1,9 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ export * from "./lib/config.js";
6
+ export * as files from "./lib/files.js";
7
+ export { HTTPClient } from "./lib/http.js";
8
+ export type { Fetcher, HTTPClientOptions } from "./lib/http.js";
9
+ export * from "./sdk/sdk.js";
@@ -0,0 +1,39 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v4-mini";
6
+
7
+ export function bytesToBase64(u8arr: Uint8Array): string {
8
+ return btoa(String.fromCodePoint(...u8arr));
9
+ }
10
+
11
+ export function bytesFromBase64(encoded: string): Uint8Array {
12
+ return Uint8Array.from(atob(encoded), (c) => c.charCodeAt(0));
13
+ }
14
+
15
+ export function stringToBytes(str: string): Uint8Array {
16
+ return new TextEncoder().encode(str);
17
+ }
18
+
19
+ export function stringFromBytes(u8arr: Uint8Array): string {
20
+ return new TextDecoder().decode(u8arr);
21
+ }
22
+
23
+ export function stringToBase64(str: string): string {
24
+ return bytesToBase64(stringToBytes(str));
25
+ }
26
+
27
+ export function stringFromBase64(b64str: string): string {
28
+ return stringFromBytes(bytesFromBase64(b64str));
29
+ }
30
+
31
+ export const zodOutbound = z.union([
32
+ z.custom<Uint8Array>(x => x instanceof Uint8Array),
33
+ z.pipe(z.string(), z.transform(stringToBytes)),
34
+ ]);
35
+
36
+ export const zodInbound = z.union([
37
+ z.custom<Uint8Array>(x => x instanceof Uint8Array),
38
+ z.pipe(z.string(), z.transform(bytesFromBase64)),
39
+ ]);
@@ -0,0 +1,69 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { HTTPClient } from "./http.js";
6
+ import { Logger } from "./logger.js";
7
+ import { RetryConfig } from "./retries.js";
8
+ import { Params, pathToFunc } from "./url.js";
9
+
10
+ /**
11
+ * Contains the list of servers available to the SDK
12
+ */
13
+ export const ServerList = [
14
+ /**
15
+ * Production
16
+ */
17
+ "https://backend.detent.sh",
18
+ /**
19
+ * Local development
20
+ */
21
+ "http://localhost:8787",
22
+ ] as const;
23
+
24
+ export type SDKOptions = {
25
+ httpClient?: HTTPClient;
26
+ /**
27
+ * Allows overriding the default server used by the SDK
28
+ */
29
+ serverIdx?: number | undefined;
30
+ /**
31
+ * Allows overriding the default server URL used by the SDK
32
+ */
33
+ serverURL?: string | undefined;
34
+ /**
35
+ * Allows overriding the default user agent used by the SDK
36
+ */
37
+ userAgent?: string | undefined;
38
+ /**
39
+ * Allows overriding the default retry config used by the SDK
40
+ */
41
+ retryConfig?: RetryConfig;
42
+ timeoutMs?: number;
43
+ debugLogger?: Logger;
44
+ };
45
+
46
+ export function serverURLFromOptions(options: SDKOptions): URL | null {
47
+ let serverURL = options.serverURL;
48
+
49
+ const params: Params = {};
50
+
51
+ if (!serverURL) {
52
+ const serverIdx = options.serverIdx ?? 0;
53
+ if (serverIdx < 0 || serverIdx >= ServerList.length) {
54
+ throw new Error(`Invalid server index ${serverIdx}`);
55
+ }
56
+ serverURL = ServerList[serverIdx] || "";
57
+ }
58
+
59
+ const u = pathToFunc(serverURL)(params);
60
+ return new URL(u);
61
+ }
62
+
63
+ export const SDK_METADATA = {
64
+ language: "typescript",
65
+ openapiDocVersion: "1.0.0",
66
+ sdkVersion: "0.1.0",
67
+ genVersion: "2.801.0",
68
+ userAgent: "speakeasy-sdk/typescript 0.1.0 2.801.0 1.0.0 @detent/sdk",
69
+ } as const;