@meetkai/mka1 0.51.11 → 0.51.13

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 (182) hide show
  1. package/README.md +233 -227
  2. package/bin/mcp-server.js +350 -91
  3. package/bin/mcp-server.js.map +19 -11
  4. package/dist/commonjs/funcs/servingSpendGet.d.ts +19 -0
  5. package/dist/commonjs/funcs/servingSpendGet.d.ts.map +1 -0
  6. package/dist/commonjs/funcs/servingSpendGet.js +135 -0
  7. package/dist/commonjs/funcs/servingSpendGet.js.map +1 -0
  8. package/dist/commonjs/lib/config.d.ts +2 -2
  9. package/dist/commonjs/lib/config.js +2 -2
  10. package/dist/commonjs/mcp-server/mcp-server.js +1 -1
  11. package/dist/commonjs/mcp-server/server.d.ts.map +1 -1
  12. package/dist/commonjs/mcp-server/server.js +3 -1
  13. package/dist/commonjs/mcp-server/server.js.map +1 -1
  14. package/dist/commonjs/mcp-server/tools/servingSpendGet.d.ts +8 -0
  15. package/dist/commonjs/mcp-server/tools/servingSpendGet.d.ts.map +1 -0
  16. package/dist/commonjs/mcp-server/tools/servingSpendGet.js +64 -0
  17. package/dist/commonjs/mcp-server/tools/servingSpendGet.js.map +1 -0
  18. package/dist/commonjs/models/components/deployment.d.ts +5 -5
  19. package/dist/commonjs/models/components/deployment.d.ts.map +1 -1
  20. package/dist/commonjs/models/components/deployment.js +3 -3
  21. package/dist/commonjs/models/components/deployment.js.map +1 -1
  22. package/dist/commonjs/models/components/deploymentacceleratorspec.d.ts +55 -0
  23. package/dist/commonjs/models/components/deploymentacceleratorspec.d.ts.map +1 -0
  24. package/dist/commonjs/models/components/deploymentacceleratorspec.js +75 -0
  25. package/dist/commonjs/models/components/deploymentacceleratorspec.js.map +1 -0
  26. package/dist/commonjs/models/components/deploymentcreate.d.ts +5 -5
  27. package/dist/commonjs/models/components/deploymentcreate.d.ts.map +1 -1
  28. package/dist/commonjs/models/components/deploymentcreate.js +3 -3
  29. package/dist/commonjs/models/components/deploymentcreate.js.map +1 -1
  30. package/dist/commonjs/models/components/index.d.ts +5 -0
  31. package/dist/commonjs/models/components/index.d.ts.map +1 -1
  32. package/dist/commonjs/models/components/index.js +5 -0
  33. package/dist/commonjs/models/components/index.js.map +1 -1
  34. package/dist/commonjs/models/components/replica.d.ts +5 -5
  35. package/dist/commonjs/models/components/replica.d.ts.map +1 -1
  36. package/dist/commonjs/models/components/replica.js +3 -3
  37. package/dist/commonjs/models/components/replica.js.map +1 -1
  38. package/dist/commonjs/models/components/spendgroup.d.ts +29 -0
  39. package/dist/commonjs/models/components/spendgroup.d.ts.map +1 -0
  40. package/dist/commonjs/models/components/spendgroup.js +70 -0
  41. package/dist/commonjs/models/components/spendgroup.js.map +1 -0
  42. package/dist/commonjs/models/components/spenditem.d.ts +27 -0
  43. package/dist/commonjs/models/components/spenditem.d.ts.map +1 -0
  44. package/dist/commonjs/models/components/spenditem.js +62 -0
  45. package/dist/commonjs/models/components/spenditem.js.map +1 -0
  46. package/dist/commonjs/models/components/spendsummary.d.ts +40 -0
  47. package/dist/commonjs/models/components/spendsummary.d.ts.map +1 -0
  48. package/dist/commonjs/models/components/spendsummary.js +75 -0
  49. package/dist/commonjs/models/components/spendsummary.js.map +1 -0
  50. package/dist/commonjs/models/components/spendwindow.d.ts +25 -0
  51. package/dist/commonjs/models/components/spendwindow.d.ts.map +1 -0
  52. package/dist/commonjs/models/components/spendwindow.js +60 -0
  53. package/dist/commonjs/models/components/spendwindow.js.map +1 -0
  54. package/dist/commonjs/models/operations/getspend.d.ts +24 -0
  55. package/dist/commonjs/models/operations/getspend.d.ts.map +1 -0
  56. package/dist/commonjs/models/operations/getspend.js +71 -0
  57. package/dist/commonjs/models/operations/getspend.js.map +1 -0
  58. package/dist/commonjs/models/operations/index.d.ts +1 -0
  59. package/dist/commonjs/models/operations/index.d.ts.map +1 -1
  60. package/dist/commonjs/models/operations/index.js +1 -0
  61. package/dist/commonjs/models/operations/index.js.map +1 -1
  62. package/dist/commonjs/react-query/index.d.ts +1 -0
  63. package/dist/commonjs/react-query/index.d.ts.map +1 -1
  64. package/dist/commonjs/react-query/index.js +1 -0
  65. package/dist/commonjs/react-query/index.js.map +1 -1
  66. package/dist/commonjs/react-query/servingSpendGet.core.d.ts +17 -0
  67. package/dist/commonjs/react-query/servingSpendGet.core.d.ts.map +1 -0
  68. package/dist/commonjs/react-query/servingSpendGet.core.js +38 -0
  69. package/dist/commonjs/react-query/servingSpendGet.core.js.map +1 -0
  70. package/dist/commonjs/react-query/servingSpendGet.d.ts +41 -0
  71. package/dist/commonjs/react-query/servingSpendGet.d.ts.map +1 -0
  72. package/dist/commonjs/react-query/servingSpendGet.js +60 -0
  73. package/dist/commonjs/react-query/servingSpendGet.js.map +1 -0
  74. package/dist/commonjs/sdk/serving.d.ts +3 -0
  75. package/dist/commonjs/sdk/serving.d.ts.map +1 -1
  76. package/dist/commonjs/sdk/serving.js +4 -0
  77. package/dist/commonjs/sdk/serving.js.map +1 -1
  78. package/dist/commonjs/sdk/spend.d.ts +13 -0
  79. package/dist/commonjs/sdk/spend.d.ts.map +1 -0
  80. package/dist/commonjs/sdk/spend.js +22 -0
  81. package/dist/commonjs/sdk/spend.js.map +1 -0
  82. package/dist/esm/funcs/servingSpendGet.d.ts +19 -0
  83. package/dist/esm/funcs/servingSpendGet.d.ts.map +1 -0
  84. package/dist/esm/funcs/servingSpendGet.js +99 -0
  85. package/dist/esm/funcs/servingSpendGet.js.map +1 -0
  86. package/dist/esm/lib/config.d.ts +2 -2
  87. package/dist/esm/lib/config.js +2 -2
  88. package/dist/esm/mcp-server/mcp-server.js +1 -1
  89. package/dist/esm/mcp-server/server.d.ts.map +1 -1
  90. package/dist/esm/mcp-server/server.js +3 -1
  91. package/dist/esm/mcp-server/server.js.map +1 -1
  92. package/dist/esm/mcp-server/tools/servingSpendGet.d.ts +8 -0
  93. package/dist/esm/mcp-server/tools/servingSpendGet.d.ts.map +1 -0
  94. package/dist/esm/mcp-server/tools/servingSpendGet.js +28 -0
  95. package/dist/esm/mcp-server/tools/servingSpendGet.js.map +1 -0
  96. package/dist/esm/models/components/deployment.d.ts +5 -5
  97. package/dist/esm/models/components/deployment.d.ts.map +1 -1
  98. package/dist/esm/models/components/deployment.js +3 -3
  99. package/dist/esm/models/components/deployment.js.map +1 -1
  100. package/dist/esm/models/components/deploymentacceleratorspec.d.ts +55 -0
  101. package/dist/esm/models/components/deploymentacceleratorspec.d.ts.map +1 -0
  102. package/dist/esm/models/components/deploymentacceleratorspec.js +37 -0
  103. package/dist/esm/models/components/deploymentacceleratorspec.js.map +1 -0
  104. package/dist/esm/models/components/deploymentcreate.d.ts +5 -5
  105. package/dist/esm/models/components/deploymentcreate.d.ts.map +1 -1
  106. package/dist/esm/models/components/deploymentcreate.js +3 -3
  107. package/dist/esm/models/components/deploymentcreate.js.map +1 -1
  108. package/dist/esm/models/components/index.d.ts +5 -0
  109. package/dist/esm/models/components/index.d.ts.map +1 -1
  110. package/dist/esm/models/components/index.js +5 -0
  111. package/dist/esm/models/components/index.js.map +1 -1
  112. package/dist/esm/models/components/replica.d.ts +5 -5
  113. package/dist/esm/models/components/replica.d.ts.map +1 -1
  114. package/dist/esm/models/components/replica.js +3 -3
  115. package/dist/esm/models/components/replica.js.map +1 -1
  116. package/dist/esm/models/components/spendgroup.d.ts +29 -0
  117. package/dist/esm/models/components/spendgroup.d.ts.map +1 -0
  118. package/dist/esm/models/components/spendgroup.js +32 -0
  119. package/dist/esm/models/components/spendgroup.js.map +1 -0
  120. package/dist/esm/models/components/spenditem.d.ts +27 -0
  121. package/dist/esm/models/components/spenditem.d.ts.map +1 -0
  122. package/dist/esm/models/components/spenditem.js +24 -0
  123. package/dist/esm/models/components/spenditem.js.map +1 -0
  124. package/dist/esm/models/components/spendsummary.d.ts +40 -0
  125. package/dist/esm/models/components/spendsummary.d.ts.map +1 -0
  126. package/dist/esm/models/components/spendsummary.js +37 -0
  127. package/dist/esm/models/components/spendsummary.js.map +1 -0
  128. package/dist/esm/models/components/spendwindow.d.ts +25 -0
  129. package/dist/esm/models/components/spendwindow.d.ts.map +1 -0
  130. package/dist/esm/models/components/spendwindow.js +22 -0
  131. package/dist/esm/models/components/spendwindow.js.map +1 -0
  132. package/dist/esm/models/operations/getspend.d.ts +24 -0
  133. package/dist/esm/models/operations/getspend.d.ts.map +1 -0
  134. package/dist/esm/models/operations/getspend.js +33 -0
  135. package/dist/esm/models/operations/getspend.js.map +1 -0
  136. package/dist/esm/models/operations/index.d.ts +1 -0
  137. package/dist/esm/models/operations/index.d.ts.map +1 -1
  138. package/dist/esm/models/operations/index.js +1 -0
  139. package/dist/esm/models/operations/index.js.map +1 -1
  140. package/dist/esm/react-query/index.d.ts +1 -0
  141. package/dist/esm/react-query/index.d.ts.map +1 -1
  142. package/dist/esm/react-query/index.js +1 -0
  143. package/dist/esm/react-query/index.js.map +1 -1
  144. package/dist/esm/react-query/servingSpendGet.core.d.ts +17 -0
  145. package/dist/esm/react-query/servingSpendGet.core.d.ts.map +1 -0
  146. package/dist/esm/react-query/servingSpendGet.core.js +33 -0
  147. package/dist/esm/react-query/servingSpendGet.core.js.map +1 -0
  148. package/dist/esm/react-query/servingSpendGet.d.ts +41 -0
  149. package/dist/esm/react-query/servingSpendGet.d.ts.map +1 -0
  150. package/dist/esm/react-query/servingSpendGet.js +50 -0
  151. package/dist/esm/react-query/servingSpendGet.js.map +1 -0
  152. package/dist/esm/sdk/serving.d.ts +3 -0
  153. package/dist/esm/sdk/serving.d.ts.map +1 -1
  154. package/dist/esm/sdk/serving.js +4 -0
  155. package/dist/esm/sdk/serving.js.map +1 -1
  156. package/dist/esm/sdk/spend.d.ts +13 -0
  157. package/dist/esm/sdk/spend.d.ts.map +1 -0
  158. package/dist/esm/sdk/spend.js +18 -0
  159. package/dist/esm/sdk/spend.js.map +1 -0
  160. package/jsr.json +1 -1
  161. package/package.json +1 -1
  162. package/src/funcs/servingSpendGet.ts +197 -0
  163. package/src/lib/config.ts +2 -2
  164. package/src/mcp-server/mcp-server.ts +1 -1
  165. package/src/mcp-server/server.ts +3 -1
  166. package/src/mcp-server/tools/servingSpendGet.ts +37 -0
  167. package/src/models/components/deployment.ts +11 -11
  168. package/src/models/components/deploymentacceleratorspec.ts +100 -0
  169. package/src/models/components/deploymentcreate.ts +11 -11
  170. package/src/models/components/index.ts +5 -0
  171. package/src/models/components/replica.ts +11 -11
  172. package/src/models/components/spendgroup.ts +75 -0
  173. package/src/models/components/spenditem.ts +61 -0
  174. package/src/models/components/spendsummary.ts +95 -0
  175. package/src/models/components/spendwindow.ts +59 -0
  176. package/src/models/operations/getspend.ts +73 -0
  177. package/src/models/operations/index.ts +1 -0
  178. package/src/react-query/index.ts +1 -0
  179. package/src/react-query/servingSpendGet.core.ts +79 -0
  180. package/src/react-query/servingSpendGet.ts +145 -0
  181. package/src/sdk/serving.ts +6 -0
  182. package/src/sdk/spend.ts +28 -0
@@ -8,24 +8,24 @@ import { safeParse } from "../../lib/schemas.js";
8
8
  import { Result as SafeParseResult } from "../../types/fp.js";
9
9
  import { SDKValidationError } from "../errors/sdkvalidationerror.js";
10
10
  import {
11
- AcceleratorSpec,
12
- AcceleratorSpec$inboundSchema,
13
- AcceleratorSpec$Outbound,
14
- AcceleratorSpec$outboundSchema,
15
- } from "./acceleratorspec.js";
11
+ DeploymentAcceleratorSpec,
12
+ DeploymentAcceleratorSpec$inboundSchema,
13
+ DeploymentAcceleratorSpec$Outbound,
14
+ DeploymentAcceleratorSpec$outboundSchema,
15
+ } from "./deploymentacceleratorspec.js";
16
16
 
17
17
  /**
18
18
  * A single running replica (pod/container) behind a deployment.
19
19
  */
20
20
  export type Replica = {
21
21
  /**
22
- * A hardware accelerator request — GPU, NPU, TPU, or similar.
22
+ * A hardware accelerator request for a deployment — GPU, NPU, TPU, or cpu-class serving.
23
23
  *
24
24
  * @remarks
25
25
  *
26
- * Request an accelerator by type and count, with optional fallback types.
26
+ * Request an accelerator by type and count, with optional fallback types. Set class to cpu to deploy a cpu-capable managed recipe on CPU instances (type is then not required; the CPU resource floor comes from the recipe).
27
27
  */
28
- accelerator: AcceleratorSpec;
28
+ accelerator: DeploymentAcceleratorSpec;
29
29
  id: string;
30
30
  node?: string | null | undefined;
31
31
  priceUsdHr?: number | undefined;
@@ -41,7 +41,7 @@ export type Replica = {
41
41
  /** @internal */
42
42
  export const Replica$inboundSchema: z.ZodType<Replica, z.ZodTypeDef, unknown> =
43
43
  z.object({
44
- accelerator: AcceleratorSpec$inboundSchema,
44
+ accelerator: DeploymentAcceleratorSpec$inboundSchema,
45
45
  id: z.string(),
46
46
  node: z.nullable(z.string()).optional(),
47
47
  price_usd_hr: z.number().optional(),
@@ -59,7 +59,7 @@ export const Replica$inboundSchema: z.ZodType<Replica, z.ZodTypeDef, unknown> =
59
59
  });
60
60
  /** @internal */
61
61
  export type Replica$Outbound = {
62
- accelerator: AcceleratorSpec$Outbound;
62
+ accelerator: DeploymentAcceleratorSpec$Outbound;
63
63
  id: string;
64
64
  node?: string | null | undefined;
65
65
  price_usd_hr?: number | undefined;
@@ -75,7 +75,7 @@ export const Replica$outboundSchema: z.ZodType<
75
75
  z.ZodTypeDef,
76
76
  Replica
77
77
  > = z.object({
78
- accelerator: AcceleratorSpec$outboundSchema,
78
+ accelerator: DeploymentAcceleratorSpec$outboundSchema,
79
79
  id: z.string(),
80
80
  node: z.nullable(z.string()).optional(),
81
81
  priceUsdHr: z.number().optional(),
@@ -0,0 +1,75 @@
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
+ SpendItem,
12
+ SpendItem$inboundSchema,
13
+ SpendItem$Outbound,
14
+ SpendItem$outboundSchema,
15
+ } from "./spenditem.js";
16
+
17
+ /**
18
+ * Aggregate spend for one resource class.
19
+ */
20
+ export type SpendGroup = {
21
+ /**
22
+ * Highest-spend resources first; at most 100 entries.
23
+ */
24
+ items: Array<SpendItem>;
25
+ /**
26
+ * Full spend for this group in the window, including resources beyond the items cap.
27
+ */
28
+ totalUsd: number;
29
+ };
30
+
31
+ /** @internal */
32
+ export const SpendGroup$inboundSchema: z.ZodType<
33
+ SpendGroup,
34
+ z.ZodTypeDef,
35
+ unknown
36
+ > = z.object({
37
+ items: z.array(SpendItem$inboundSchema),
38
+ total_usd: z.number(),
39
+ }).transform((v) => {
40
+ return remap$(v, {
41
+ "total_usd": "totalUsd",
42
+ });
43
+ });
44
+ /** @internal */
45
+ export type SpendGroup$Outbound = {
46
+ items: Array<SpendItem$Outbound>;
47
+ total_usd: number;
48
+ };
49
+
50
+ /** @internal */
51
+ export const SpendGroup$outboundSchema: z.ZodType<
52
+ SpendGroup$Outbound,
53
+ z.ZodTypeDef,
54
+ SpendGroup
55
+ > = z.object({
56
+ items: z.array(SpendItem$outboundSchema),
57
+ totalUsd: z.number(),
58
+ }).transform((v) => {
59
+ return remap$(v, {
60
+ totalUsd: "total_usd",
61
+ });
62
+ });
63
+
64
+ export function spendGroupToJSON(spendGroup: SpendGroup): string {
65
+ return JSON.stringify(SpendGroup$outboundSchema.parse(spendGroup));
66
+ }
67
+ export function spendGroupFromJSON(
68
+ jsonString: string,
69
+ ): SafeParseResult<SpendGroup, SDKValidationError> {
70
+ return safeParse(
71
+ jsonString,
72
+ (x) => SpendGroup$inboundSchema.parse(JSON.parse(x)),
73
+ `Failed to parse 'SpendGroup' from JSON`,
74
+ );
75
+ }
@@ -0,0 +1,61 @@
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
+ * Computed spend for one resource within the window.
12
+ */
13
+ export type SpendItem = {
14
+ id: string;
15
+ name: string;
16
+ /**
17
+ * Computed spend within the window, in USD.
18
+ */
19
+ usd: number;
20
+ };
21
+
22
+ /** @internal */
23
+ export const SpendItem$inboundSchema: z.ZodType<
24
+ SpendItem,
25
+ z.ZodTypeDef,
26
+ unknown
27
+ > = z.object({
28
+ id: z.string(),
29
+ name: z.string(),
30
+ usd: z.number(),
31
+ });
32
+ /** @internal */
33
+ export type SpendItem$Outbound = {
34
+ id: string;
35
+ name: string;
36
+ usd: number;
37
+ };
38
+
39
+ /** @internal */
40
+ export const SpendItem$outboundSchema: z.ZodType<
41
+ SpendItem$Outbound,
42
+ z.ZodTypeDef,
43
+ SpendItem
44
+ > = z.object({
45
+ id: z.string(),
46
+ name: z.string(),
47
+ usd: z.number(),
48
+ });
49
+
50
+ export function spendItemToJSON(spendItem: SpendItem): string {
51
+ return JSON.stringify(SpendItem$outboundSchema.parse(spendItem));
52
+ }
53
+ export function spendItemFromJSON(
54
+ jsonString: string,
55
+ ): SafeParseResult<SpendItem, SDKValidationError> {
56
+ return safeParse(
57
+ jsonString,
58
+ (x) => SpendItem$inboundSchema.parse(JSON.parse(x)),
59
+ `Failed to parse 'SpendItem' from JSON`,
60
+ );
61
+ }
@@ -0,0 +1,95 @@
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
+ SpendGroup,
12
+ SpendGroup$inboundSchema,
13
+ SpendGroup$Outbound,
14
+ SpendGroup$outboundSchema,
15
+ } from "./spendgroup.js";
16
+ import {
17
+ SpendWindow,
18
+ SpendWindow$inboundSchema,
19
+ SpendWindow$Outbound,
20
+ SpendWindow$outboundSchema,
21
+ } from "./spendwindow.js";
22
+
23
+ /**
24
+ * Aggregate spend computed as price × runtime overlap with the window; derived on read, never stored.
25
+ */
26
+ export type SpendSummary = {
27
+ /**
28
+ * Aggregate spend for one resource class.
29
+ */
30
+ deployments: SpendGroup;
31
+ /**
32
+ * Aggregate spend for one resource class.
33
+ */
34
+ finetune: SpendGroup;
35
+ /**
36
+ * Total spend across deployments and fine-tune jobs in the window.
37
+ */
38
+ totalUsd: number;
39
+ /**
40
+ * The resolved reporting window.
41
+ */
42
+ window: SpendWindow;
43
+ };
44
+
45
+ /** @internal */
46
+ export const SpendSummary$inboundSchema: z.ZodType<
47
+ SpendSummary,
48
+ z.ZodTypeDef,
49
+ unknown
50
+ > = z.object({
51
+ deployments: SpendGroup$inboundSchema,
52
+ finetune: SpendGroup$inboundSchema,
53
+ total_usd: z.number(),
54
+ window: SpendWindow$inboundSchema,
55
+ }).transform((v) => {
56
+ return remap$(v, {
57
+ "total_usd": "totalUsd",
58
+ });
59
+ });
60
+ /** @internal */
61
+ export type SpendSummary$Outbound = {
62
+ deployments: SpendGroup$Outbound;
63
+ finetune: SpendGroup$Outbound;
64
+ total_usd: number;
65
+ window: SpendWindow$Outbound;
66
+ };
67
+
68
+ /** @internal */
69
+ export const SpendSummary$outboundSchema: z.ZodType<
70
+ SpendSummary$Outbound,
71
+ z.ZodTypeDef,
72
+ SpendSummary
73
+ > = z.object({
74
+ deployments: SpendGroup$outboundSchema,
75
+ finetune: SpendGroup$outboundSchema,
76
+ totalUsd: z.number(),
77
+ window: SpendWindow$outboundSchema,
78
+ }).transform((v) => {
79
+ return remap$(v, {
80
+ totalUsd: "total_usd",
81
+ });
82
+ });
83
+
84
+ export function spendSummaryToJSON(spendSummary: SpendSummary): string {
85
+ return JSON.stringify(SpendSummary$outboundSchema.parse(spendSummary));
86
+ }
87
+ export function spendSummaryFromJSON(
88
+ jsonString: string,
89
+ ): SafeParseResult<SpendSummary, SDKValidationError> {
90
+ return safeParse(
91
+ jsonString,
92
+ (x) => SpendSummary$inboundSchema.parse(JSON.parse(x)),
93
+ `Failed to parse 'SpendSummary' from JSON`,
94
+ );
95
+ }
@@ -0,0 +1,59 @@
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
+ * The resolved reporting window.
12
+ */
13
+ export type SpendWindow = {
14
+ end: Date;
15
+ /**
16
+ * Lower bound of the window; null when the request set none (total covers all history).
17
+ */
18
+ start?: Date | null | undefined;
19
+ };
20
+
21
+ /** @internal */
22
+ export const SpendWindow$inboundSchema: z.ZodType<
23
+ SpendWindow,
24
+ z.ZodTypeDef,
25
+ unknown
26
+ > = z.object({
27
+ end: z.string().datetime({ offset: true }).transform(v => new Date(v)),
28
+ start: z.nullable(
29
+ z.string().datetime({ offset: true }).transform(v => new Date(v)),
30
+ ).optional(),
31
+ });
32
+ /** @internal */
33
+ export type SpendWindow$Outbound = {
34
+ end: string;
35
+ start?: string | null | undefined;
36
+ };
37
+
38
+ /** @internal */
39
+ export const SpendWindow$outboundSchema: z.ZodType<
40
+ SpendWindow$Outbound,
41
+ z.ZodTypeDef,
42
+ SpendWindow
43
+ > = z.object({
44
+ end: z.date().transform(v => v.toISOString()),
45
+ start: z.nullable(z.date().transform(v => v.toISOString())).optional(),
46
+ });
47
+
48
+ export function spendWindowToJSON(spendWindow: SpendWindow): string {
49
+ return JSON.stringify(SpendWindow$outboundSchema.parse(spendWindow));
50
+ }
51
+ export function spendWindowFromJSON(
52
+ jsonString: string,
53
+ ): SafeParseResult<SpendWindow, SDKValidationError> {
54
+ return safeParse(
55
+ jsonString,
56
+ (x) => SpendWindow$inboundSchema.parse(JSON.parse(x)),
57
+ `Failed to parse 'SpendWindow' from JSON`,
58
+ );
59
+ }
@@ -0,0 +1,73 @@
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
+ export type GetSpendRequest = {
12
+ start?: Date | null | undefined;
13
+ end?: Date | null | undefined;
14
+ /**
15
+ * Optional external end-user identifier forwarded by the API gateway.
16
+ */
17
+ xOnBehalfOf?: string | undefined;
18
+ };
19
+
20
+ /** @internal */
21
+ export const GetSpendRequest$inboundSchema: z.ZodType<
22
+ GetSpendRequest,
23
+ z.ZodTypeDef,
24
+ unknown
25
+ > = z.object({
26
+ start: z.nullable(
27
+ z.string().datetime({ offset: true }).transform(v => new Date(v)),
28
+ ).optional(),
29
+ end: z.nullable(
30
+ z.string().datetime({ offset: true }).transform(v => new Date(v)),
31
+ ).optional(),
32
+ "X-On-Behalf-Of": z.string().optional(),
33
+ }).transform((v) => {
34
+ return remap$(v, {
35
+ "X-On-Behalf-Of": "xOnBehalfOf",
36
+ });
37
+ });
38
+ /** @internal */
39
+ export type GetSpendRequest$Outbound = {
40
+ start?: string | null | undefined;
41
+ end?: string | null | undefined;
42
+ "X-On-Behalf-Of"?: string | undefined;
43
+ };
44
+
45
+ /** @internal */
46
+ export const GetSpendRequest$outboundSchema: z.ZodType<
47
+ GetSpendRequest$Outbound,
48
+ z.ZodTypeDef,
49
+ GetSpendRequest
50
+ > = z.object({
51
+ start: z.nullable(z.date().transform(v => v.toISOString())).optional(),
52
+ end: z.nullable(z.date().transform(v => v.toISOString())).optional(),
53
+ xOnBehalfOf: z.string().optional(),
54
+ }).transform((v) => {
55
+ return remap$(v, {
56
+ xOnBehalfOf: "X-On-Behalf-Of",
57
+ });
58
+ });
59
+
60
+ export function getSpendRequestToJSON(
61
+ getSpendRequest: GetSpendRequest,
62
+ ): string {
63
+ return JSON.stringify(GetSpendRequest$outboundSchema.parse(getSpendRequest));
64
+ }
65
+ export function getSpendRequestFromJSON(
66
+ jsonString: string,
67
+ ): SafeParseResult<GetSpendRequest, SDKValidationError> {
68
+ return safeParse(
69
+ jsonString,
70
+ (x) => GetSpendRequest$inboundSchema.parse(JSON.parse(x)),
71
+ `Failed to parse 'GetSpendRequest' from JSON`,
72
+ );
73
+ }
@@ -176,6 +176,7 @@ export * from "./getskillversion.js";
176
176
  export * from "./getskillversioncontent.js";
177
177
  export * from "./getspeechtotexthistory.js";
178
178
  export * from "./getspeechtotexthistorycontent.js";
179
+ export * from "./getspend.js";
179
180
  export * from "./getteam.js";
180
181
  export * from "./gettexttospeechhistory.js";
181
182
  export * from "./gettexttospeechhistorycontent.js";
@@ -331,6 +331,7 @@ export * from "./servingRecipesSetEnabled.js";
331
331
  export * from "./servingSecretsCreate.js";
332
332
  export * from "./servingSecretsDelete.js";
333
333
  export * from "./servingSecretsList.js";
334
+ export * from "./servingSpendGet.js";
334
335
  export * from "./servingTenantsDeleteOrganization.js";
335
336
  export * from "./servingTenantsGet.js";
336
337
  export * from "./servingTenantsGetOrganizationDeletion.js";
@@ -0,0 +1,79 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import {
6
+ QueryClient,
7
+ QueryFunctionContext,
8
+ QueryKey,
9
+ } from "@tanstack/react-query";
10
+ import { SDKCore } from "../core.js";
11
+ import { servingSpendGet } from "../funcs/servingSpendGet.js";
12
+ import { combineSignals } from "../lib/primitives.js";
13
+ import { RequestOptions } from "../lib/sdks.js";
14
+ import * as components from "../models/components/index.js";
15
+ import * as operations from "../models/operations/index.js";
16
+ import { unwrapAsync } from "../types/fp.js";
17
+ export type ServingSpendGetQueryData = components.SpendSummary;
18
+
19
+ export function prefetchServingSpendGet(
20
+ queryClient: QueryClient,
21
+ client$: SDKCore,
22
+ request: operations.GetSpendRequest,
23
+ options?: RequestOptions,
24
+ ): Promise<void> {
25
+ return queryClient.prefetchQuery({
26
+ ...buildServingSpendGetQuery(
27
+ client$,
28
+ request,
29
+ options,
30
+ ),
31
+ });
32
+ }
33
+
34
+ export function buildServingSpendGetQuery(
35
+ client$: SDKCore,
36
+ request: operations.GetSpendRequest,
37
+ options?: RequestOptions,
38
+ ): {
39
+ queryKey: QueryKey;
40
+ queryFn: (context: QueryFunctionContext) => Promise<ServingSpendGetQueryData>;
41
+ } {
42
+ return {
43
+ queryKey: queryKeyServingSpendGet({
44
+ start: request.start,
45
+ end: request.end,
46
+ xOnBehalfOf: request.xOnBehalfOf,
47
+ }),
48
+ queryFn: async function servingSpendGetQueryFn(
49
+ ctx,
50
+ ): Promise<ServingSpendGetQueryData> {
51
+ const sig = combineSignals(
52
+ ctx.signal,
53
+ options?.signal,
54
+ options?.fetchOptions?.signal,
55
+ );
56
+ const mergedOptions = {
57
+ ...options?.fetchOptions,
58
+ ...options,
59
+ signal: sig,
60
+ };
61
+
62
+ return unwrapAsync(servingSpendGet(
63
+ client$,
64
+ request,
65
+ mergedOptions,
66
+ ));
67
+ },
68
+ };
69
+ }
70
+
71
+ export function queryKeyServingSpendGet(
72
+ parameters: {
73
+ start?: Date | null | undefined;
74
+ end?: Date | null | undefined;
75
+ xOnBehalfOf?: string | undefined;
76
+ },
77
+ ): QueryKey {
78
+ return ["@meetkai/mka1", "spend", "get", parameters];
79
+ }
@@ -0,0 +1,145 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import {
6
+ InvalidateQueryFilters,
7
+ QueryClient,
8
+ useQuery,
9
+ UseQueryResult,
10
+ useSuspenseQuery,
11
+ UseSuspenseQueryResult,
12
+ } from "@tanstack/react-query";
13
+ import {
14
+ ConnectionError,
15
+ InvalidRequestError,
16
+ RequestAbortedError,
17
+ RequestTimeoutError,
18
+ UnexpectedClientError,
19
+ } from "../models/errors/httpclienterrors.js";
20
+ import * as errors from "../models/errors/index.js";
21
+ import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
22
+ import { SDKError } from "../models/errors/sdkerror.js";
23
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
24
+ import * as operations from "../models/operations/index.js";
25
+ import { useSDKContext } from "./_context.js";
26
+ import {
27
+ QueryHookOptions,
28
+ SuspenseQueryHookOptions,
29
+ TupleToPrefixes,
30
+ } from "./_types.js";
31
+ import {
32
+ buildServingSpendGetQuery,
33
+ prefetchServingSpendGet,
34
+ queryKeyServingSpendGet,
35
+ ServingSpendGetQueryData,
36
+ } from "./servingSpendGet.core.js";
37
+ export {
38
+ buildServingSpendGetQuery,
39
+ prefetchServingSpendGet,
40
+ queryKeyServingSpendGet,
41
+ type ServingSpendGetQueryData,
42
+ };
43
+
44
+ export type ServingSpendGetQueryError =
45
+ | errors.ServingError
46
+ | errors.ServingHTTPValidationError
47
+ | SDKError
48
+ | ResponseValidationError
49
+ | ConnectionError
50
+ | RequestAbortedError
51
+ | RequestTimeoutError
52
+ | InvalidRequestError
53
+ | UnexpectedClientError
54
+ | SDKValidationError;
55
+
56
+ /**
57
+ * Cost and spend summary
58
+ *
59
+ * @remarks
60
+ * Aggregate spend for your organization, computed from retained compute ledgers as price × runtime overlap with the requested window. Spend is derived on read and is never stored.
61
+ */
62
+ export function useServingSpendGet(
63
+ request: operations.GetSpendRequest,
64
+ options?: QueryHookOptions<
65
+ ServingSpendGetQueryData,
66
+ ServingSpendGetQueryError
67
+ >,
68
+ ): UseQueryResult<ServingSpendGetQueryData, ServingSpendGetQueryError> {
69
+ const client = useSDKContext();
70
+ return useQuery({
71
+ ...buildServingSpendGetQuery(
72
+ client,
73
+ request,
74
+ options,
75
+ ),
76
+ ...options,
77
+ });
78
+ }
79
+
80
+ /**
81
+ * Cost and spend summary
82
+ *
83
+ * @remarks
84
+ * Aggregate spend for your organization, computed from retained compute ledgers as price × runtime overlap with the requested window. Spend is derived on read and is never stored.
85
+ */
86
+ export function useServingSpendGetSuspense(
87
+ request: operations.GetSpendRequest,
88
+ options?: SuspenseQueryHookOptions<
89
+ ServingSpendGetQueryData,
90
+ ServingSpendGetQueryError
91
+ >,
92
+ ): UseSuspenseQueryResult<ServingSpendGetQueryData, ServingSpendGetQueryError> {
93
+ const client = useSDKContext();
94
+ return useSuspenseQuery({
95
+ ...buildServingSpendGetQuery(
96
+ client,
97
+ request,
98
+ options,
99
+ ),
100
+ ...options,
101
+ });
102
+ }
103
+
104
+ export function setServingSpendGetData(
105
+ client: QueryClient,
106
+ queryKeyBase: [
107
+ parameters: {
108
+ start?: Date | null | undefined;
109
+ end?: Date | null | undefined;
110
+ xOnBehalfOf?: string | undefined;
111
+ },
112
+ ],
113
+ data: ServingSpendGetQueryData,
114
+ ): ServingSpendGetQueryData | undefined {
115
+ const key = queryKeyServingSpendGet(...queryKeyBase);
116
+
117
+ return client.setQueryData<ServingSpendGetQueryData>(key, data);
118
+ }
119
+
120
+ export function invalidateServingSpendGet(
121
+ client: QueryClient,
122
+ queryKeyBase: TupleToPrefixes<
123
+ [parameters: {
124
+ start?: Date | null | undefined;
125
+ end?: Date | null | undefined;
126
+ xOnBehalfOf?: string | undefined;
127
+ }]
128
+ >,
129
+ filters?: Omit<InvalidateQueryFilters, "queryKey" | "predicate" | "exact">,
130
+ ): Promise<void> {
131
+ return client.invalidateQueries({
132
+ ...filters,
133
+ queryKey: ["@meetkai/mka1", "spend", "get", ...queryKeyBase],
134
+ });
135
+ }
136
+
137
+ export function invalidateAllServingSpendGet(
138
+ client: QueryClient,
139
+ filters?: Omit<InvalidateQueryFilters, "queryKey" | "predicate" | "exact">,
140
+ ): Promise<void> {
141
+ return client.invalidateQueries({
142
+ ...filters,
143
+ queryKey: ["@meetkai/mka1", "spend", "get"],
144
+ });
145
+ }
@@ -10,6 +10,7 @@ import { Recipes } from "./recipes.js";
10
10
  import { SDKImages } from "./sdkimages.js";
11
11
  import { SDKModels } from "./sdkmodels.js";
12
12
  import { Secrets } from "./secrets.js";
13
+ import { Spend } from "./spend.js";
13
14
  import { Tenants } from "./tenants.js";
14
15
  import { Volumes } from "./volumes.js";
15
16
 
@@ -49,6 +50,11 @@ export class Serving extends ClientSDK {
49
50
  return (this._secrets ??= new Secrets(this._options));
50
51
  }
51
52
 
53
+ private _spend?: Spend;
54
+ get spend(): Spend {
55
+ return (this._spend ??= new Spend(this._options));
56
+ }
57
+
52
58
  private _tenants?: Tenants;
53
59
  get tenants(): Tenants {
54
60
  return (this._tenants ??= new Tenants(this._options));