@orq-ai/node 4.10.17 → 4.10.18

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 (294) hide show
  1. package/funcs/datasetsList.js +0 -2
  2. package/funcs/datasetsList.js.map +1 -1
  3. package/jsr.json +1 -1
  4. package/lib/config.d.ts +3 -3
  5. package/lib/config.js +3 -3
  6. package/lib/encodings.js +12 -12
  7. package/lib/encodings.js.map +1 -1
  8. package/lib/env.d.ts.map +1 -1
  9. package/lib/env.js +3 -3
  10. package/lib/env.js.map +1 -1
  11. package/lib/event-streams.d.ts.map +1 -1
  12. package/lib/event-streams.js +28 -13
  13. package/lib/event-streams.js.map +1 -1
  14. package/lib/matchers.js +3 -3
  15. package/lib/matchers.js.map +1 -1
  16. package/lib/primitives.d.ts +1 -0
  17. package/lib/primitives.d.ts.map +1 -1
  18. package/lib/primitives.js +18 -0
  19. package/lib/primitives.js.map +1 -1
  20. package/models/components/modelmetadata.d.ts +0 -2
  21. package/models/components/modelmetadata.d.ts.map +1 -1
  22. package/models/components/modelmetadata.js +0 -4
  23. package/models/components/modelmetadata.js.map +1 -1
  24. package/models/components/reasoning.d.ts +2 -40
  25. package/models/components/reasoning.d.ts.map +1 -1
  26. package/models/components/reasoning.js +3 -26
  27. package/models/components/reasoning.js.map +1 -1
  28. package/models/components/reasoningparam.d.ts +2 -40
  29. package/models/components/reasoningparam.d.ts.map +1 -1
  30. package/models/components/reasoningparam.js +3 -28
  31. package/models/components/reasoningparam.js.map +1 -1
  32. package/models/components/reasoningpart.js +1 -1
  33. package/models/operations/createagentrequest.d.ts +4 -298
  34. package/models/operations/createagentrequest.d.ts.map +1 -1
  35. package/models/operations/createagentrequest.js +9 -163
  36. package/models/operations/createagentrequest.js.map +1 -1
  37. package/models/operations/createchatcompletion.d.ts +4 -81
  38. package/models/operations/createchatcompletion.d.ts.map +1 -1
  39. package/models/operations/createchatcompletion.js +7 -45
  40. package/models/operations/createchatcompletion.js.map +1 -1
  41. package/models/operations/createdataset.js +1 -1
  42. package/models/operations/createdatasetitem.js +4 -4
  43. package/models/operations/createdatasource.js +1 -1
  44. package/models/operations/createeval.js +16 -16
  45. package/models/operations/creatememorystore.d.ts +3 -3
  46. package/models/operations/creatememorystore.d.ts.map +1 -1
  47. package/models/operations/creatememorystore.js +2 -2
  48. package/models/operations/creatememorystore.js.map +1 -1
  49. package/models/operations/createprompt.d.ts +12 -225
  50. package/models/operations/createprompt.d.ts.map +1 -1
  51. package/models/operations/createprompt.js +13 -124
  52. package/models/operations/createprompt.js.map +1 -1
  53. package/models/operations/createrouterresponse.d.ts +4 -349
  54. package/models/operations/createrouterresponse.d.ts.map +1 -1
  55. package/models/operations/createrouterresponse.js +4 -195
  56. package/models/operations/createrouterresponse.js.map +1 -1
  57. package/models/operations/createtool.js +6 -6
  58. package/models/operations/deploymentgetconfig.d.ts +4 -70
  59. package/models/operations/deploymentgetconfig.d.ts.map +1 -1
  60. package/models/operations/deploymentgetconfig.js +8 -43
  61. package/models/operations/deploymentgetconfig.js.map +1 -1
  62. package/models/operations/deployments.d.ts +8 -74
  63. package/models/operations/deployments.d.ts.map +1 -1
  64. package/models/operations/deployments.js +8 -43
  65. package/models/operations/deployments.js.map +1 -1
  66. package/models/operations/getallmemorystores.d.ts +1 -1
  67. package/models/operations/getallmemorystores.d.ts.map +1 -1
  68. package/models/operations/getallmemorystores.js +1 -1
  69. package/models/operations/getallmemorystores.js.map +1 -1
  70. package/models/operations/getallprompts.d.ts +4 -140
  71. package/models/operations/getallprompts.d.ts.map +1 -1
  72. package/models/operations/getallprompts.js +6 -79
  73. package/models/operations/getallprompts.js.map +1 -1
  74. package/models/operations/getalltools.js +6 -6
  75. package/models/operations/getevals.js +16 -16
  76. package/models/operations/getoneprompt.d.ts +4 -140
  77. package/models/operations/getoneprompt.d.ts.map +1 -1
  78. package/models/operations/getoneprompt.js +6 -79
  79. package/models/operations/getoneprompt.js.map +1 -1
  80. package/models/operations/getpromptversion.d.ts +4 -140
  81. package/models/operations/getpromptversion.d.ts.map +1 -1
  82. package/models/operations/getpromptversion.js +6 -78
  83. package/models/operations/getpromptversion.js.map +1 -1
  84. package/models/operations/getv2humanevalsets.js +2 -2
  85. package/models/operations/getv2humanevalsetsid.js +2 -2
  86. package/models/operations/listagents.d.ts +0 -140
  87. package/models/operations/listagents.d.ts.map +1 -1
  88. package/models/operations/listagents.js +3 -79
  89. package/models/operations/listagents.js.map +1 -1
  90. package/models/operations/listdatasetdatapoints.js +4 -4
  91. package/models/operations/listdatasets.d.ts +0 -10
  92. package/models/operations/listdatasets.d.ts.map +1 -1
  93. package/models/operations/listdatasets.js +1 -4
  94. package/models/operations/listdatasets.js.map +1 -1
  95. package/models/operations/listdatasources.js +1 -1
  96. package/models/operations/listknowledgebases.d.ts +1 -1
  97. package/models/operations/listpromptversions.d.ts +4 -140
  98. package/models/operations/listpromptversions.d.ts.map +1 -1
  99. package/models/operations/listpromptversions.js +6 -79
  100. package/models/operations/listpromptversions.js.map +1 -1
  101. package/models/operations/patchv2humanevalsetsid.js +2 -2
  102. package/models/operations/postv2feedbackevaluation.js +3 -3
  103. package/models/operations/postv2humanevalsets.js +2 -2
  104. package/models/operations/retrieveagentrequest.d.ts +0 -140
  105. package/models/operations/retrieveagentrequest.d.ts.map +1 -1
  106. package/models/operations/retrieveagentrequest.js +2 -81
  107. package/models/operations/retrieveagentrequest.js.map +1 -1
  108. package/models/operations/retrievedatapoint.js +4 -4
  109. package/models/operations/retrievedataset.js +1 -1
  110. package/models/operations/retrievedatasource.js +1 -1
  111. package/models/operations/retrievememorystore.d.ts +1 -1
  112. package/models/operations/retrievememorystore.d.ts.map +1 -1
  113. package/models/operations/retrievememorystore.js +1 -1
  114. package/models/operations/retrievememorystore.js.map +1 -1
  115. package/models/operations/retrievetool.js +6 -6
  116. package/models/operations/runagent.d.ts +0 -154
  117. package/models/operations/runagent.d.ts.map +1 -1
  118. package/models/operations/runagent.js +5 -80
  119. package/models/operations/runagent.js.map +1 -1
  120. package/models/operations/streamrunagent.d.ts +0 -154
  121. package/models/operations/streamrunagent.d.ts.map +1 -1
  122. package/models/operations/streamrunagent.js +4 -82
  123. package/models/operations/streamrunagent.js.map +1 -1
  124. package/models/operations/updateagent.d.ts +4 -298
  125. package/models/operations/updateagent.d.ts.map +1 -1
  126. package/models/operations/updateagent.js +9 -162
  127. package/models/operations/updateagent.js.map +1 -1
  128. package/models/operations/updatedatapoint.js +4 -4
  129. package/models/operations/updatedataset.js +1 -1
  130. package/models/operations/updatedatasource.js +1 -1
  131. package/models/operations/updateeval.js +16 -16
  132. package/models/operations/updatememorystore.d.ts +3 -3
  133. package/models/operations/updatememorystore.d.ts.map +1 -1
  134. package/models/operations/updatememorystore.js +2 -2
  135. package/models/operations/updatememorystore.js.map +1 -1
  136. package/models/operations/updateprompt.d.ts +12 -225
  137. package/models/operations/updateprompt.d.ts.map +1 -1
  138. package/models/operations/updateprompt.js +14 -125
  139. package/models/operations/updateprompt.js.map +1 -1
  140. package/models/operations/updatetool.js +7 -7
  141. package/package.json +7 -7
  142. package/packages/orq-rc/src/funcs/budgetsCheck.ts +162 -0
  143. package/packages/orq-rc/src/funcs/budgetsCreate.ts +162 -0
  144. package/packages/orq-rc/src/funcs/budgetsDelete.ts +168 -0
  145. package/packages/orq-rc/src/funcs/budgetsGet.ts +168 -0
  146. package/packages/orq-rc/src/funcs/budgetsGetConsumption.ts +169 -0
  147. package/packages/orq-rc/src/funcs/budgetsList.ts +175 -0
  148. package/packages/orq-rc/src/funcs/budgetsResetConsumption.ts +174 -0
  149. package/packages/orq-rc/src/funcs/budgetsUpdate.ts +171 -0
  150. package/packages/orq-rc/src/lib/config.ts +3 -3
  151. package/packages/orq-rc/src/lib/encodings.ts +1 -1
  152. package/packages/orq-rc/src/lib/env.ts +7 -3
  153. package/packages/orq-rc/src/lib/event-streams.ts +31 -13
  154. package/packages/orq-rc/src/lib/matchers.ts +1 -1
  155. package/packages/orq-rc/src/lib/primitives.ts +16 -0
  156. package/packages/orq-rc/src/models/components/apikeybudgetscope.ts +66 -0
  157. package/packages/orq-rc/src/models/components/budget.ts +102 -0
  158. package/packages/orq-rc/src/models/components/budgetlimits.ts +76 -0
  159. package/packages/orq-rc/src/models/components/budgetmatch.ts +56 -0
  160. package/packages/orq-rc/src/models/components/budgetperiod.ts +23 -0
  161. package/packages/orq-rc/src/models/components/budgetrejection.ts +48 -0
  162. package/packages/orq-rc/src/models/components/budgetscope.ts +150 -0
  163. package/packages/orq-rc/src/models/components/budgetscopekind.ts +22 -0
  164. package/packages/orq-rc/src/models/components/checkbudgetsrequest.ts +111 -0
  165. package/packages/orq-rc/src/models/components/checkbudgetsresponse.ts +62 -0
  166. package/packages/orq-rc/src/models/components/createbudgetrequest.ts +109 -0
  167. package/packages/orq-rc/src/models/components/createbudgetresponse.ts +35 -0
  168. package/packages/orq-rc/src/models/components/deletebudgetresponse.ts +27 -0
  169. package/packages/orq-rc/src/models/components/dimensioninfo.ts +43 -0
  170. package/packages/orq-rc/src/models/components/getbudgetconsumptionresponse.ts +67 -0
  171. package/packages/orq-rc/src/models/components/getbudgetresponse.ts +35 -0
  172. package/packages/orq-rc/src/models/components/identity.ts +9 -9
  173. package/packages/orq-rc/src/models/components/identitybudgetscope.ts +66 -0
  174. package/packages/orq-rc/src/models/components/index.ts +27 -0
  175. package/packages/orq-rc/src/models/components/listbudgetsresponse.ts +53 -0
  176. package/packages/orq-rc/src/models/components/modelbudgetscope.ts +67 -0
  177. package/packages/orq-rc/src/models/components/projectbudgetscope.ts +63 -0
  178. package/packages/orq-rc/src/models/components/providerbudgetscope.ts +57 -0
  179. package/packages/orq-rc/src/models/components/ratelimit.ts +62 -0
  180. package/packages/orq-rc/src/models/components/reasoningpart.ts +1 -1
  181. package/packages/orq-rc/src/models/components/resetbudgetconsumptionrequest.ts +27 -0
  182. package/packages/orq-rc/src/models/components/resetbudgetconsumptionresponse.ts +38 -0
  183. package/packages/orq-rc/src/models/components/updatebudgetrequest.ts +94 -0
  184. package/packages/orq-rc/src/models/components/updatebudgetresponse.ts +35 -0
  185. package/packages/orq-rc/src/models/components/workspacebudgetscope.ts +46 -0
  186. package/packages/orq-rc/src/models/operations/budgetdelete.ts +39 -0
  187. package/packages/orq-rc/src/models/operations/budgetget.ts +39 -0
  188. package/packages/orq-rc/src/models/operations/budgetgetconsumption.ts +41 -0
  189. package/packages/orq-rc/src/models/operations/budgetlist.ts +102 -0
  190. package/packages/orq-rc/src/models/operations/budgetresetconsumption.ts +48 -0
  191. package/packages/orq-rc/src/models/operations/budgetupdate.ts +44 -0
  192. package/packages/orq-rc/src/models/operations/createdataset.ts +1 -1
  193. package/packages/orq-rc/src/models/operations/createdatasetitem.ts +4 -4
  194. package/packages/orq-rc/src/models/operations/createdatasource.ts +1 -1
  195. package/packages/orq-rc/src/models/operations/createeval.ts +16 -16
  196. package/packages/orq-rc/src/models/operations/createtool.ts +6 -6
  197. package/packages/orq-rc/src/models/operations/getalltools.ts +6 -6
  198. package/packages/orq-rc/src/models/operations/getevals.ts +16 -16
  199. package/packages/orq-rc/src/models/operations/getv2humanevalsets.ts +2 -2
  200. package/packages/orq-rc/src/models/operations/getv2humanevalsetsid.ts +2 -2
  201. package/packages/orq-rc/src/models/operations/index.ts +6 -0
  202. package/packages/orq-rc/src/models/operations/listdatasetdatapoints.ts +4 -4
  203. package/packages/orq-rc/src/models/operations/listdatasets.ts +1 -1
  204. package/packages/orq-rc/src/models/operations/listdatasources.ts +1 -1
  205. package/packages/orq-rc/src/models/operations/patchv2humanevalsetsid.ts +2 -2
  206. package/packages/orq-rc/src/models/operations/postv2feedbackevaluation.ts +3 -3
  207. package/packages/orq-rc/src/models/operations/postv2humanevalsets.ts +2 -2
  208. package/packages/orq-rc/src/models/operations/retrievedatapoint.ts +4 -4
  209. package/packages/orq-rc/src/models/operations/retrievedataset.ts +1 -1
  210. package/packages/orq-rc/src/models/operations/retrievedatasource.ts +1 -1
  211. package/packages/orq-rc/src/models/operations/retrievetool.ts +6 -6
  212. package/packages/orq-rc/src/models/operations/runagent.ts +1 -1
  213. package/packages/orq-rc/src/models/operations/streamrunagent.ts +1 -1
  214. package/packages/orq-rc/src/models/operations/updatedatapoint.ts +4 -4
  215. package/packages/orq-rc/src/models/operations/updatedataset.ts +1 -1
  216. package/packages/orq-rc/src/models/operations/updatedatasource.ts +1 -1
  217. package/packages/orq-rc/src/models/operations/updateeval.ts +16 -16
  218. package/packages/orq-rc/src/models/operations/updatetool.ts +7 -7
  219. package/packages/orq-rc/src/sdk/budgets.ts +154 -0
  220. package/packages/orq-rc/src/sdk/feedback.ts +1 -4
  221. package/packages/orq-rc/src/sdk/sdk.ts +6 -0
  222. package/sdk/feedback.d.ts +1 -4
  223. package/sdk/feedback.d.ts.map +1 -1
  224. package/sdk/feedback.js +1 -4
  225. package/sdk/feedback.js.map +1 -1
  226. package/src/funcs/datasetsList.ts +0 -2
  227. package/src/lib/config.ts +3 -3
  228. package/src/lib/encodings.ts +1 -1
  229. package/src/lib/env.ts +7 -3
  230. package/src/lib/event-streams.ts +31 -13
  231. package/src/lib/matchers.ts +1 -1
  232. package/src/lib/primitives.ts +16 -0
  233. package/src/models/components/modelmetadata.ts +0 -6
  234. package/src/models/components/reasoning.ts +4 -50
  235. package/src/models/components/reasoningparam.ts +4 -48
  236. package/src/models/components/reasoningpart.ts +1 -1
  237. package/src/models/operations/createagentrequest.ts +8 -460
  238. package/src/models/operations/createchatcompletion.ts +10 -129
  239. package/src/models/operations/createdataset.ts +1 -1
  240. package/src/models/operations/createdatasetitem.ts +4 -4
  241. package/src/models/operations/createdatasource.ts +1 -1
  242. package/src/models/operations/createeval.ts +16 -16
  243. package/src/models/operations/creatememorystore.ts +5 -5
  244. package/src/models/operations/createprompt.ts +27 -356
  245. package/src/models/operations/createrouterresponse.ts +8 -532
  246. package/src/models/operations/createtool.ts +6 -6
  247. package/src/models/operations/deploymentgetconfig.ts +8 -105
  248. package/src/models/operations/deployments.ts +16 -113
  249. package/src/models/operations/getallmemorystores.ts +2 -2
  250. package/src/models/operations/getallprompts.ts +8 -210
  251. package/src/models/operations/getalltools.ts +6 -6
  252. package/src/models/operations/getevals.ts +16 -16
  253. package/src/models/operations/getoneprompt.ts +8 -208
  254. package/src/models/operations/getpromptversion.ts +8 -212
  255. package/src/models/operations/getv2humanevalsets.ts +2 -2
  256. package/src/models/operations/getv2humanevalsetsid.ts +2 -2
  257. package/src/models/operations/listagents.ts +0 -215
  258. package/src/models/operations/listdatasetdatapoints.ts +4 -4
  259. package/src/models/operations/listdatasets.ts +1 -14
  260. package/src/models/operations/listdatasources.ts +1 -1
  261. package/src/models/operations/listknowledgebases.ts +1 -1
  262. package/src/models/operations/listpromptversions.ts +8 -212
  263. package/src/models/operations/patchv2humanevalsetsid.ts +2 -2
  264. package/src/models/operations/postv2feedbackevaluation.ts +3 -3
  265. package/src/models/operations/postv2humanevalsets.ts +2 -2
  266. package/src/models/operations/retrieveagentrequest.ts +0 -222
  267. package/src/models/operations/retrievedatapoint.ts +4 -4
  268. package/src/models/operations/retrievedataset.ts +1 -1
  269. package/src/models/operations/retrievedatasource.ts +1 -1
  270. package/src/models/operations/retrievememorystore.ts +2 -2
  271. package/src/models/operations/retrievetool.ts +6 -6
  272. package/src/models/operations/runagent.ts +1 -236
  273. package/src/models/operations/streamrunagent.ts +1 -242
  274. package/src/models/operations/updateagent.ts +9 -464
  275. package/src/models/operations/updatedatapoint.ts +4 -4
  276. package/src/models/operations/updatedataset.ts +1 -1
  277. package/src/models/operations/updatedatasource.ts +1 -1
  278. package/src/models/operations/updateeval.ts +16 -16
  279. package/src/models/operations/updatememorystore.ts +5 -5
  280. package/src/models/operations/updateprompt.ts +27 -356
  281. package/src/models/operations/updatetool.ts +7 -7
  282. package/src/sdk/feedback.ts +1 -4
  283. package/lib/dlv.d.ts +0 -14
  284. package/lib/dlv.d.ts.map +0 -1
  285. package/lib/dlv.js +0 -49
  286. package/lib/dlv.js.map +0 -1
  287. package/lib/is-plain-object.d.ts +0 -2
  288. package/lib/is-plain-object.d.ts.map +0 -1
  289. package/lib/is-plain-object.js +0 -41
  290. package/lib/is-plain-object.js.map +0 -1
  291. package/packages/orq-rc/src/lib/dlv.ts +0 -53
  292. package/packages/orq-rc/src/lib/is-plain-object.ts +0 -43
  293. package/src/lib/dlv.ts +0 -53
  294. package/src/lib/is-plain-object.ts +0 -43
@@ -0,0 +1,66 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { remap as remap$ } from "../../lib/primitives.js";
7
+ import { safeParse } from "../../lib/schemas.js";
8
+ import { Result as SafeParseResult } from "../../types/fp.js";
9
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
10
+
11
+ /**
12
+ * Per-api-key cap. Replaces the legacy embedded `constraints.budget`
13
+ *
14
+ * @remarks
15
+ * on auth.apiKeys.
16
+ */
17
+ export type ApiKeyBudgetScope = {
18
+ apiKeyId?: string | undefined;
19
+ };
20
+
21
+ /** @internal */
22
+ export const ApiKeyBudgetScope$inboundSchema: z.ZodType<
23
+ ApiKeyBudgetScope,
24
+ z.ZodTypeDef,
25
+ unknown
26
+ > = z.object({
27
+ api_key_id: z.string().optional(),
28
+ }).transform((v) => {
29
+ return remap$(v, {
30
+ "api_key_id": "apiKeyId",
31
+ });
32
+ });
33
+ /** @internal */
34
+ export type ApiKeyBudgetScope$Outbound = {
35
+ api_key_id?: string | undefined;
36
+ };
37
+
38
+ /** @internal */
39
+ export const ApiKeyBudgetScope$outboundSchema: z.ZodType<
40
+ ApiKeyBudgetScope$Outbound,
41
+ z.ZodTypeDef,
42
+ ApiKeyBudgetScope
43
+ > = z.object({
44
+ apiKeyId: z.string().optional(),
45
+ }).transform((v) => {
46
+ return remap$(v, {
47
+ apiKeyId: "api_key_id",
48
+ });
49
+ });
50
+
51
+ export function apiKeyBudgetScopeToJSON(
52
+ apiKeyBudgetScope: ApiKeyBudgetScope,
53
+ ): string {
54
+ return JSON.stringify(
55
+ ApiKeyBudgetScope$outboundSchema.parse(apiKeyBudgetScope),
56
+ );
57
+ }
58
+ export function apiKeyBudgetScopeFromJSON(
59
+ jsonString: string,
60
+ ): SafeParseResult<ApiKeyBudgetScope, SDKValidationError> {
61
+ return safeParse(
62
+ jsonString,
63
+ (x) => ApiKeyBudgetScope$inboundSchema.parse(JSON.parse(x)),
64
+ `Failed to parse 'ApiKeyBudgetScope' from JSON`,
65
+ );
66
+ }
@@ -0,0 +1,102 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { remap as remap$ } from "../../lib/primitives.js";
7
+ import { safeParse } from "../../lib/schemas.js";
8
+ import { Result as SafeParseResult } from "../../types/fp.js";
9
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
10
+ import { BudgetLimits, BudgetLimits$inboundSchema } from "./budgetlimits.js";
11
+ import { BudgetMatch, BudgetMatch$inboundSchema } from "./budgetmatch.js";
12
+ import { BudgetScope, BudgetScope$inboundSchema } from "./budgetscope.js";
13
+ import { RateLimit, RateLimit$inboundSchema } from "./ratelimit.js";
14
+
15
+ /**
16
+ * Budget is the canonical record stored in MongoDB `budgets.entities`.
17
+ *
18
+ * @remarks
19
+ * It replaces the embedded `constraints.budget` on api-keys and the
20
+ * legacy CONTACT-only `budgets.configs` collection (see ADR 0007).
21
+ */
22
+ export type Budget = {
23
+ budgetId?: string | undefined;
24
+ /**
25
+ * Denormalized metadata for UI rendering, list filters, and the
26
+ *
27
+ * @remarks
28
+ * resolver's prefilter index. Never consulted for matching — the
29
+ * `match` expression is the single source of matching semantics.
30
+ * Unset for budgets created from a raw CEL expression ("custom").
31
+ */
32
+ scope?: BudgetScope | undefined;
33
+ /**
34
+ * The matching semantics of the budget. The enforcement resolver
35
+ *
36
+ * @remarks
37
+ * evaluates `match.cel` against the request context; a budget
38
+ * applies to a request if and only if the expression evaluates to
39
+ * true. Scoped creates derive a canonical expression (e.g.
40
+ * `provider == "openai"`); an empty expression always matches
41
+ * (workspace-wide).
42
+ */
43
+ match?: BudgetMatch | undefined;
44
+ /**
45
+ * BudgetLimits is the per-period spend and token ceiling. At least one
46
+ *
47
+ * @remarks
48
+ * of `amount`, `token_limit`, or RateLimit.requests_per_minute MUST be
49
+ * set on a Budget; that invariant is enforced by the handler.
50
+ */
51
+ limits?: BudgetLimits | undefined;
52
+ /**
53
+ * RateLimit is the per-minute request ceiling. Enforced via atomic
54
+ *
55
+ * @remarks
56
+ * increment-first semantics in the enforcement middleware.
57
+ */
58
+ rateLimit?: RateLimit | undefined;
59
+ isActive?: boolean | undefined;
60
+ expiresAt?: Date | undefined;
61
+ createdAt?: Date | undefined;
62
+ updatedAt?: Date | undefined;
63
+ };
64
+
65
+ /** @internal */
66
+ export const Budget$inboundSchema: z.ZodType<Budget, z.ZodTypeDef, unknown> = z
67
+ .object({
68
+ budget_id: z.string().optional(),
69
+ scope: BudgetScope$inboundSchema.optional(),
70
+ match: BudgetMatch$inboundSchema.optional(),
71
+ limits: BudgetLimits$inboundSchema.optional(),
72
+ rate_limit: RateLimit$inboundSchema.optional(),
73
+ is_active: z.boolean().optional(),
74
+ expires_at: z.string().datetime({ offset: true }).transform(v =>
75
+ new Date(v)
76
+ ).optional(),
77
+ created_at: z.string().datetime({ offset: true }).transform(v =>
78
+ new Date(v)
79
+ ).optional(),
80
+ updated_at: z.string().datetime({ offset: true }).transform(v =>
81
+ new Date(v)
82
+ ).optional(),
83
+ }).transform((v) => {
84
+ return remap$(v, {
85
+ "budget_id": "budgetId",
86
+ "rate_limit": "rateLimit",
87
+ "is_active": "isActive",
88
+ "expires_at": "expiresAt",
89
+ "created_at": "createdAt",
90
+ "updated_at": "updatedAt",
91
+ });
92
+ });
93
+
94
+ export function budgetFromJSON(
95
+ jsonString: string,
96
+ ): SafeParseResult<Budget, SDKValidationError> {
97
+ return safeParse(
98
+ jsonString,
99
+ (x) => Budget$inboundSchema.parse(JSON.parse(x)),
100
+ `Failed to parse 'Budget' from JSON`,
101
+ );
102
+ }
@@ -0,0 +1,76 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { remap as remap$ } from "../../lib/primitives.js";
7
+ import { safeParse } from "../../lib/schemas.js";
8
+ import { Result as SafeParseResult } from "../../types/fp.js";
9
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
10
+ import {
11
+ BudgetPeriod,
12
+ BudgetPeriod$inboundSchema,
13
+ BudgetPeriod$outboundSchema,
14
+ } from "./budgetperiod.js";
15
+
16
+ /**
17
+ * BudgetLimits is the per-period spend and token ceiling. At least one
18
+ *
19
+ * @remarks
20
+ * of `amount`, `token_limit`, or RateLimit.requests_per_minute MUST be
21
+ * set on a Budget; that invariant is enforced by the handler.
22
+ */
23
+ export type BudgetLimits = {
24
+ period?: BudgetPeriod | undefined;
25
+ amount?: number | undefined;
26
+ tokenLimit?: string | undefined;
27
+ };
28
+
29
+ /** @internal */
30
+ export const BudgetLimits$inboundSchema: z.ZodType<
31
+ BudgetLimits,
32
+ z.ZodTypeDef,
33
+ unknown
34
+ > = z.object({
35
+ period: BudgetPeriod$inboundSchema.optional(),
36
+ amount: z.number().optional(),
37
+ token_limit: z.string().optional(),
38
+ }).transform((v) => {
39
+ return remap$(v, {
40
+ "token_limit": "tokenLimit",
41
+ });
42
+ });
43
+ /** @internal */
44
+ export type BudgetLimits$Outbound = {
45
+ period?: string | undefined;
46
+ amount?: number | undefined;
47
+ token_limit?: string | undefined;
48
+ };
49
+
50
+ /** @internal */
51
+ export const BudgetLimits$outboundSchema: z.ZodType<
52
+ BudgetLimits$Outbound,
53
+ z.ZodTypeDef,
54
+ BudgetLimits
55
+ > = z.object({
56
+ period: BudgetPeriod$outboundSchema.optional(),
57
+ amount: z.number().optional(),
58
+ tokenLimit: z.string().optional(),
59
+ }).transform((v) => {
60
+ return remap$(v, {
61
+ tokenLimit: "token_limit",
62
+ });
63
+ });
64
+
65
+ export function budgetLimitsToJSON(budgetLimits: BudgetLimits): string {
66
+ return JSON.stringify(BudgetLimits$outboundSchema.parse(budgetLimits));
67
+ }
68
+ export function budgetLimitsFromJSON(
69
+ jsonString: string,
70
+ ): SafeParseResult<BudgetLimits, SDKValidationError> {
71
+ return safeParse(
72
+ jsonString,
73
+ (x) => BudgetLimits$inboundSchema.parse(JSON.parse(x)),
74
+ `Failed to parse 'BudgetLimits' from JSON`,
75
+ );
76
+ }
@@ -0,0 +1,56 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { safeParse } from "../../lib/schemas.js";
7
+ import { Result as SafeParseResult } from "../../types/fp.js";
8
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
9
+
10
+ /**
11
+ * BudgetMatch carries the CEL expression that decides whether a budget
12
+ *
13
+ * @remarks
14
+ * applies to a request. Available variables: `model`, `provider`,
15
+ * `model_id`, `api_key`, `identity`, `project`, `metadata` (map),
16
+ * `headers` (map, lowercase keys). An empty expression always matches.
17
+ * Expressions are syntax-validated at write time.
18
+ */
19
+ export type BudgetMatch = {
20
+ cel?: string | undefined;
21
+ };
22
+
23
+ /** @internal */
24
+ export const BudgetMatch$inboundSchema: z.ZodType<
25
+ BudgetMatch,
26
+ z.ZodTypeDef,
27
+ unknown
28
+ > = z.object({
29
+ cel: z.string().optional(),
30
+ });
31
+ /** @internal */
32
+ export type BudgetMatch$Outbound = {
33
+ cel?: string | undefined;
34
+ };
35
+
36
+ /** @internal */
37
+ export const BudgetMatch$outboundSchema: z.ZodType<
38
+ BudgetMatch$Outbound,
39
+ z.ZodTypeDef,
40
+ BudgetMatch
41
+ > = z.object({
42
+ cel: z.string().optional(),
43
+ });
44
+
45
+ export function budgetMatchToJSON(budgetMatch: BudgetMatch): string {
46
+ return JSON.stringify(BudgetMatch$outboundSchema.parse(budgetMatch));
47
+ }
48
+ export function budgetMatchFromJSON(
49
+ jsonString: string,
50
+ ): SafeParseResult<BudgetMatch, SDKValidationError> {
51
+ return safeParse(
52
+ jsonString,
53
+ (x) => BudgetMatch$inboundSchema.parse(JSON.parse(x)),
54
+ `Failed to parse 'BudgetMatch' from JSON`,
55
+ );
56
+ }
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { ClosedEnum } from "../../types/enums.js";
7
+
8
+ export const BudgetPeriod = {
9
+ BudgetPeriodUnspecified: "BUDGET_PERIOD_UNSPECIFIED",
10
+ BudgetPeriodDaily: "BUDGET_PERIOD_DAILY",
11
+ BudgetPeriodWeekly: "BUDGET_PERIOD_WEEKLY",
12
+ BudgetPeriodMonthly: "BUDGET_PERIOD_MONTHLY",
13
+ BudgetPeriodYearly: "BUDGET_PERIOD_YEARLY",
14
+ BudgetPeriodOneTime: "BUDGET_PERIOD_ONE_TIME",
15
+ } as const;
16
+ export type BudgetPeriod = ClosedEnum<typeof BudgetPeriod>;
17
+
18
+ /** @internal */
19
+ export const BudgetPeriod$inboundSchema: z.ZodNativeEnum<typeof BudgetPeriod> =
20
+ z.nativeEnum(BudgetPeriod);
21
+ /** @internal */
22
+ export const BudgetPeriod$outboundSchema: z.ZodNativeEnum<typeof BudgetPeriod> =
23
+ BudgetPeriod$inboundSchema;
@@ -0,0 +1,48 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { remap as remap$ } from "../../lib/primitives.js";
7
+ import { safeParse } from "../../lib/schemas.js";
8
+ import { Result as SafeParseResult } from "../../types/fp.js";
9
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
10
+
11
+ /**
12
+ * BudgetRejection identifies the budget that caused a 429.
13
+ */
14
+ export type BudgetRejection = {
15
+ scopeKind?: string | undefined;
16
+ scopeTargetId?: string | undefined;
17
+ dimension?: string | undefined;
18
+ code?: string | undefined;
19
+ message?: string | undefined;
20
+ };
21
+
22
+ /** @internal */
23
+ export const BudgetRejection$inboundSchema: z.ZodType<
24
+ BudgetRejection,
25
+ z.ZodTypeDef,
26
+ unknown
27
+ > = z.object({
28
+ scope_kind: z.string().optional(),
29
+ scope_target_id: z.string().optional(),
30
+ dimension: z.string().optional(),
31
+ code: z.string().optional(),
32
+ message: z.string().optional(),
33
+ }).transform((v) => {
34
+ return remap$(v, {
35
+ "scope_kind": "scopeKind",
36
+ "scope_target_id": "scopeTargetId",
37
+ });
38
+ });
39
+
40
+ export function budgetRejectionFromJSON(
41
+ jsonString: string,
42
+ ): SafeParseResult<BudgetRejection, SDKValidationError> {
43
+ return safeParse(
44
+ jsonString,
45
+ (x) => BudgetRejection$inboundSchema.parse(JSON.parse(x)),
46
+ `Failed to parse 'BudgetRejection' from JSON`,
47
+ );
48
+ }
@@ -0,0 +1,150 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { remap as remap$ } from "../../lib/primitives.js";
7
+ import { safeParse } from "../../lib/schemas.js";
8
+ import { Result as SafeParseResult } from "../../types/fp.js";
9
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
10
+ import {
11
+ ApiKeyBudgetScope,
12
+ ApiKeyBudgetScope$inboundSchema,
13
+ ApiKeyBudgetScope$Outbound,
14
+ ApiKeyBudgetScope$outboundSchema,
15
+ } from "./apikeybudgetscope.js";
16
+ import {
17
+ IdentityBudgetScope,
18
+ IdentityBudgetScope$inboundSchema,
19
+ IdentityBudgetScope$Outbound,
20
+ IdentityBudgetScope$outboundSchema,
21
+ } from "./identitybudgetscope.js";
22
+ import {
23
+ ModelBudgetScope,
24
+ ModelBudgetScope$inboundSchema,
25
+ ModelBudgetScope$Outbound,
26
+ ModelBudgetScope$outboundSchema,
27
+ } from "./modelbudgetscope.js";
28
+ import {
29
+ ProjectBudgetScope,
30
+ ProjectBudgetScope$inboundSchema,
31
+ ProjectBudgetScope$Outbound,
32
+ ProjectBudgetScope$outboundSchema,
33
+ } from "./projectbudgetscope.js";
34
+ import {
35
+ ProviderBudgetScope,
36
+ ProviderBudgetScope$inboundSchema,
37
+ ProviderBudgetScope$Outbound,
38
+ ProviderBudgetScope$outboundSchema,
39
+ } from "./providerbudgetscope.js";
40
+ import {
41
+ WorkspaceBudgetScope,
42
+ WorkspaceBudgetScope$inboundSchema,
43
+ WorkspaceBudgetScope$Outbound,
44
+ WorkspaceBudgetScope$outboundSchema,
45
+ } from "./workspacebudgetscope.js";
46
+
47
+ /**
48
+ * BudgetScope is a closed oneof. Exactly one variant must be set. The
49
+ *
50
+ * @remarks
51
+ * six variants are ordered by enforcement precedence (most specific to
52
+ * most general) and mirror the BudgetScopeKind filter enum.
53
+ */
54
+ export type BudgetScope = {
55
+ /**
56
+ * Workspace-wide ceiling. The implicit target is the caller's workspace.
57
+ */
58
+ workspace?: WorkspaceBudgetScope | undefined;
59
+ /**
60
+ * Per-project cap.
61
+ */
62
+ project?: ProjectBudgetScope | undefined;
63
+ /**
64
+ * Per-identity cap. Keyed by the contact's external_id (not the
65
+ *
66
+ * @remarks
67
+ * internal Mongo `_id`) so the scope is stable across imports.
68
+ */
69
+ identity?: IdentityBudgetScope | undefined;
70
+ /**
71
+ * Per-api-key cap. Replaces the legacy embedded `constraints.budget`
72
+ *
73
+ * @remarks
74
+ * on auth.apiKeys.
75
+ */
76
+ apiKey?: ApiKeyBudgetScope | undefined;
77
+ /**
78
+ * Per-provider cap. The value is the provider enum string (e.g.
79
+ *
80
+ * @remarks
81
+ * "openai", "anthropic") drawn from ModelIntegrationIdentifier.
82
+ */
83
+ provider?: ProviderBudgetScope | undefined;
84
+ /**
85
+ * Per-model cap. The value is the FULL model reference as callers send
86
+ *
87
+ * @remarks
88
+ * it ("openai/gpt-4o", or "workspaceKey@openai/gpt-4o" for private
89
+ * models) — NOT the Mongo `_id` of the model master-data document.
90
+ */
91
+ model?: ModelBudgetScope | undefined;
92
+ };
93
+
94
+ /** @internal */
95
+ export const BudgetScope$inboundSchema: z.ZodType<
96
+ BudgetScope,
97
+ z.ZodTypeDef,
98
+ unknown
99
+ > = z.object({
100
+ workspace: WorkspaceBudgetScope$inboundSchema.optional(),
101
+ project: ProjectBudgetScope$inboundSchema.optional(),
102
+ identity: IdentityBudgetScope$inboundSchema.optional(),
103
+ api_key: ApiKeyBudgetScope$inboundSchema.optional(),
104
+ provider: ProviderBudgetScope$inboundSchema.optional(),
105
+ model: ModelBudgetScope$inboundSchema.optional(),
106
+ }).transform((v) => {
107
+ return remap$(v, {
108
+ "api_key": "apiKey",
109
+ });
110
+ });
111
+ /** @internal */
112
+ export type BudgetScope$Outbound = {
113
+ workspace?: WorkspaceBudgetScope$Outbound | undefined;
114
+ project?: ProjectBudgetScope$Outbound | undefined;
115
+ identity?: IdentityBudgetScope$Outbound | undefined;
116
+ api_key?: ApiKeyBudgetScope$Outbound | undefined;
117
+ provider?: ProviderBudgetScope$Outbound | undefined;
118
+ model?: ModelBudgetScope$Outbound | undefined;
119
+ };
120
+
121
+ /** @internal */
122
+ export const BudgetScope$outboundSchema: z.ZodType<
123
+ BudgetScope$Outbound,
124
+ z.ZodTypeDef,
125
+ BudgetScope
126
+ > = z.object({
127
+ workspace: WorkspaceBudgetScope$outboundSchema.optional(),
128
+ project: ProjectBudgetScope$outboundSchema.optional(),
129
+ identity: IdentityBudgetScope$outboundSchema.optional(),
130
+ apiKey: ApiKeyBudgetScope$outboundSchema.optional(),
131
+ provider: ProviderBudgetScope$outboundSchema.optional(),
132
+ model: ModelBudgetScope$outboundSchema.optional(),
133
+ }).transform((v) => {
134
+ return remap$(v, {
135
+ apiKey: "api_key",
136
+ });
137
+ });
138
+
139
+ export function budgetScopeToJSON(budgetScope: BudgetScope): string {
140
+ return JSON.stringify(BudgetScope$outboundSchema.parse(budgetScope));
141
+ }
142
+ export function budgetScopeFromJSON(
143
+ jsonString: string,
144
+ ): SafeParseResult<BudgetScope, SDKValidationError> {
145
+ return safeParse(
146
+ jsonString,
147
+ (x) => BudgetScope$inboundSchema.parse(JSON.parse(x)),
148
+ `Failed to parse 'BudgetScope' from JSON`,
149
+ );
150
+ }
@@ -0,0 +1,22 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { ClosedEnum } from "../../types/enums.js";
7
+
8
+ export const BudgetScopeKind = {
9
+ BudgetScopeKindUnspecified: "BUDGET_SCOPE_KIND_UNSPECIFIED",
10
+ BudgetScopeKindWorkspace: "BUDGET_SCOPE_KIND_WORKSPACE",
11
+ BudgetScopeKindProject: "BUDGET_SCOPE_KIND_PROJECT",
12
+ BudgetScopeKindIdentity: "BUDGET_SCOPE_KIND_IDENTITY",
13
+ BudgetScopeKindApiKey: "BUDGET_SCOPE_KIND_API_KEY",
14
+ BudgetScopeKindProvider: "BUDGET_SCOPE_KIND_PROVIDER",
15
+ BudgetScopeKindModel: "BUDGET_SCOPE_KIND_MODEL",
16
+ } as const;
17
+ export type BudgetScopeKind = ClosedEnum<typeof BudgetScopeKind>;
18
+
19
+ /** @internal */
20
+ export const BudgetScopeKind$outboundSchema: z.ZodNativeEnum<
21
+ typeof BudgetScopeKind
22
+ > = z.nativeEnum(BudgetScopeKind);
@@ -0,0 +1,111 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { remap as remap$ } from "../../lib/primitives.js";
7
+
8
+ /**
9
+ * Request metadata forwarded for dynamic-budget matching
10
+ *
11
+ * @remarks
12
+ * (`metadata.team == "ml"`). Free-form JSON object from the request
13
+ * body's `metadata` field.
14
+ */
15
+ export type Metadata = {};
16
+
17
+ export type CheckBudgetsRequest = {
18
+ /**
19
+ * API key that issued the request (if any).
20
+ */
21
+ apiKeyId?: string | undefined;
22
+ /**
23
+ * Project the request targets (if any).
24
+ */
25
+ projectId?: string | undefined;
26
+ /**
27
+ * Identity external id for contact-scoped budgets (if any).
28
+ */
29
+ identityExternalId?: string | undefined;
30
+ /**
31
+ * Provider enum value for provider-scoped budgets (if any).
32
+ */
33
+ provider?: string | undefined;
34
+ /**
35
+ * Full model reference for model-scoped budgets (if any), exactly as
36
+ *
37
+ * @remarks
38
+ * the caller sent it: "provider/model" or "workspaceKey@provider/model".
39
+ */
40
+ modelId?: string | undefined;
41
+ /**
42
+ * Request metadata forwarded for dynamic-budget matching
43
+ *
44
+ * @remarks
45
+ * (`metadata.team == "ml"`). Free-form JSON object from the request
46
+ * body's `metadata` field.
47
+ */
48
+ metadata?: Metadata | undefined;
49
+ /**
50
+ * Request headers (lowercase keys) forwarded for dynamic-budget
51
+ *
52
+ * @remarks
53
+ * matching (`headers["x-env"] == "prod"`).
54
+ */
55
+ headers?: { [k: string]: string } | undefined;
56
+ };
57
+
58
+ /** @internal */
59
+ export type Metadata$Outbound = {};
60
+
61
+ /** @internal */
62
+ export const Metadata$outboundSchema: z.ZodType<
63
+ Metadata$Outbound,
64
+ z.ZodTypeDef,
65
+ Metadata
66
+ > = z.object({});
67
+
68
+ export function metadataToJSON(metadata: Metadata): string {
69
+ return JSON.stringify(Metadata$outboundSchema.parse(metadata));
70
+ }
71
+
72
+ /** @internal */
73
+ export type CheckBudgetsRequest$Outbound = {
74
+ api_key_id?: string | undefined;
75
+ project_id?: string | undefined;
76
+ identity_external_id?: string | undefined;
77
+ provider?: string | undefined;
78
+ model_id?: string | undefined;
79
+ metadata?: Metadata$Outbound | undefined;
80
+ headers?: { [k: string]: string } | undefined;
81
+ };
82
+
83
+ /** @internal */
84
+ export const CheckBudgetsRequest$outboundSchema: z.ZodType<
85
+ CheckBudgetsRequest$Outbound,
86
+ z.ZodTypeDef,
87
+ CheckBudgetsRequest
88
+ > = z.object({
89
+ apiKeyId: z.string().optional(),
90
+ projectId: z.string().optional(),
91
+ identityExternalId: z.string().optional(),
92
+ provider: z.string().optional(),
93
+ modelId: z.string().optional(),
94
+ metadata: z.lazy(() => Metadata$outboundSchema).optional(),
95
+ headers: z.record(z.string()).optional(),
96
+ }).transform((v) => {
97
+ return remap$(v, {
98
+ apiKeyId: "api_key_id",
99
+ projectId: "project_id",
100
+ identityExternalId: "identity_external_id",
101
+ modelId: "model_id",
102
+ });
103
+ });
104
+
105
+ export function checkBudgetsRequestToJSON(
106
+ checkBudgetsRequest: CheckBudgetsRequest,
107
+ ): string {
108
+ return JSON.stringify(
109
+ CheckBudgetsRequest$outboundSchema.parse(checkBudgetsRequest),
110
+ );
111
+ }