@deeprelay/sdk 0.2.1 → 0.4.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 (512) hide show
  1. package/.openapi-generator/FILES +66 -0
  2. package/README.md +47 -11
  3. package/dist/apis/AlertsApi.d.ts +50 -0
  4. package/dist/apis/AlertsApi.js +127 -0
  5. package/dist/apis/ApiKeysApi.d.ts +107 -0
  6. package/dist/apis/ApiKeysApi.js +284 -0
  7. package/dist/apis/BillingApi.d.ts +25 -7
  8. package/dist/apis/BillingApi.js +57 -7
  9. package/dist/apis/InferenceApi.d.ts +12 -1
  10. package/dist/apis/InferenceApi.js +22 -1
  11. package/dist/apis/MetaApi.d.ts +1 -1
  12. package/dist/apis/MetaApi.js +1 -1
  13. package/dist/apis/RequestsApi.d.ts +130 -0
  14. package/dist/apis/RequestsApi.js +269 -0
  15. package/dist/apis/UsageApi.d.ts +1 -1
  16. package/dist/apis/UsageApi.js +1 -1
  17. package/dist/apis/WebhooksApi.d.ts +1 -1
  18. package/dist/apis/WebhooksApi.js +1 -1
  19. package/dist/apis/index.d.ts +3 -0
  20. package/dist/apis/index.js +3 -0
  21. package/dist/esm/apis/AlertsApi.d.ts +50 -0
  22. package/dist/esm/apis/AlertsApi.js +123 -0
  23. package/dist/esm/apis/ApiKeysApi.d.ts +107 -0
  24. package/dist/esm/apis/ApiKeysApi.js +280 -0
  25. package/dist/esm/apis/BillingApi.d.ts +25 -7
  26. package/dist/esm/apis/BillingApi.js +57 -7
  27. package/dist/esm/apis/InferenceApi.d.ts +12 -1
  28. package/dist/esm/apis/InferenceApi.js +22 -1
  29. package/dist/esm/apis/MetaApi.d.ts +1 -1
  30. package/dist/esm/apis/MetaApi.js +1 -1
  31. package/dist/esm/apis/RequestsApi.d.ts +130 -0
  32. package/dist/esm/apis/RequestsApi.js +265 -0
  33. package/dist/esm/apis/UsageApi.d.ts +1 -1
  34. package/dist/esm/apis/UsageApi.js +1 -1
  35. package/dist/esm/apis/WebhooksApi.d.ts +1 -1
  36. package/dist/esm/apis/WebhooksApi.js +1 -1
  37. package/dist/esm/apis/index.d.ts +3 -0
  38. package/dist/esm/apis/index.js +3 -0
  39. package/dist/esm/models/AlertEmailToggles.d.ts +50 -0
  40. package/dist/esm/models/AlertEmailToggles.js +55 -0
  41. package/dist/esm/models/AlertSettings.d.ts +51 -0
  42. package/dist/esm/models/AlertSettings.js +56 -0
  43. package/dist/esm/models/AlertSettingsUpdate.d.ts +39 -0
  44. package/dist/esm/models/AlertSettingsUpdate.js +48 -0
  45. package/dist/esm/models/ApiKey.d.ts +123 -0
  46. package/dist/esm/models/ApiKey.js +96 -0
  47. package/dist/esm/models/ApiKeyCreate.d.ts +70 -0
  48. package/dist/esm/models/ApiKeyCreate.js +57 -0
  49. package/dist/esm/models/ApiKeyCreated.d.ts +129 -0
  50. package/dist/esm/models/ApiKeyCreated.js +100 -0
  51. package/dist/esm/models/ApiKeyList.d.ts +33 -0
  52. package/dist/esm/models/ApiKeyList.js +44 -0
  53. package/dist/esm/models/ApiKeyScopes.d.ts +65 -0
  54. package/dist/esm/models/ApiKeyScopes.js +66 -0
  55. package/dist/esm/models/ApiKeyUpdate.d.ts +62 -0
  56. package/dist/esm/models/ApiKeyUpdate.js +51 -0
  57. package/dist/esm/models/Balance.d.ts +1 -1
  58. package/dist/esm/models/Balance.js +1 -1
  59. package/dist/esm/models/ChatChoice.d.ts +11 -1
  60. package/dist/esm/models/ChatChoice.js +3 -1
  61. package/dist/esm/models/ChatCompletionRequest.d.ts +78 -2
  62. package/dist/esm/models/ChatCompletionRequest.js +26 -1
  63. package/dist/esm/models/ChatCompletionRequestResponseFormat.d.ts +31 -0
  64. package/dist/esm/models/ChatCompletionRequestResponseFormat.js +52 -0
  65. package/dist/esm/models/ChatCompletionRequestToolChoice.d.ts +23 -0
  66. package/dist/esm/models/ChatCompletionRequestToolChoice.js +50 -0
  67. package/dist/esm/models/ChatCompletionResponse.d.ts +1 -1
  68. package/dist/esm/models/ChatCompletionResponse.js +1 -1
  69. package/dist/esm/models/ChatMessage.d.ts +22 -2
  70. package/dist/esm/models/ChatMessage.js +10 -5
  71. package/dist/esm/models/CostDetails.d.ts +59 -0
  72. package/dist/esm/models/CostDetails.js +59 -0
  73. package/dist/esm/models/CreateCryptoDepositRequest.d.ts +4 -1
  74. package/dist/esm/models/CreateCryptoDepositRequest.js +4 -2
  75. package/dist/esm/models/CreateWebhookEndpointRequest.d.ts +5 -1
  76. package/dist/esm/models/CreateWebhookEndpointRequest.js +6 -2
  77. package/dist/esm/models/CryptoDeposit.d.ts +3 -1
  78. package/dist/esm/models/CryptoDeposit.js +4 -2
  79. package/dist/esm/models/Embedding.d.ts +1 -1
  80. package/dist/esm/models/Embedding.js +1 -1
  81. package/dist/esm/models/EmbeddingsRequest.d.ts +1 -1
  82. package/dist/esm/models/EmbeddingsRequest.js +1 -1
  83. package/dist/esm/models/EmbeddingsRequestInput.d.ts +1 -1
  84. package/dist/esm/models/EmbeddingsRequestInput.js +1 -1
  85. package/dist/esm/models/EmbeddingsResponse.d.ts +1 -1
  86. package/dist/esm/models/EmbeddingsResponse.js +1 -1
  87. package/dist/esm/models/EmbeddingsUsage.d.ts +1 -1
  88. package/dist/esm/models/EmbeddingsUsage.js +1 -1
  89. package/dist/esm/models/GetHealth200Response.d.ts +1 -1
  90. package/dist/esm/models/GetHealth200Response.js +1 -1
  91. package/dist/esm/models/ImagesGenerationsRequest.d.ts +2 -2
  92. package/dist/esm/models/ImagesGenerationsRequest.js +1 -1
  93. package/dist/esm/models/ImagesResponse.d.ts +1 -1
  94. package/dist/esm/models/ImagesResponse.js +1 -1
  95. package/dist/esm/models/ImagesResponseDataInner.d.ts +1 -1
  96. package/dist/esm/models/ImagesResponseDataInner.js +1 -1
  97. package/dist/esm/models/ImagesResponseUsage.d.ts +1 -1
  98. package/dist/esm/models/ImagesResponseUsage.js +1 -1
  99. package/dist/esm/models/InferencePreflight.d.ts +5 -2
  100. package/dist/esm/models/InferencePreflight.js +4 -1
  101. package/dist/esm/models/JSONSchemaFormat.d.ts +54 -0
  102. package/dist/esm/models/JSONSchemaFormat.js +49 -0
  103. package/dist/esm/models/ListDeposits200Response.d.ts +1 -1
  104. package/dist/esm/models/ListDeposits200Response.js +1 -1
  105. package/dist/esm/models/Model.d.ts +54 -5
  106. package/dist/esm/models/Model.js +21 -2
  107. package/dist/esm/models/ModelList.d.ts +1 -1
  108. package/dist/esm/models/ModelList.js +1 -1
  109. package/dist/esm/models/ModelMetrics.d.ts +101 -0
  110. package/dist/esm/models/ModelMetrics.js +85 -0
  111. package/dist/esm/models/ModelParametersInner.d.ts +1 -1
  112. package/dist/esm/models/ModelParametersInner.js +1 -1
  113. package/dist/esm/models/ModelPricing.d.ts +1 -1
  114. package/dist/esm/models/ModelPricing.js +1 -1
  115. package/dist/esm/models/ModelRate.d.ts +1 -1
  116. package/dist/esm/models/ModelRate.js +1 -1
  117. package/dist/esm/models/OpenAIErrorEnvelope.d.ts +1 -1
  118. package/dist/esm/models/OpenAIErrorEnvelope.js +1 -1
  119. package/dist/esm/models/OpenAIErrorEnvelopeError.d.ts +8 -2
  120. package/dist/esm/models/OpenAIErrorEnvelopeError.js +3 -1
  121. package/dist/esm/models/PeakWindow.d.ts +1 -1
  122. package/dist/esm/models/PeakWindow.js +1 -1
  123. package/dist/esm/models/Problem.d.ts +22 -1
  124. package/dist/esm/models/Problem.js +14 -1
  125. package/dist/esm/models/RefereeStatus.d.ts +1 -1
  126. package/dist/esm/models/RefereeStatus.js +1 -1
  127. package/dist/esm/models/Referral.d.ts +14 -2
  128. package/dist/esm/models/Referral.js +9 -1
  129. package/dist/esm/models/RequestLogEntry.d.ts +210 -0
  130. package/dist/esm/models/RequestLogEntry.js +129 -0
  131. package/dist/esm/models/RequestLogPage.d.ts +45 -0
  132. package/dist/esm/models/RequestLogPage.js +52 -0
  133. package/dist/esm/models/ResponseFormatJSONObject.d.ts +39 -0
  134. package/dist/esm/models/ResponseFormatJSONObject.js +51 -0
  135. package/dist/esm/models/ResponseFormatJSONSchema.d.ts +46 -0
  136. package/dist/esm/models/ResponseFormatJSONSchema.js +56 -0
  137. package/dist/esm/models/ResponseFormatText.d.ts +39 -0
  138. package/dist/esm/models/ResponseFormatText.js +51 -0
  139. package/dist/esm/models/SpendingLimit.d.ts +1 -1
  140. package/dist/esm/models/SpendingLimit.js +1 -1
  141. package/dist/esm/models/StreamOptions.d.ts +1 -1
  142. package/dist/esm/models/StreamOptions.js +1 -1
  143. package/dist/esm/models/Subscription.d.ts +9 -2
  144. package/dist/esm/models/Subscription.js +6 -1
  145. package/dist/esm/models/SubscriptionCheckoutRequest.d.ts +18 -4
  146. package/dist/esm/models/SubscriptionCheckoutRequest.js +10 -1
  147. package/dist/esm/models/SubscriptionCheckoutSession.d.ts +21 -1
  148. package/dist/esm/models/SubscriptionCheckoutSession.js +12 -1
  149. package/dist/esm/models/SubscriptionModelUsage.d.ts +68 -0
  150. package/dist/esm/models/SubscriptionModelUsage.js +67 -0
  151. package/dist/esm/models/SubscriptionPlan.d.ts +4 -4
  152. package/dist/esm/models/SubscriptionPlan.js +1 -1
  153. package/dist/esm/models/SubscriptionPortalRequest.d.ts +1 -1
  154. package/dist/esm/models/SubscriptionPortalRequest.js +1 -1
  155. package/dist/esm/models/SubscriptionPortalSession.d.ts +1 -1
  156. package/dist/esm/models/SubscriptionPortalSession.js +1 -1
  157. package/dist/esm/models/SubscriptionPrice.d.ts +1 -1
  158. package/dist/esm/models/SubscriptionPrice.js +1 -1
  159. package/dist/esm/models/SubscriptionQuota.d.ts +10 -4
  160. package/dist/esm/models/SubscriptionQuota.js +8 -4
  161. package/dist/esm/models/SubscriptionTier.d.ts +53 -0
  162. package/dist/esm/models/SubscriptionTier.js +55 -0
  163. package/dist/esm/models/SubscriptionUpgradeRequest.d.ts +32 -0
  164. package/dist/esm/models/SubscriptionUpgradeRequest.js +43 -0
  165. package/dist/esm/models/SubscriptionUsage.d.ts +28 -3
  166. package/dist/esm/models/SubscriptionUsage.js +15 -4
  167. package/dist/esm/models/Tool.d.ts +46 -0
  168. package/dist/esm/models/Tool.js +56 -0
  169. package/dist/esm/models/ToolCall.d.ts +60 -0
  170. package/dist/esm/models/ToolCall.js +56 -0
  171. package/dist/esm/models/ToolCallFunction.d.ts +39 -0
  172. package/dist/esm/models/ToolCallFunction.js +47 -0
  173. package/dist/esm/models/ToolChoiceFunction.d.ts +46 -0
  174. package/dist/esm/models/ToolChoiceFunction.js +56 -0
  175. package/dist/esm/models/ToolChoiceFunctionFunction.d.ts +32 -0
  176. package/dist/esm/models/ToolChoiceFunctionFunction.js +43 -0
  177. package/dist/esm/models/ToolFunction.d.ts +47 -0
  178. package/dist/esm/models/ToolFunction.js +47 -0
  179. package/dist/esm/models/UpdateSpendingLimitRequest.d.ts +1 -1
  180. package/dist/esm/models/UpdateSpendingLimitRequest.js +1 -1
  181. package/dist/esm/models/Usage.d.ts +29 -1
  182. package/dist/esm/models/Usage.js +12 -1
  183. package/dist/esm/models/UsageBucket.d.ts +1 -1
  184. package/dist/esm/models/UsageBucket.js +1 -1
  185. package/dist/esm/models/UsageCompletionTokensDetails.d.ts +32 -0
  186. package/dist/esm/models/UsageCompletionTokensDetails.js +41 -0
  187. package/dist/esm/models/UsagePage.d.ts +1 -1
  188. package/dist/esm/models/UsagePage.js +1 -1
  189. package/dist/esm/models/UsagePromptTokensDetails.d.ts +33 -0
  190. package/dist/esm/models/UsagePromptTokensDetails.js +41 -0
  191. package/dist/esm/models/VideoCreateRequest.d.ts +1 -1
  192. package/dist/esm/models/VideoCreateRequest.js +1 -1
  193. package/dist/esm/models/VideoJob.d.ts +1 -1
  194. package/dist/esm/models/VideoJob.js +1 -1
  195. package/dist/esm/models/VideoList.d.ts +1 -1
  196. package/dist/esm/models/VideoList.js +1 -1
  197. package/dist/esm/models/WebhookEndpoint.d.ts +5 -1
  198. package/dist/esm/models/WebhookEndpoint.js +6 -2
  199. package/dist/esm/models/WebhookEndpointPage.d.ts +1 -1
  200. package/dist/esm/models/WebhookEndpointPage.js +1 -1
  201. package/dist/esm/models/index.d.ts +30 -0
  202. package/dist/esm/models/index.js +30 -0
  203. package/dist/esm/runtime.d.ts +1 -1
  204. package/dist/esm/runtime.js +2 -2
  205. package/dist/models/AlertEmailToggles.d.ts +50 -0
  206. package/dist/models/AlertEmailToggles.js +62 -0
  207. package/dist/models/AlertSettings.d.ts +51 -0
  208. package/dist/models/AlertSettings.js +63 -0
  209. package/dist/models/AlertSettingsUpdate.d.ts +39 -0
  210. package/dist/models/AlertSettingsUpdate.js +55 -0
  211. package/dist/models/ApiKey.d.ts +123 -0
  212. package/dist/models/ApiKey.js +103 -0
  213. package/dist/models/ApiKeyCreate.d.ts +70 -0
  214. package/dist/models/ApiKeyCreate.js +64 -0
  215. package/dist/models/ApiKeyCreated.d.ts +129 -0
  216. package/dist/models/ApiKeyCreated.js +107 -0
  217. package/dist/models/ApiKeyList.d.ts +33 -0
  218. package/dist/models/ApiKeyList.js +51 -0
  219. package/dist/models/ApiKeyScopes.d.ts +65 -0
  220. package/dist/models/ApiKeyScopes.js +74 -0
  221. package/dist/models/ApiKeyUpdate.d.ts +62 -0
  222. package/dist/models/ApiKeyUpdate.js +58 -0
  223. package/dist/models/Balance.d.ts +1 -1
  224. package/dist/models/Balance.js +1 -1
  225. package/dist/models/ChatChoice.d.ts +11 -1
  226. package/dist/models/ChatChoice.js +3 -1
  227. package/dist/models/ChatCompletionRequest.d.ts +78 -2
  228. package/dist/models/ChatCompletionRequest.js +26 -1
  229. package/dist/models/ChatCompletionRequestResponseFormat.d.ts +31 -0
  230. package/dist/models/ChatCompletionRequestResponseFormat.js +58 -0
  231. package/dist/models/ChatCompletionRequestToolChoice.d.ts +23 -0
  232. package/dist/models/ChatCompletionRequestToolChoice.js +56 -0
  233. package/dist/models/ChatCompletionResponse.d.ts +1 -1
  234. package/dist/models/ChatCompletionResponse.js +1 -1
  235. package/dist/models/ChatMessage.d.ts +22 -2
  236. package/dist/models/ChatMessage.js +10 -5
  237. package/dist/models/CostDetails.d.ts +59 -0
  238. package/dist/models/CostDetails.js +66 -0
  239. package/dist/models/CreateCryptoDepositRequest.d.ts +4 -1
  240. package/dist/models/CreateCryptoDepositRequest.js +4 -2
  241. package/dist/models/CreateWebhookEndpointRequest.d.ts +5 -1
  242. package/dist/models/CreateWebhookEndpointRequest.js +6 -2
  243. package/dist/models/CryptoDeposit.d.ts +3 -1
  244. package/dist/models/CryptoDeposit.js +4 -2
  245. package/dist/models/Embedding.d.ts +1 -1
  246. package/dist/models/Embedding.js +1 -1
  247. package/dist/models/EmbeddingsRequest.d.ts +1 -1
  248. package/dist/models/EmbeddingsRequest.js +1 -1
  249. package/dist/models/EmbeddingsRequestInput.d.ts +1 -1
  250. package/dist/models/EmbeddingsRequestInput.js +1 -1
  251. package/dist/models/EmbeddingsResponse.d.ts +1 -1
  252. package/dist/models/EmbeddingsResponse.js +1 -1
  253. package/dist/models/EmbeddingsUsage.d.ts +1 -1
  254. package/dist/models/EmbeddingsUsage.js +1 -1
  255. package/dist/models/GetHealth200Response.d.ts +1 -1
  256. package/dist/models/GetHealth200Response.js +1 -1
  257. package/dist/models/ImagesGenerationsRequest.d.ts +2 -2
  258. package/dist/models/ImagesGenerationsRequest.js +1 -1
  259. package/dist/models/ImagesResponse.d.ts +1 -1
  260. package/dist/models/ImagesResponse.js +1 -1
  261. package/dist/models/ImagesResponseDataInner.d.ts +1 -1
  262. package/dist/models/ImagesResponseDataInner.js +1 -1
  263. package/dist/models/ImagesResponseUsage.d.ts +1 -1
  264. package/dist/models/ImagesResponseUsage.js +1 -1
  265. package/dist/models/InferencePreflight.d.ts +5 -2
  266. package/dist/models/InferencePreflight.js +4 -1
  267. package/dist/models/JSONSchemaFormat.d.ts +54 -0
  268. package/dist/models/JSONSchemaFormat.js +56 -0
  269. package/dist/models/ListDeposits200Response.d.ts +1 -1
  270. package/dist/models/ListDeposits200Response.js +1 -1
  271. package/dist/models/Model.d.ts +54 -5
  272. package/dist/models/Model.js +21 -2
  273. package/dist/models/ModelList.d.ts +1 -1
  274. package/dist/models/ModelList.js +1 -1
  275. package/dist/models/ModelMetrics.d.ts +101 -0
  276. package/dist/models/ModelMetrics.js +93 -0
  277. package/dist/models/ModelParametersInner.d.ts +1 -1
  278. package/dist/models/ModelParametersInner.js +1 -1
  279. package/dist/models/ModelPricing.d.ts +1 -1
  280. package/dist/models/ModelPricing.js +1 -1
  281. package/dist/models/ModelRate.d.ts +1 -1
  282. package/dist/models/ModelRate.js +1 -1
  283. package/dist/models/OpenAIErrorEnvelope.d.ts +1 -1
  284. package/dist/models/OpenAIErrorEnvelope.js +1 -1
  285. package/dist/models/OpenAIErrorEnvelopeError.d.ts +8 -2
  286. package/dist/models/OpenAIErrorEnvelopeError.js +3 -1
  287. package/dist/models/PeakWindow.d.ts +1 -1
  288. package/dist/models/PeakWindow.js +1 -1
  289. package/dist/models/Problem.d.ts +22 -1
  290. package/dist/models/Problem.js +14 -1
  291. package/dist/models/RefereeStatus.d.ts +1 -1
  292. package/dist/models/RefereeStatus.js +1 -1
  293. package/dist/models/Referral.d.ts +14 -2
  294. package/dist/models/Referral.js +9 -1
  295. package/dist/models/RequestLogEntry.d.ts +210 -0
  296. package/dist/models/RequestLogEntry.js +137 -0
  297. package/dist/models/RequestLogPage.d.ts +45 -0
  298. package/dist/models/RequestLogPage.js +59 -0
  299. package/dist/models/ResponseFormatJSONObject.d.ts +39 -0
  300. package/dist/models/ResponseFormatJSONObject.js +59 -0
  301. package/dist/models/ResponseFormatJSONSchema.d.ts +46 -0
  302. package/dist/models/ResponseFormatJSONSchema.js +64 -0
  303. package/dist/models/ResponseFormatText.d.ts +39 -0
  304. package/dist/models/ResponseFormatText.js +59 -0
  305. package/dist/models/SpendingLimit.d.ts +1 -1
  306. package/dist/models/SpendingLimit.js +1 -1
  307. package/dist/models/StreamOptions.d.ts +1 -1
  308. package/dist/models/StreamOptions.js +1 -1
  309. package/dist/models/Subscription.d.ts +9 -2
  310. package/dist/models/Subscription.js +6 -1
  311. package/dist/models/SubscriptionCheckoutRequest.d.ts +18 -4
  312. package/dist/models/SubscriptionCheckoutRequest.js +11 -1
  313. package/dist/models/SubscriptionCheckoutSession.d.ts +21 -1
  314. package/dist/models/SubscriptionCheckoutSession.js +13 -1
  315. package/dist/models/SubscriptionModelUsage.d.ts +68 -0
  316. package/dist/models/SubscriptionModelUsage.js +74 -0
  317. package/dist/models/SubscriptionPlan.d.ts +4 -4
  318. package/dist/models/SubscriptionPlan.js +1 -1
  319. package/dist/models/SubscriptionPortalRequest.d.ts +1 -1
  320. package/dist/models/SubscriptionPortalRequest.js +1 -1
  321. package/dist/models/SubscriptionPortalSession.d.ts +1 -1
  322. package/dist/models/SubscriptionPortalSession.js +1 -1
  323. package/dist/models/SubscriptionPrice.d.ts +1 -1
  324. package/dist/models/SubscriptionPrice.js +1 -1
  325. package/dist/models/SubscriptionQuota.d.ts +10 -4
  326. package/dist/models/SubscriptionQuota.js +8 -4
  327. package/dist/models/SubscriptionTier.d.ts +53 -0
  328. package/dist/models/SubscriptionTier.js +62 -0
  329. package/dist/models/SubscriptionUpgradeRequest.d.ts +32 -0
  330. package/dist/models/SubscriptionUpgradeRequest.js +50 -0
  331. package/dist/models/SubscriptionUsage.d.ts +28 -3
  332. package/dist/models/SubscriptionUsage.js +15 -4
  333. package/dist/models/Tool.d.ts +46 -0
  334. package/dist/models/Tool.js +64 -0
  335. package/dist/models/ToolCall.d.ts +60 -0
  336. package/dist/models/ToolCall.js +64 -0
  337. package/dist/models/ToolCallFunction.d.ts +39 -0
  338. package/dist/models/ToolCallFunction.js +54 -0
  339. package/dist/models/ToolChoiceFunction.d.ts +46 -0
  340. package/dist/models/ToolChoiceFunction.js +64 -0
  341. package/dist/models/ToolChoiceFunctionFunction.d.ts +32 -0
  342. package/dist/models/ToolChoiceFunctionFunction.js +50 -0
  343. package/dist/models/ToolFunction.d.ts +47 -0
  344. package/dist/models/ToolFunction.js +54 -0
  345. package/dist/models/UpdateSpendingLimitRequest.d.ts +1 -1
  346. package/dist/models/UpdateSpendingLimitRequest.js +1 -1
  347. package/dist/models/Usage.d.ts +29 -1
  348. package/dist/models/Usage.js +12 -1
  349. package/dist/models/UsageBucket.d.ts +1 -1
  350. package/dist/models/UsageBucket.js +1 -1
  351. package/dist/models/UsageCompletionTokensDetails.d.ts +32 -0
  352. package/dist/models/UsageCompletionTokensDetails.js +48 -0
  353. package/dist/models/UsagePage.d.ts +1 -1
  354. package/dist/models/UsagePage.js +1 -1
  355. package/dist/models/UsagePromptTokensDetails.d.ts +33 -0
  356. package/dist/models/UsagePromptTokensDetails.js +48 -0
  357. package/dist/models/VideoCreateRequest.d.ts +1 -1
  358. package/dist/models/VideoCreateRequest.js +1 -1
  359. package/dist/models/VideoJob.d.ts +1 -1
  360. package/dist/models/VideoJob.js +1 -1
  361. package/dist/models/VideoList.d.ts +1 -1
  362. package/dist/models/VideoList.js +1 -1
  363. package/dist/models/WebhookEndpoint.d.ts +5 -1
  364. package/dist/models/WebhookEndpoint.js +6 -2
  365. package/dist/models/WebhookEndpointPage.d.ts +1 -1
  366. package/dist/models/WebhookEndpointPage.js +1 -1
  367. package/dist/models/index.d.ts +30 -0
  368. package/dist/models/index.js +30 -0
  369. package/dist/runtime.d.ts +1 -1
  370. package/dist/runtime.js +2 -2
  371. package/docs/AlertEmailToggles.md +40 -0
  372. package/docs/AlertSettings.md +40 -0
  373. package/docs/AlertSettingsUpdate.md +36 -0
  374. package/docs/AlertsApi.md +151 -0
  375. package/docs/ApiKey.md +65 -0
  376. package/docs/ApiKeyCreate.md +46 -0
  377. package/docs/ApiKeyCreated.md +67 -0
  378. package/docs/ApiKeyList.md +34 -0
  379. package/docs/ApiKeyScopes.md +38 -0
  380. package/docs/ApiKeyUpdate.md +45 -0
  381. package/docs/ApiKeysApi.md +389 -0
  382. package/docs/BillingApi.md +83 -3
  383. package/docs/ChatChoice.md +2 -0
  384. package/docs/ChatCompletionRequest.md +22 -0
  385. package/docs/ChatCompletionRequestResponseFormat.md +37 -0
  386. package/docs/ChatCompletionRequestToolChoice.md +37 -0
  387. package/docs/ChatMessage.md +4 -0
  388. package/docs/CostDetails.md +43 -0
  389. package/docs/InferenceApi.md +94 -71
  390. package/docs/JSONSchemaFormat.md +41 -0
  391. package/docs/Model.md +16 -0
  392. package/docs/ModelMetrics.md +55 -0
  393. package/docs/OpenAIErrorEnvelopeError.md +2 -0
  394. package/docs/Problem.md +4 -0
  395. package/docs/Referral.md +6 -2
  396. package/docs/RequestLogEntry.md +87 -0
  397. package/docs/RequestLogPage.md +38 -0
  398. package/docs/RequestsApi.md +282 -0
  399. package/docs/ResponseFormatJSONObject.md +35 -0
  400. package/docs/ResponseFormatJSONSchema.md +36 -0
  401. package/docs/ResponseFormatText.md +34 -0
  402. package/docs/Subscription.md +3 -1
  403. package/docs/SubscriptionCheckoutRequest.md +2 -0
  404. package/docs/SubscriptionCheckoutSession.md +4 -0
  405. package/docs/SubscriptionModelUsage.md +47 -0
  406. package/docs/SubscriptionPlan.md +1 -1
  407. package/docs/SubscriptionQuota.md +5 -3
  408. package/docs/SubscriptionTier.md +41 -0
  409. package/docs/SubscriptionUpgradeRequest.md +34 -0
  410. package/docs/SubscriptionUsage.md +10 -2
  411. package/docs/Tool.md +36 -0
  412. package/docs/ToolCall.md +41 -0
  413. package/docs/ToolCallFunction.md +36 -0
  414. package/docs/ToolChoiceFunction.md +36 -0
  415. package/docs/ToolChoiceFunctionFunction.md +34 -0
  416. package/docs/ToolFunction.md +38 -0
  417. package/docs/Usage.md +8 -0
  418. package/docs/UsageCompletionTokensDetails.md +34 -0
  419. package/docs/UsagePromptTokensDetails.md +35 -0
  420. package/package.json +1 -1
  421. package/src/apis/AlertsApi.ts +145 -0
  422. package/src/apis/ApiKeysApi.ts +357 -0
  423. package/src/apis/BillingApi.ts +73 -7
  424. package/src/apis/InferenceApi.ts +32 -1
  425. package/src/apis/MetaApi.ts +1 -1
  426. package/src/apis/RequestsApi.ts +335 -0
  427. package/src/apis/UsageApi.ts +1 -1
  428. package/src/apis/WebhooksApi.ts +1 -1
  429. package/src/apis/index.ts +3 -0
  430. package/src/models/AlertEmailToggles.ts +93 -0
  431. package/src/models/AlertSettings.ts +101 -0
  432. package/src/models/AlertSettingsUpdate.ts +83 -0
  433. package/src/models/ApiKey.ts +205 -0
  434. package/src/models/ApiKeyCreate.ts +115 -0
  435. package/src/models/ApiKeyCreated.ts +214 -0
  436. package/src/models/ApiKeyList.ts +74 -0
  437. package/src/models/ApiKeyScopes.ts +106 -0
  438. package/src/models/ApiKeyUpdate.ts +105 -0
  439. package/src/models/Balance.ts +1 -1
  440. package/src/models/ChatChoice.ts +11 -1
  441. package/src/models/ChatCompletionRequest.ts +118 -2
  442. package/src/models/ChatCompletionRequestResponseFormat.ts +84 -0
  443. package/src/models/ChatCompletionRequestToolChoice.ts +70 -0
  444. package/src/models/ChatCompletionResponse.ts +1 -1
  445. package/src/models/ChatMessage.ts +35 -5
  446. package/src/models/CostDetails.ts +105 -0
  447. package/src/models/CreateCryptoDepositRequest.ts +5 -2
  448. package/src/models/CreateWebhookEndpointRequest.ts +6 -2
  449. package/src/models/CryptoDeposit.ts +4 -2
  450. package/src/models/Embedding.ts +1 -1
  451. package/src/models/EmbeddingsRequest.ts +1 -1
  452. package/src/models/EmbeddingsRequestInput.ts +1 -1
  453. package/src/models/EmbeddingsResponse.ts +1 -1
  454. package/src/models/EmbeddingsUsage.ts +1 -1
  455. package/src/models/GetHealth200Response.ts +1 -1
  456. package/src/models/ImagesGenerationsRequest.ts +2 -2
  457. package/src/models/ImagesResponse.ts +1 -1
  458. package/src/models/ImagesResponseDataInner.ts +1 -1
  459. package/src/models/ImagesResponseUsage.ts +1 -1
  460. package/src/models/InferencePreflight.ts +5 -2
  461. package/src/models/JSONSchemaFormat.ts +92 -0
  462. package/src/models/ListDeposits200Response.ts +1 -1
  463. package/src/models/Model.ts +78 -6
  464. package/src/models/ModelList.ts +1 -1
  465. package/src/models/ModelMetrics.ts +165 -0
  466. package/src/models/ModelParametersInner.ts +1 -1
  467. package/src/models/ModelPricing.ts +1 -1
  468. package/src/models/ModelRate.ts +1 -1
  469. package/src/models/OpenAIErrorEnvelope.ts +1 -1
  470. package/src/models/OpenAIErrorEnvelopeError.ts +10 -2
  471. package/src/models/PeakWindow.ts +1 -1
  472. package/src/models/Problem.ts +26 -1
  473. package/src/models/RefereeStatus.ts +1 -1
  474. package/src/models/Referral.ts +20 -2
  475. package/src/models/RequestLogEntry.ts +307 -0
  476. package/src/models/RequestLogPage.ts +92 -0
  477. package/src/models/ResponseFormatJSONObject.ts +78 -0
  478. package/src/models/ResponseFormatJSONSchema.ts +95 -0
  479. package/src/models/ResponseFormatText.ts +78 -0
  480. package/src/models/SpendingLimit.ts +1 -1
  481. package/src/models/StreamOptions.ts +1 -1
  482. package/src/models/Subscription.ts +18 -2
  483. package/src/models/SubscriptionCheckoutRequest.ts +23 -4
  484. package/src/models/SubscriptionCheckoutSession.ts +28 -1
  485. package/src/models/SubscriptionModelUsage.ts +120 -0
  486. package/src/models/SubscriptionPlan.ts +4 -4
  487. package/src/models/SubscriptionPortalRequest.ts +1 -1
  488. package/src/models/SubscriptionPortalSession.ts +1 -1
  489. package/src/models/SubscriptionPrice.ts +1 -1
  490. package/src/models/SubscriptionQuota.ts +16 -7
  491. package/src/models/SubscriptionTier.ts +108 -0
  492. package/src/models/SubscriptionUpgradeRequest.ts +66 -0
  493. package/src/models/SubscriptionUsage.ts +47 -6
  494. package/src/models/Tool.ts +95 -0
  495. package/src/models/ToolCall.ts +110 -0
  496. package/src/models/ToolCallFunction.ts +76 -0
  497. package/src/models/ToolChoiceFunction.ts +95 -0
  498. package/src/models/ToolChoiceFunctionFunction.ts +66 -0
  499. package/src/models/ToolFunction.ts +83 -0
  500. package/src/models/UpdateSpendingLimitRequest.ts +1 -1
  501. package/src/models/Usage.ts +56 -1
  502. package/src/models/UsageBucket.ts +1 -1
  503. package/src/models/UsageCompletionTokensDetails.ts +65 -0
  504. package/src/models/UsagePage.ts +1 -1
  505. package/src/models/UsagePromptTokensDetails.ts +66 -0
  506. package/src/models/VideoCreateRequest.ts +1 -1
  507. package/src/models/VideoJob.ts +1 -1
  508. package/src/models/VideoList.ts +1 -1
  509. package/src/models/WebhookEndpoint.ts +6 -2
  510. package/src/models/WebhookEndpointPage.ts +1 -1
  511. package/src/models/index.ts +30 -0
  512. package/src/runtime.ts +2 -2
@@ -2,7 +2,7 @@
2
2
  /* eslint-disable */
3
3
  /**
4
4
  * deeprelay Public Developer API
5
- * Programmatic API for deeprelay. Authenticate with API keys minted from the dashboard. See https://deeprelay.ai/docs for details.
5
+ * Programmatic API for deeprelay. Authenticate with API keys minted from the dashboard. See https://deeprelay.ai/docs for details. Keys minted from the dashboard or `deeprelay login` belong to the Production server, https://api.deeprelay.ai/v1. The Demo server is an internal staging environment with its own key store. Versioning: `/v1` is the API version. `info.version` is the revision of this `/v1` document, not a separate API. OpenAI compatibility: chat completions follow the OpenAI request and response shapes, but not every OpenAI parameter is carried. Some are rejected with 400 `unsupported_parameter` and any parameter not declared in this spec is accepted and ignored. The full table is at https://deeprelay.ai/docs/api/inference#openai-compatibility.
6
6
  *
7
7
  * The version of the OpenAPI document: 1.0.0
8
8
  * Contact: support@deeprelay.ai
@@ -85,20 +85,24 @@ export interface CancelVideoRequest {
85
85
 
86
86
  export interface CreateChatCompletionRequest {
87
87
  chatCompletionRequest: ChatCompletionRequest;
88
+ xClientRequestId?: string;
88
89
  }
89
90
 
90
91
  export interface CreateEmbeddingsRequest {
91
92
  embeddingsRequest: EmbeddingsRequest;
93
+ xClientRequestId?: string;
92
94
  }
93
95
 
94
96
  export interface CreateImageRequest {
95
97
  imagesGenerationsRequest: ImagesGenerationsRequest;
96
98
  idempotencyKey?: string;
99
+ xClientRequestId?: string;
97
100
  }
98
101
 
99
102
  export interface CreateVideoRequest {
100
103
  videoCreateRequest: VideoCreateRequest;
101
104
  idempotencyKey?: string;
105
+ xClientRequestId?: string;
102
106
  }
103
107
 
104
108
  export interface GetModelRequest {
@@ -119,6 +123,7 @@ export interface InferencePreflightRequest {
119
123
 
120
124
  export interface ListModelsRequest {
121
125
  modality?: ListModelsModalityEnum;
126
+ ifNoneMatch?: string;
122
127
  }
123
128
 
124
129
  export interface ListVideosRequest {
@@ -201,6 +206,10 @@ export class InferenceApi extends runtime.BaseAPI {
201
206
 
202
207
  headerParameters['Content-Type'] = 'application/json';
203
208
 
209
+ if (requestParameters['xClientRequestId'] != null) {
210
+ headerParameters['X-Client-Request-Id'] = String(requestParameters['xClientRequestId']);
211
+ }
212
+
204
213
  if (this.configuration && this.configuration.accessToken) {
205
214
  const token = this.configuration.accessToken;
206
215
  const tokenString = await token("bearerAuth", []);
@@ -222,6 +231,7 @@ export class InferenceApi extends runtime.BaseAPI {
222
231
  }
223
232
 
224
233
  /**
234
+ * OpenAI-compatible chat completion. Parameters fall into three groups: - **Semantic parameters are gated per model.** `response_format`, `tools`/`tool_choice`, `logprobs`/`top_logprobs` and `image_url` content parts are sent only to a model whose `/v1/models` entry lists the capability in `supported_parameters` (`vision` for images). A model without it returns 400 `unsupported_parameter` whose message names the models that do support it. When the model supports the parameter but none of its currently routable upstreams does, the request fails with 503 `upstream_unavailable` rather than being silently degraded. - **Hints are forwarded or dropped, never rejected.** `reasoning_effort`, `presence_penalty`, `frequency_penalty`, `seed` and `parallel_tool_calls` are forwarded to an upstream that accepts them and otherwise dropped. Every drop is reported in the `x-deeprelay-ignored-params` response header. - **Rejected everywhere.** `logit_bias` and `function_call` return 400 `unsupported_parameter`; `input_audio` and `file` content parts return 400 `unsupported_content_part`. A non-strict `json_schema` sent to a model that can only guarantee JSON is served as `json_object` and reported as `response_format:downgraded`; a strict one is rejected. A `json_schema` over 64 KiB or nested deeper than 32 levels returns 400 `unsupported_parameter` (param `response_format`). An upstream rejection of a request the relay accepted returns 400 `upstream_rejected_request`. A non-chat model id returns 404 `model_not_found`. The request body is capped at 32 MiB (413 `request_too_large`). Every successful response carries `usage.cost` and `usage.cost_details` (on a stream, only in the final usage chunk). See https://deeprelay.ai/docs/api/inference#openai-compatibility.
225
235
  * Create a chat completion (OpenAI-compatible)
226
236
  */
227
237
  async createChatCompletionRaw(requestParameters: CreateChatCompletionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ChatCompletionResponse>> {
@@ -232,6 +242,7 @@ export class InferenceApi extends runtime.BaseAPI {
232
242
  }
233
243
 
234
244
  /**
245
+ * OpenAI-compatible chat completion. Parameters fall into three groups: - **Semantic parameters are gated per model.** `response_format`, `tools`/`tool_choice`, `logprobs`/`top_logprobs` and `image_url` content parts are sent only to a model whose `/v1/models` entry lists the capability in `supported_parameters` (`vision` for images). A model without it returns 400 `unsupported_parameter` whose message names the models that do support it. When the model supports the parameter but none of its currently routable upstreams does, the request fails with 503 `upstream_unavailable` rather than being silently degraded. - **Hints are forwarded or dropped, never rejected.** `reasoning_effort`, `presence_penalty`, `frequency_penalty`, `seed` and `parallel_tool_calls` are forwarded to an upstream that accepts them and otherwise dropped. Every drop is reported in the `x-deeprelay-ignored-params` response header. - **Rejected everywhere.** `logit_bias` and `function_call` return 400 `unsupported_parameter`; `input_audio` and `file` content parts return 400 `unsupported_content_part`. A non-strict `json_schema` sent to a model that can only guarantee JSON is served as `json_object` and reported as `response_format:downgraded`; a strict one is rejected. A `json_schema` over 64 KiB or nested deeper than 32 levels returns 400 `unsupported_parameter` (param `response_format`). An upstream rejection of a request the relay accepted returns 400 `upstream_rejected_request`. A non-chat model id returns 404 `model_not_found`. The request body is capped at 32 MiB (413 `request_too_large`). Every successful response carries `usage.cost` and `usage.cost_details` (on a stream, only in the final usage chunk). See https://deeprelay.ai/docs/api/inference#openai-compatibility.
235
246
  * Create a chat completion (OpenAI-compatible)
236
247
  */
237
248
  async createChatCompletion(requestParameters: CreateChatCompletionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ChatCompletionResponse> {
@@ -256,6 +267,10 @@ export class InferenceApi extends runtime.BaseAPI {
256
267
 
257
268
  headerParameters['Content-Type'] = 'application/json';
258
269
 
270
+ if (requestParameters['xClientRequestId'] != null) {
271
+ headerParameters['X-Client-Request-Id'] = String(requestParameters['xClientRequestId']);
272
+ }
273
+
259
274
  if (this.configuration && this.configuration.accessToken) {
260
275
  const token = this.configuration.accessToken;
261
276
  const tokenString = await token("bearerAuth", []);
@@ -317,6 +332,10 @@ export class InferenceApi extends runtime.BaseAPI {
317
332
  headerParameters['Idempotency-Key'] = String(requestParameters['idempotencyKey']);
318
333
  }
319
334
 
335
+ if (requestParameters['xClientRequestId'] != null) {
336
+ headerParameters['X-Client-Request-Id'] = String(requestParameters['xClientRequestId']);
337
+ }
338
+
320
339
  if (this.configuration && this.configuration.accessToken) {
321
340
  const token = this.configuration.accessToken;
322
341
  const tokenString = await token("bearerAuth", []);
@@ -378,6 +397,10 @@ export class InferenceApi extends runtime.BaseAPI {
378
397
  headerParameters['Idempotency-Key'] = String(requestParameters['idempotencyKey']);
379
398
  }
380
399
 
400
+ if (requestParameters['xClientRequestId'] != null) {
401
+ headerParameters['X-Client-Request-Id'] = String(requestParameters['xClientRequestId']);
402
+ }
403
+
381
404
  if (this.configuration && this.configuration.accessToken) {
382
405
  const token = this.configuration.accessToken;
383
406
  const tokenString = await token("bearerAuth", []);
@@ -454,6 +477,7 @@ export class InferenceApi extends runtime.BaseAPI {
454
477
  }
455
478
 
456
479
  /**
480
+ * A key with a model allowlist gets 403 `model_not_allowed_for_key` for a model off its list, and the same 403 for an id that does not exist.
457
481
  * Get a specific model (OpenAI-compatible)
458
482
  */
459
483
  async getModelRaw(requestParameters: GetModelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Model>> {
@@ -464,6 +488,7 @@ export class InferenceApi extends runtime.BaseAPI {
464
488
  }
465
489
 
466
490
  /**
491
+ * A key with a model allowlist gets 403 `model_not_allowed_for_key` for a model off its list, and the same 403 for an id that does not exist.
467
492
  * Get a specific model (OpenAI-compatible)
468
493
  */
469
494
  async getModel(requestParameters: GetModelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Model> {
@@ -649,6 +674,10 @@ export class InferenceApi extends runtime.BaseAPI {
649
674
 
650
675
  const headerParameters: runtime.HTTPHeaders = {};
651
676
 
677
+ if (requestParameters['ifNoneMatch'] != null) {
678
+ headerParameters['If-None-Match'] = String(requestParameters['ifNoneMatch']);
679
+ }
680
+
652
681
  if (this.configuration && this.configuration.accessToken) {
653
682
  const token = this.configuration.accessToken;
654
683
  const tokenString = await token("bearerAuth", []);
@@ -669,6 +698,7 @@ export class InferenceApi extends runtime.BaseAPI {
669
698
  }
670
699
 
671
700
  /**
701
+ * Works with or without an API key, and returns the same body either way. Without a key the response is publicly cacheable (`Cache-Control: public, max-age=60`), carries a strong `ETag` (send `If-None-Match` to get a 304), and is rate-limited per client IP (429 `rate_limit_exceeded` with Retry-After). With a key it is `Cache-Control: private` and counts against the key\'s rate limit; an invalid key returns 401, it does not fall back to anonymous access. Error responses are `no-store`. Each entry\'s `supported_parameters` is backed by live capability probes of the model\'s upstreams: it is the list to check before sending a gated parameter (`response_format`, `structured_outputs`, `logprobs`, `tools`, `vision`, ...). One exception to \"the same body\": a key with a model allowlist (`allowed_models`) sees only the models on its list. Each entry may carry a `metrics` object (always the last key): measured time to first token, decode rate and success rate over a rolling window of deeprelay customer traffic. Below the sample minimum `insufficient_data` is true and the figure is omitted, never zero.
672
702
  * List available models (OpenAI-compatible)
673
703
  */
674
704
  async listModelsRaw(requestParameters: ListModelsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ModelList>> {
@@ -679,6 +709,7 @@ export class InferenceApi extends runtime.BaseAPI {
679
709
  }
680
710
 
681
711
  /**
712
+ * Works with or without an API key, and returns the same body either way. Without a key the response is publicly cacheable (`Cache-Control: public, max-age=60`), carries a strong `ETag` (send `If-None-Match` to get a 304), and is rate-limited per client IP (429 `rate_limit_exceeded` with Retry-After). With a key it is `Cache-Control: private` and counts against the key\'s rate limit; an invalid key returns 401, it does not fall back to anonymous access. Error responses are `no-store`. Each entry\'s `supported_parameters` is backed by live capability probes of the model\'s upstreams: it is the list to check before sending a gated parameter (`response_format`, `structured_outputs`, `logprobs`, `tools`, `vision`, ...). One exception to \"the same body\": a key with a model allowlist (`allowed_models`) sees only the models on its list. Each entry may carry a `metrics` object (always the last key): measured time to first token, decode rate and success rate over a rolling window of deeprelay customer traffic. Below the sample minimum `insufficient_data` is true and the figure is omitted, never zero.
682
713
  * List available models (OpenAI-compatible)
683
714
  */
684
715
  async listModels(requestParameters: ListModelsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ModelList> {
@@ -2,7 +2,7 @@
2
2
  /* eslint-disable */
3
3
  /**
4
4
  * deeprelay Public Developer API
5
- * Programmatic API for deeprelay. Authenticate with API keys minted from the dashboard. See https://deeprelay.ai/docs for details.
5
+ * Programmatic API for deeprelay. Authenticate with API keys minted from the dashboard. See https://deeprelay.ai/docs for details. Keys minted from the dashboard or `deeprelay login` belong to the Production server, https://api.deeprelay.ai/v1. The Demo server is an internal staging environment with its own key store. Versioning: `/v1` is the API version. `info.version` is the revision of this `/v1` document, not a separate API. OpenAI compatibility: chat completions follow the OpenAI request and response shapes, but not every OpenAI parameter is carried. Some are rejected with 400 `unsupported_parameter` and any parameter not declared in this spec is accepted and ignored. The full table is at https://deeprelay.ai/docs/api/inference#openai-compatibility.
6
6
  *
7
7
  * The version of the OpenAPI document: 1.0.0
8
8
  * Contact: support@deeprelay.ai
@@ -0,0 +1,335 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * deeprelay Public Developer API
5
+ * Programmatic API for deeprelay. Authenticate with API keys minted from the dashboard. See https://deeprelay.ai/docs for details. Keys minted from the dashboard or `deeprelay login` belong to the Production server, https://api.deeprelay.ai/v1. The Demo server is an internal staging environment with its own key store. Versioning: `/v1` is the API version. `info.version` is the revision of this `/v1` document, not a separate API. OpenAI compatibility: chat completions follow the OpenAI request and response shapes, but not every OpenAI parameter is carried. Some are rejected with 400 `unsupported_parameter` and any parameter not declared in this spec is accepted and ignored. The full table is at https://deeprelay.ai/docs/api/inference#openai-compatibility.
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ * Contact: support@deeprelay.ai
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import * as runtime from '../runtime';
16
+ import {
17
+ type Problem,
18
+ ProblemFromJSON,
19
+ ProblemToJSON,
20
+ } from '../models/Problem';
21
+ import {
22
+ type RequestLogEntry,
23
+ RequestLogEntryFromJSON,
24
+ RequestLogEntryToJSON,
25
+ } from '../models/RequestLogEntry';
26
+ import {
27
+ type RequestLogPage,
28
+ RequestLogPageFromJSON,
29
+ RequestLogPageToJSON,
30
+ } from '../models/RequestLogPage';
31
+
32
+ export interface ExportRequestsRequest {
33
+ key?: string;
34
+ model?: string;
35
+ surface?: ExportRequestsSurfaceEnum;
36
+ status?: ExportRequestsStatusEnum;
37
+ errorCode?: string;
38
+ clientRequestId?: string;
39
+ from?: Date;
40
+ to?: Date;
41
+ }
42
+
43
+ export interface GetRequestRequest {
44
+ id: string;
45
+ }
46
+
47
+ export interface ListRequestsRequest {
48
+ key?: string;
49
+ model?: string;
50
+ surface?: ListRequestsSurfaceEnum;
51
+ status?: ListRequestsStatusEnum;
52
+ errorCode?: string;
53
+ clientRequestId?: string;
54
+ from?: Date;
55
+ to?: Date;
56
+ cursor?: string;
57
+ limit?: number;
58
+ }
59
+
60
+ /**
61
+ *
62
+ */
63
+ export class RequestsApi extends runtime.BaseAPI {
64
+
65
+ /**
66
+ * Creates request options for exportRequests without sending the request
67
+ */
68
+ async exportRequestsRequestOpts(requestParameters: ExportRequestsRequest): Promise<runtime.RequestOpts> {
69
+ const queryParameters: any = {};
70
+
71
+ if (requestParameters['key'] != null) {
72
+ queryParameters['key'] = requestParameters['key'];
73
+ }
74
+
75
+ if (requestParameters['model'] != null) {
76
+ queryParameters['model'] = requestParameters['model'];
77
+ }
78
+
79
+ if (requestParameters['surface'] != null) {
80
+ queryParameters['surface'] = requestParameters['surface'];
81
+ }
82
+
83
+ if (requestParameters['status'] != null) {
84
+ queryParameters['status'] = requestParameters['status'];
85
+ }
86
+
87
+ if (requestParameters['errorCode'] != null) {
88
+ queryParameters['error_code'] = requestParameters['errorCode'];
89
+ }
90
+
91
+ if (requestParameters['clientRequestId'] != null) {
92
+ queryParameters['client_request_id'] = requestParameters['clientRequestId'];
93
+ }
94
+
95
+ if (requestParameters['from'] != null) {
96
+ queryParameters['from'] = (requestParameters['from'] as any).toISOString();
97
+ }
98
+
99
+ if (requestParameters['to'] != null) {
100
+ queryParameters['to'] = (requestParameters['to'] as any).toISOString();
101
+ }
102
+
103
+ const headerParameters: runtime.HTTPHeaders = {};
104
+
105
+ if (this.configuration && this.configuration.accessToken) {
106
+ const token = this.configuration.accessToken;
107
+ const tokenString = await token("bearerAuth", []);
108
+
109
+ if (tokenString) {
110
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
111
+ }
112
+ }
113
+
114
+ let urlPath = `/requests/export`;
115
+
116
+ return {
117
+ path: urlPath,
118
+ method: 'GET',
119
+ headers: headerParameters,
120
+ query: queryParameters,
121
+ };
122
+ }
123
+
124
+ /**
125
+ * Streams every request-log row matching the filters as a CSV attachment, oldest columns first: `request_id, client_request_id, occurred_at, surface, model, key_id, key_name, key_prefix, status, http_status, error_code, finish_reason, prompt_tokens, completion_tokens, cached_tokens, reasoning_tokens, quota_units, cost, plan_covered, ttft_ms, duration_ms, ignored_params`. Takes the same filters and visibility rules as `GET /requests`, without the cursor and limit. The export is counted before anything is written. When the filters match more rows than the export cap, the answer is 422 `export_too_large` and the problem body carries `max_rows`; narrow the time range or add a filter, then export again. Requires the `serverless:read` scope. Exports have their own, tighter per-key rate limit.
126
+ * Export the request log as CSV
127
+ */
128
+ async exportRequestsRaw(requestParameters: ExportRequestsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<string>> {
129
+ const requestOptions = await this.exportRequestsRequestOpts(requestParameters);
130
+ const response = await this.request(requestOptions, initOverrides);
131
+
132
+ if (this.isJsonMime(response.headers.get('content-type'))) {
133
+ return new runtime.JSONApiResponse<string>(response);
134
+ } else {
135
+ return new runtime.TextApiResponse(response) as any;
136
+ }
137
+ }
138
+
139
+ /**
140
+ * Streams every request-log row matching the filters as a CSV attachment, oldest columns first: `request_id, client_request_id, occurred_at, surface, model, key_id, key_name, key_prefix, status, http_status, error_code, finish_reason, prompt_tokens, completion_tokens, cached_tokens, reasoning_tokens, quota_units, cost, plan_covered, ttft_ms, duration_ms, ignored_params`. Takes the same filters and visibility rules as `GET /requests`, without the cursor and limit. The export is counted before anything is written. When the filters match more rows than the export cap, the answer is 422 `export_too_large` and the problem body carries `max_rows`; narrow the time range or add a filter, then export again. Requires the `serverless:read` scope. Exports have their own, tighter per-key rate limit.
141
+ * Export the request log as CSV
142
+ */
143
+ async exportRequests(requestParameters: ExportRequestsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<string> {
144
+ const response = await this.exportRequestsRaw(requestParameters, initOverrides);
145
+ return await response.value();
146
+ }
147
+
148
+ /**
149
+ * Creates request options for getRequest without sending the request
150
+ */
151
+ async getRequestRequestOpts(requestParameters: GetRequestRequest): Promise<runtime.RequestOpts> {
152
+ if (requestParameters['id'] == null) {
153
+ throw new runtime.RequiredError(
154
+ 'id',
155
+ 'Required parameter "id" was null or undefined when calling getRequest().'
156
+ );
157
+ }
158
+
159
+ const queryParameters: any = {};
160
+
161
+ const headerParameters: runtime.HTTPHeaders = {};
162
+
163
+ if (this.configuration && this.configuration.accessToken) {
164
+ const token = this.configuration.accessToken;
165
+ const tokenString = await token("bearerAuth", []);
166
+
167
+ if (tokenString) {
168
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
169
+ }
170
+ }
171
+
172
+ let urlPath = `/requests/{id}`;
173
+ urlPath = urlPath.replace('{id}', encodeURIComponent(String(requestParameters['id'])));
174
+
175
+ return {
176
+ path: urlPath,
177
+ method: 'GET',
178
+ headers: headerParameters,
179
+ query: queryParameters,
180
+ };
181
+ }
182
+
183
+ /**
184
+ * Returns one request-log row. An unknown id, an id older than 90 days and an id the caller cannot see all answer the same 404. Requires the `serverless:read` scope.
185
+ * Get one request
186
+ */
187
+ async getRequestRaw(requestParameters: GetRequestRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<RequestLogEntry>> {
188
+ const requestOptions = await this.getRequestRequestOpts(requestParameters);
189
+ const response = await this.request(requestOptions, initOverrides);
190
+
191
+ return new runtime.JSONApiResponse(response, (jsonValue) => RequestLogEntryFromJSON(jsonValue));
192
+ }
193
+
194
+ /**
195
+ * Returns one request-log row. An unknown id, an id older than 90 days and an id the caller cannot see all answer the same 404. Requires the `serverless:read` scope.
196
+ * Get one request
197
+ */
198
+ async getRequest(requestParameters: GetRequestRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<RequestLogEntry> {
199
+ const response = await this.getRequestRaw(requestParameters, initOverrides);
200
+ return await response.value();
201
+ }
202
+
203
+ /**
204
+ * Creates request options for listRequests without sending the request
205
+ */
206
+ async listRequestsRequestOpts(requestParameters: ListRequestsRequest): Promise<runtime.RequestOpts> {
207
+ const queryParameters: any = {};
208
+
209
+ if (requestParameters['key'] != null) {
210
+ queryParameters['key'] = requestParameters['key'];
211
+ }
212
+
213
+ if (requestParameters['model'] != null) {
214
+ queryParameters['model'] = requestParameters['model'];
215
+ }
216
+
217
+ if (requestParameters['surface'] != null) {
218
+ queryParameters['surface'] = requestParameters['surface'];
219
+ }
220
+
221
+ if (requestParameters['status'] != null) {
222
+ queryParameters['status'] = requestParameters['status'];
223
+ }
224
+
225
+ if (requestParameters['errorCode'] != null) {
226
+ queryParameters['error_code'] = requestParameters['errorCode'];
227
+ }
228
+
229
+ if (requestParameters['clientRequestId'] != null) {
230
+ queryParameters['client_request_id'] = requestParameters['clientRequestId'];
231
+ }
232
+
233
+ if (requestParameters['from'] != null) {
234
+ queryParameters['from'] = (requestParameters['from'] as any).toISOString();
235
+ }
236
+
237
+ if (requestParameters['to'] != null) {
238
+ queryParameters['to'] = (requestParameters['to'] as any).toISOString();
239
+ }
240
+
241
+ if (requestParameters['cursor'] != null) {
242
+ queryParameters['cursor'] = requestParameters['cursor'];
243
+ }
244
+
245
+ if (requestParameters['limit'] != null) {
246
+ queryParameters['limit'] = requestParameters['limit'];
247
+ }
248
+
249
+ const headerParameters: runtime.HTTPHeaders = {};
250
+
251
+ if (this.configuration && this.configuration.accessToken) {
252
+ const token = this.configuration.accessToken;
253
+ const tokenString = await token("bearerAuth", []);
254
+
255
+ if (tokenString) {
256
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
257
+ }
258
+ }
259
+
260
+ let urlPath = `/requests`;
261
+
262
+ return {
263
+ path: urlPath,
264
+ method: 'GET',
265
+ headers: headerParameters,
266
+ query: queryParameters,
267
+ };
268
+ }
269
+
270
+ /**
271
+ * Returns one newest-first page of the organization\'s inference request log: one row per call to chat completions, messages, responses, embeddings, image generation or video creation, including calls that were refused before they reached a model (`status: rejected`). Rows are kept for 90 days; `window_days` says how far back the log reaches, and a `from` older than that is clamped rather than rejected. Visibility follows the caller. An org admin\'s key and a `full_access` key see the whole organization; any other key sees only its own rows. A `key` filter naming a key the caller cannot see returns an empty page. A row never carries prompt or completion content. `client_request_id` is the value the caller sent in `X-Client-Request-Id` (or `metadata.client_request_id` on `/responses`), kept for correlation. Requires the `serverless:read` scope. Reads are rate-limited per key (429 `rate_limited` with Retry-After).
272
+ * List requests (the request log)
273
+ */
274
+ async listRequestsRaw(requestParameters: ListRequestsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<RequestLogPage>> {
275
+ const requestOptions = await this.listRequestsRequestOpts(requestParameters);
276
+ const response = await this.request(requestOptions, initOverrides);
277
+
278
+ return new runtime.JSONApiResponse(response, (jsonValue) => RequestLogPageFromJSON(jsonValue));
279
+ }
280
+
281
+ /**
282
+ * Returns one newest-first page of the organization\'s inference request log: one row per call to chat completions, messages, responses, embeddings, image generation or video creation, including calls that were refused before they reached a model (`status: rejected`). Rows are kept for 90 days; `window_days` says how far back the log reaches, and a `from` older than that is clamped rather than rejected. Visibility follows the caller. An org admin\'s key and a `full_access` key see the whole organization; any other key sees only its own rows. A `key` filter naming a key the caller cannot see returns an empty page. A row never carries prompt or completion content. `client_request_id` is the value the caller sent in `X-Client-Request-Id` (or `metadata.client_request_id` on `/responses`), kept for correlation. Requires the `serverless:read` scope. Reads are rate-limited per key (429 `rate_limited` with Retry-After).
283
+ * List requests (the request log)
284
+ */
285
+ async listRequests(requestParameters: ListRequestsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<RequestLogPage> {
286
+ const response = await this.listRequestsRaw(requestParameters, initOverrides);
287
+ return await response.value();
288
+ }
289
+
290
+ }
291
+
292
+ /**
293
+ * @export
294
+ */
295
+ export const ExportRequestsSurfaceEnum = {
296
+ Chat: 'chat',
297
+ Messages: 'messages',
298
+ Responses: 'responses',
299
+ Embeddings: 'embeddings',
300
+ Image: 'image',
301
+ Video: 'video'
302
+ } as const;
303
+ export type ExportRequestsSurfaceEnum = typeof ExportRequestsSurfaceEnum[keyof typeof ExportRequestsSurfaceEnum];
304
+ /**
305
+ * @export
306
+ */
307
+ export const ExportRequestsStatusEnum = {
308
+ Ok: 'ok',
309
+ Error: 'error',
310
+ Cancelled: 'cancelled',
311
+ Rejected: 'rejected'
312
+ } as const;
313
+ export type ExportRequestsStatusEnum = typeof ExportRequestsStatusEnum[keyof typeof ExportRequestsStatusEnum];
314
+ /**
315
+ * @export
316
+ */
317
+ export const ListRequestsSurfaceEnum = {
318
+ Chat: 'chat',
319
+ Messages: 'messages',
320
+ Responses: 'responses',
321
+ Embeddings: 'embeddings',
322
+ Image: 'image',
323
+ Video: 'video'
324
+ } as const;
325
+ export type ListRequestsSurfaceEnum = typeof ListRequestsSurfaceEnum[keyof typeof ListRequestsSurfaceEnum];
326
+ /**
327
+ * @export
328
+ */
329
+ export const ListRequestsStatusEnum = {
330
+ Ok: 'ok',
331
+ Error: 'error',
332
+ Cancelled: 'cancelled',
333
+ Rejected: 'rejected'
334
+ } as const;
335
+ export type ListRequestsStatusEnum = typeof ListRequestsStatusEnum[keyof typeof ListRequestsStatusEnum];
@@ -2,7 +2,7 @@
2
2
  /* eslint-disable */
3
3
  /**
4
4
  * deeprelay Public Developer API
5
- * Programmatic API for deeprelay. Authenticate with API keys minted from the dashboard. See https://deeprelay.ai/docs for details.
5
+ * Programmatic API for deeprelay. Authenticate with API keys minted from the dashboard. See https://deeprelay.ai/docs for details. Keys minted from the dashboard or `deeprelay login` belong to the Production server, https://api.deeprelay.ai/v1. The Demo server is an internal staging environment with its own key store. Versioning: `/v1` is the API version. `info.version` is the revision of this `/v1` document, not a separate API. OpenAI compatibility: chat completions follow the OpenAI request and response shapes, but not every OpenAI parameter is carried. Some are rejected with 400 `unsupported_parameter` and any parameter not declared in this spec is accepted and ignored. The full table is at https://deeprelay.ai/docs/api/inference#openai-compatibility.
6
6
  *
7
7
  * The version of the OpenAPI document: 1.0.0
8
8
  * Contact: support@deeprelay.ai
@@ -2,7 +2,7 @@
2
2
  /* eslint-disable */
3
3
  /**
4
4
  * deeprelay Public Developer API
5
- * Programmatic API for deeprelay. Authenticate with API keys minted from the dashboard. See https://deeprelay.ai/docs for details.
5
+ * Programmatic API for deeprelay. Authenticate with API keys minted from the dashboard. See https://deeprelay.ai/docs for details. Keys minted from the dashboard or `deeprelay login` belong to the Production server, https://api.deeprelay.ai/v1. The Demo server is an internal staging environment with its own key store. Versioning: `/v1` is the API version. `info.version` is the revision of this `/v1` document, not a separate API. OpenAI compatibility: chat completions follow the OpenAI request and response shapes, but not every OpenAI parameter is carried. Some are rejected with 400 `unsupported_parameter` and any parameter not declared in this spec is accepted and ignored. The full table is at https://deeprelay.ai/docs/api/inference#openai-compatibility.
6
6
  *
7
7
  * The version of the OpenAPI document: 1.0.0
8
8
  * Contact: support@deeprelay.ai
package/src/apis/index.ts CHANGED
@@ -1,7 +1,10 @@
1
1
  /* tslint:disable */
2
2
  /* eslint-disable */
3
+ export * from './AlertsApi';
4
+ export * from './ApiKeysApi';
3
5
  export * from './BillingApi';
4
6
  export * from './InferenceApi';
5
7
  export * from './MetaApi';
8
+ export * from './RequestsApi';
6
9
  export * from './UsageApi';
7
10
  export * from './WebhooksApi';
@@ -0,0 +1,93 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * deeprelay Public Developer API
5
+ * Programmatic API for deeprelay. Authenticate with API keys minted from the dashboard. See https://deeprelay.ai/docs for details. Keys minted from the dashboard or `deeprelay login` belong to the Production server, https://api.deeprelay.ai/v1. The Demo server is an internal staging environment with its own key store. Versioning: `/v1` is the API version. `info.version` is the revision of this `/v1` document, not a separate API. OpenAI compatibility: chat completions follow the OpenAI request and response shapes, but not every OpenAI parameter is carried. Some are rejected with 400 `unsupported_parameter` and any parameter not declared in this spec is accepted and ignored. The full table is at https://deeprelay.ai/docs/api/inference#openai-compatibility.
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ * Contact: support@deeprelay.ai
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ /**
17
+ *
18
+ * @export
19
+ * @interface AlertEmailToggles
20
+ */
21
+ export interface AlertEmailToggles {
22
+ /**
23
+ *
24
+ * @type {boolean}
25
+ * @memberof AlertEmailToggles
26
+ */
27
+ balanceLow: boolean;
28
+ /**
29
+ *
30
+ * @type {boolean}
31
+ * @memberof AlertEmailToggles
32
+ */
33
+ subscriptionQuota: boolean;
34
+ /**
35
+ *
36
+ * @type {boolean}
37
+ * @memberof AlertEmailToggles
38
+ */
39
+ apiKeyBudget: boolean;
40
+ /**
41
+ *
42
+ * @type {boolean}
43
+ * @memberof AlertEmailToggles
44
+ */
45
+ memberSpend: boolean;
46
+ }
47
+
48
+ /**
49
+ * Check if a given object implements the AlertEmailToggles interface.
50
+ */
51
+ export function instanceOfAlertEmailToggles(value: object): value is AlertEmailToggles {
52
+ if ((!('balanceLow' in (value as Record<string, any>)) && !('balance_low' in (value as Record<string, any>))) || ((value as Record<string, any>)['balanceLow'] === undefined && (value as Record<string, any>)['balance_low'] === undefined)) return false;
53
+ if ((!('subscriptionQuota' in (value as Record<string, any>)) && !('subscription_quota' in (value as Record<string, any>))) || ((value as Record<string, any>)['subscriptionQuota'] === undefined && (value as Record<string, any>)['subscription_quota'] === undefined)) return false;
54
+ if ((!('apiKeyBudget' in (value as Record<string, any>)) && !('api_key_budget' in (value as Record<string, any>))) || ((value as Record<string, any>)['apiKeyBudget'] === undefined && (value as Record<string, any>)['api_key_budget'] === undefined)) return false;
55
+ if ((!('memberSpend' in (value as Record<string, any>)) && !('member_spend' in (value as Record<string, any>))) || ((value as Record<string, any>)['memberSpend'] === undefined && (value as Record<string, any>)['member_spend'] === undefined)) return false;
56
+ return true;
57
+ }
58
+
59
+ export function AlertEmailTogglesFromJSON(json: any): AlertEmailToggles {
60
+ return AlertEmailTogglesFromJSONTyped(json, false);
61
+ }
62
+
63
+ export function AlertEmailTogglesFromJSONTyped(json: any, ignoreDiscriminator: boolean): AlertEmailToggles {
64
+ if (json == null) {
65
+ return json;
66
+ }
67
+ return {
68
+
69
+ 'balanceLow': json['balance_low'],
70
+ 'subscriptionQuota': json['subscription_quota'],
71
+ 'apiKeyBudget': json['api_key_budget'],
72
+ 'memberSpend': json['member_spend'],
73
+ };
74
+ }
75
+
76
+ export function AlertEmailTogglesToJSON(json: any): AlertEmailToggles {
77
+ return AlertEmailTogglesToJSONTyped(json, false);
78
+ }
79
+
80
+ export function AlertEmailTogglesToJSONTyped(value?: AlertEmailToggles | null, ignoreDiscriminator: boolean = false): any {
81
+ if (value == null) {
82
+ return value;
83
+ }
84
+
85
+ return {
86
+
87
+ 'balance_low': value['balanceLow'],
88
+ 'subscription_quota': value['subscriptionQuota'],
89
+ 'api_key_budget': value['apiKeyBudget'],
90
+ 'member_spend': value['memberSpend'],
91
+ };
92
+ }
93
+