@meetkai/mka1 0.54.65 → 0.54.67

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 (62) hide show
  1. package/bin/mcp-server.js +25 -8
  2. package/bin/mcp-server.js.map +10 -10
  3. package/dist/commonjs/funcs/sandboxSetPricing.d.ts +1 -1
  4. package/dist/commonjs/funcs/sandboxSetPricing.js +1 -1
  5. package/dist/commonjs/lib/config.d.ts +2 -2
  6. package/dist/commonjs/lib/config.js +2 -2
  7. package/dist/commonjs/mcp-server/mcp-server.js +1 -1
  8. package/dist/commonjs/mcp-server/server.js +1 -1
  9. package/dist/commonjs/mcp-server/tools/sandboxSetPricing.js +1 -1
  10. package/dist/commonjs/mcp-server/tools/sandboxSetPricing.js.map +1 -1
  11. package/dist/commonjs/models/components/computelog.d.ts +11 -0
  12. package/dist/commonjs/models/components/computelog.d.ts.map +1 -1
  13. package/dist/commonjs/models/components/computelog.js +2 -0
  14. package/dist/commonjs/models/components/computelog.js.map +1 -1
  15. package/dist/commonjs/models/components/sandboxpricingcard.d.ts +2 -0
  16. package/dist/commonjs/models/components/sandboxpricingcard.d.ts.map +1 -1
  17. package/dist/commonjs/models/components/sandboxpricingcard.js +2 -0
  18. package/dist/commonjs/models/components/sandboxpricingcard.js.map +1 -1
  19. package/dist/commonjs/models/components/sandboxpricingupdate.d.ts +11 -1
  20. package/dist/commonjs/models/components/sandboxpricingupdate.d.ts.map +1 -1
  21. package/dist/commonjs/models/components/sandboxpricingupdate.js +13 -0
  22. package/dist/commonjs/models/components/sandboxpricingupdate.js.map +1 -1
  23. package/dist/commonjs/react-query/sandboxSetPricing.d.ts +1 -1
  24. package/dist/commonjs/react-query/sandboxSetPricing.js +1 -1
  25. package/dist/commonjs/sdk/sandbox.d.ts +1 -1
  26. package/dist/commonjs/sdk/sandbox.js +1 -1
  27. package/dist/esm/funcs/sandboxSetPricing.d.ts +1 -1
  28. package/dist/esm/funcs/sandboxSetPricing.js +1 -1
  29. package/dist/esm/lib/config.d.ts +2 -2
  30. package/dist/esm/lib/config.js +2 -2
  31. package/dist/esm/mcp-server/mcp-server.js +1 -1
  32. package/dist/esm/mcp-server/server.js +1 -1
  33. package/dist/esm/mcp-server/tools/sandboxSetPricing.js +1 -1
  34. package/dist/esm/mcp-server/tools/sandboxSetPricing.js.map +1 -1
  35. package/dist/esm/models/components/computelog.d.ts +11 -0
  36. package/dist/esm/models/components/computelog.d.ts.map +1 -1
  37. package/dist/esm/models/components/computelog.js +2 -0
  38. package/dist/esm/models/components/computelog.js.map +1 -1
  39. package/dist/esm/models/components/sandboxpricingcard.d.ts +2 -0
  40. package/dist/esm/models/components/sandboxpricingcard.d.ts.map +1 -1
  41. package/dist/esm/models/components/sandboxpricingcard.js +2 -0
  42. package/dist/esm/models/components/sandboxpricingcard.js.map +1 -1
  43. package/dist/esm/models/components/sandboxpricingupdate.d.ts +11 -1
  44. package/dist/esm/models/components/sandboxpricingupdate.d.ts.map +1 -1
  45. package/dist/esm/models/components/sandboxpricingupdate.js +13 -0
  46. package/dist/esm/models/components/sandboxpricingupdate.js.map +1 -1
  47. package/dist/esm/react-query/sandboxSetPricing.d.ts +1 -1
  48. package/dist/esm/react-query/sandboxSetPricing.js +1 -1
  49. package/dist/esm/sdk/sandbox.d.ts +1 -1
  50. package/dist/esm/sdk/sandbox.js +1 -1
  51. package/jsr.json +1 -1
  52. package/package.json +1 -1
  53. package/src/funcs/sandboxSetPricing.ts +1 -1
  54. package/src/lib/config.ts +2 -2
  55. package/src/mcp-server/mcp-server.ts +1 -1
  56. package/src/mcp-server/server.ts +1 -1
  57. package/src/mcp-server/tools/sandboxSetPricing.ts +1 -1
  58. package/src/models/components/computelog.ts +13 -0
  59. package/src/models/components/sandboxpricingcard.ts +4 -0
  60. package/src/models/components/sandboxpricingupdate.ts +24 -1
  61. package/src/react-query/sandboxSetPricing.ts +1 -1
  62. package/src/sdk/sandbox.ts +1 -1
@@ -2,15 +2,28 @@
2
2
  * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
3
  */
4
4
  import * as z from "zod/v3";
5
+ import { remap as remap$ } from "../../lib/primitives.js";
5
6
  import { safeParse } from "../../lib/schemas.js";
6
7
  import { SandboxPriceRate$inboundSchema, SandboxPriceRate$outboundSchema, } from "./sandboxpricerate.js";
7
8
  /** @internal */
8
9
  export const SandboxPricingUpdate$inboundSchema = z.object({
9
10
  rates: z.record(SandboxPriceRate$inboundSchema),
11
+ currency: z.nullable(z.string()).optional(),
12
+ allow_unpriced: z.boolean().default(false),
13
+ }).transform((v) => {
14
+ return remap$(v, {
15
+ "allow_unpriced": "allowUnpriced",
16
+ });
10
17
  });
11
18
  /** @internal */
12
19
  export const SandboxPricingUpdate$outboundSchema = z.object({
13
20
  rates: z.record(SandboxPriceRate$outboundSchema),
21
+ currency: z.nullable(z.string()).optional(),
22
+ allowUnpriced: z.boolean().default(false),
23
+ }).transform((v) => {
24
+ return remap$(v, {
25
+ allowUnpriced: "allow_unpriced",
26
+ });
14
27
  });
15
28
  export function sandboxPricingUpdateToJSON(sandboxPricingUpdate) {
16
29
  return JSON.stringify(SandboxPricingUpdate$outboundSchema.parse(sandboxPricingUpdate));
@@ -1 +1 @@
1
- {"version":3,"file":"sandboxpricingupdate.js","sourceRoot":"","sources":["../../../../src/models/components/sandboxpricingupdate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGjD,OAAO,EAEL,8BAA8B,EAE9B,+BAA+B,GAChC,MAAM,uBAAuB,CAAC;AAS/B,gBAAgB;AAChB,MAAM,CAAC,MAAM,kCAAkC,GAI3C,CAAC,CAAC,MAAM,CAAC;IACX,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,8BAA8B,CAAC;CAChD,CAAC,CAAC;AAMH,gBAAgB;AAChB,MAAM,CAAC,MAAM,mCAAmC,GAI5C,CAAC,CAAC,MAAM,CAAC;IACX,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,+BAA+B,CAAC;CACjD,CAAC,CAAC;AAEH,MAAM,UAAU,0BAA0B,CACxC,oBAA0C;IAE1C,OAAO,IAAI,CAAC,SAAS,CACnB,mCAAmC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAChE,CAAC;AACJ,CAAC;AACD,MAAM,UAAU,4BAA4B,CAC1C,UAAkB;IAElB,OAAO,SAAS,CACd,UAAU,EACV,CAAC,CAAC,EAAE,EAAE,CAAC,kCAAkC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAC9D,kDAAkD,CACnD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"sandboxpricingupdate.js","sourceRoot":"","sources":["../../../../src/models/components/sandboxpricingupdate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,KAAK,IAAI,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGjD,OAAO,EAEL,8BAA8B,EAE9B,+BAA+B,GAChC,MAAM,uBAAuB,CAAC;AAiB/B,gBAAgB;AAChB,MAAM,CAAC,MAAM,kCAAkC,GAI3C,CAAC,CAAC,MAAM,CAAC;IACX,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,8BAA8B,CAAC;IAC/C,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC3C,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CAC3C,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;IACjB,OAAO,MAAM,CAAC,CAAC,EAAE;QACf,gBAAgB,EAAE,eAAe;KAClC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAQH,gBAAgB;AAChB,MAAM,CAAC,MAAM,mCAAmC,GAI5C,CAAC,CAAC,MAAM,CAAC;IACX,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,+BAA+B,CAAC;IAChD,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC3C,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CAC1C,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;IACjB,OAAO,MAAM,CAAC,CAAC,EAAE;QACf,aAAa,EAAE,gBAAgB;KAChC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,MAAM,UAAU,0BAA0B,CACxC,oBAA0C;IAE1C,OAAO,IAAI,CAAC,SAAS,CACnB,mCAAmC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAChE,CAAC;AACJ,CAAC;AACD,MAAM,UAAU,4BAA4B,CAC1C,UAAkB;IAElB,OAAO,SAAS,CACd,UAAU,EACV,CAAC,CAAC,EAAE,EAAE,CAAC,kCAAkC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAC9D,kDAAkD,CACnD,CAAC;AACJ,CAAC"}
@@ -18,7 +18,7 @@ export type SandboxSetPricingMutationError = errors.HTTPValidationError | SDKErr
18
18
  * Set Sandbox Pricing
19
19
  *
20
20
  * @remarks
21
- * Replace the sandbox pricing rate card. Full-replace semantics: SKUs omitted from the request become unpriced and accrue no spend. Takes effect on the next meter window without a restart. Cluster admins only.
21
+ * Replace the sandbox pricing rate card. Full-replace semantics. Omitting a SKU that currently has a price is refused with 422 unless `allow_unpriced` is true: an unpriced SKU accrues no spend and its usage cannot be billed. A `currency` that differs from the stored one is saved only after the budgeting service accepts it as the cluster's billing currency (409 when it conflicts, 503 when it cannot be verified). Takes effect on the next meter window without a restart. Cluster admins only.
22
22
  */
23
23
  export declare function useSandboxSetPricingMutation(options?: MutationHookOptions<SandboxSetPricingMutationData, SandboxSetPricingMutationError, SandboxSetPricingMutationVariables>): UseMutationResult<SandboxSetPricingMutationData, SandboxSetPricingMutationError, SandboxSetPricingMutationVariables>;
24
24
  export declare function mutationKeySandboxSetPricing(): MutationKey;
@@ -10,7 +10,7 @@ import { useSDKContext } from "./_context.js";
10
10
  * Set Sandbox Pricing
11
11
  *
12
12
  * @remarks
13
- * Replace the sandbox pricing rate card. Full-replace semantics: SKUs omitted from the request become unpriced and accrue no spend. Takes effect on the next meter window without a restart. Cluster admins only.
13
+ * Replace the sandbox pricing rate card. Full-replace semantics. Omitting a SKU that currently has a price is refused with 422 unless `allow_unpriced` is true: an unpriced SKU accrues no spend and its usage cannot be billed. A `currency` that differs from the stored one is saved only after the budgeting service accepts it as the cluster's billing currency (409 when it conflicts, 503 when it cannot be verified). Takes effect on the next meter window without a restart. Cluster admins only.
14
14
  */
15
15
  export function useSandboxSetPricingMutation(options) {
16
16
  const client = useSDKContext();
@@ -40,7 +40,7 @@ export declare class Sandbox extends ClientSDK {
40
40
  * Set Sandbox Pricing
41
41
  *
42
42
  * @remarks
43
- * Replace the sandbox pricing rate card. Full-replace semantics: SKUs omitted from the request become unpriced and accrue no spend. Takes effect on the next meter window without a restart. Cluster admins only.
43
+ * Replace the sandbox pricing rate card. Full-replace semantics. Omitting a SKU that currently has a price is refused with 422 unless `allow_unpriced` is true: an unpriced SKU accrues no spend and its usage cannot be billed. A `currency` that differs from the stored one is saved only after the budgeting service accepts it as the cluster's billing currency (409 when it conflicts, 503 when it cannot be verified). Takes effect on the next meter window without a restart. Cluster admins only.
44
44
  */
45
45
  setPricing(request: components.SandboxPricingUpdate, options?: RequestOptions): Promise<components.SandboxPricingCard>;
46
46
  /**
@@ -68,7 +68,7 @@ export class Sandbox extends ClientSDK {
68
68
  * Set Sandbox Pricing
69
69
  *
70
70
  * @remarks
71
- * Replace the sandbox pricing rate card. Full-replace semantics: SKUs omitted from the request become unpriced and accrue no spend. Takes effect on the next meter window without a restart. Cluster admins only.
71
+ * Replace the sandbox pricing rate card. Full-replace semantics. Omitting a SKU that currently has a price is refused with 422 unless `allow_unpriced` is true: an unpriced SKU accrues no spend and its usage cannot be billed. A `currency` that differs from the stored one is saved only after the budgeting service accepts it as the cluster's billing currency (409 when it conflicts, 503 when it cannot be verified). Takes effect on the next meter window without a restart. Cluster admins only.
72
72
  */
73
73
  async setPricing(request, options) {
74
74
  return unwrapAsync(sandboxSetPricing(this, request, options));
package/jsr.json CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  {
4
4
  "name": "@meetkai/mka1",
5
- "version": "0.54.65",
5
+ "version": "0.54.67",
6
6
  "exports": {
7
7
  ".": "./src/index.ts",
8
8
  "./models/errors": "./src/models/errors/index.ts",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meetkai/mka1",
3
- "version": "0.54.65",
3
+ "version": "0.54.67",
4
4
  "author": "Daniel Wilder <dauncy@gmail.com>",
5
5
  "homepage": "https://docs.mka1.com",
6
6
  "publishConfig": {
@@ -30,7 +30,7 @@ import { Result } from "../types/fp.js";
30
30
  * Set Sandbox Pricing
31
31
  *
32
32
  * @remarks
33
- * Replace the sandbox pricing rate card. Full-replace semantics: SKUs omitted from the request become unpriced and accrue no spend. Takes effect on the next meter window without a restart. Cluster admins only.
33
+ * Replace the sandbox pricing rate card. Full-replace semantics. Omitting a SKU that currently has a price is refused with 422 unless `allow_unpriced` is true: an unpriced SKU accrues no spend and its usage cannot be billed. A `currency` that differs from the stored one is saved only after the budgeting service accepts it as the cluster's billing currency (409 when it conflicts, 503 when it cannot be verified). Takes effect on the next meter window without a restart. Cluster admins only.
34
34
  *
35
35
  * If set, this operation will use {@link Security.bearerAuth} from the global security.
36
36
  */
package/src/lib/config.ts CHANGED
@@ -65,7 +65,7 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
65
65
  export const SDK_METADATA = {
66
66
  language: "typescript",
67
67
  openapiDocVersion: "1.1.0",
68
- sdkVersion: "0.54.65",
68
+ sdkVersion: "0.54.67",
69
69
  genVersion: "2.943.0",
70
- userAgent: "speakeasy-sdk/typescript 0.54.65 2.943.0 1.1.0 @meetkai/mka1",
70
+ userAgent: "speakeasy-sdk/typescript 0.54.67 2.943.0 1.1.0 @meetkai/mka1",
71
71
  } as const;
@@ -19,7 +19,7 @@ const routes = buildRouteMap({
19
19
  export const app = buildApplication(routes, {
20
20
  name: "mcp",
21
21
  versionInfo: {
22
- currentVersion: "0.54.65",
22
+ currentVersion: "0.54.67",
23
23
  },
24
24
  });
25
25
 
@@ -473,7 +473,7 @@ export function createMCPServer(deps: {
473
473
  }) {
474
474
  const server = new McpServer({
475
475
  name: "SDK",
476
- version: "0.54.65",
476
+ version: "0.54.67",
477
477
  });
478
478
 
479
479
  const client = new SDKCore({
@@ -14,7 +14,7 @@ export const tool$sandboxSetPricing: ToolDefinition<typeof args> = {
14
14
  name: "sandbox-set-pricing",
15
15
  description: `Set Sandbox Pricing
16
16
 
17
- Replace the sandbox pricing rate card. Full-replace semantics: SKUs omitted from the request become unpriced and accrue no spend. Takes effect on the next meter window without a restart. Cluster admins only.`,
17
+ Replace the sandbox pricing rate card. Full-replace semantics. Omitting a SKU that currently has a price is refused with 422 unless \`allow_unpriced\` is true: an unpriced SKU accrues no spend and its usage cannot be billed. A \`currency\` that differs from the stored one is saved only after the budgeting service accepts it as the cluster's billing currency (409 when it conflicts, 503 when it cannot be verified). Takes effect on the next meter window without a restart. Cluster admins only.`,
18
18
  args,
19
19
  tool: async (client, args, ctx) => {
20
20
  const [result, apiCall] = await sandboxSetPricing(
@@ -21,10 +21,20 @@ export const Stream = {
21
21
  } as const;
22
22
  export type Stream = ClosedEnum<typeof Stream>;
23
23
 
24
+ /**
25
+ * One line of a workload's output, or a system note about the workload. Lines are kept for 7 days.
26
+ */
24
27
  export type ComputeLog = {
25
28
  id: string;
29
+ /**
30
+ * The node of a multi-node workload that wrote the line, 0 when it has one node. Absent on lines no run wrote, such as lines of native services, which name their replica instead.
31
+ */
26
32
  instanceRank?: number | undefined;
27
33
  message: string;
34
+ /**
35
+ * The replica of a native service that wrote the line: an opaque id, stable for the replica's life. Absent on other lines.
36
+ */
37
+ replica?: string | undefined;
28
38
  source: ComputeLogSource1;
29
39
  stream: Stream;
30
40
  timestamp: Date;
@@ -55,6 +65,7 @@ export const ComputeLog$inboundSchema: z.ZodType<
55
65
  id: z.string(),
56
66
  instance_rank: z.number().int().optional(),
57
67
  message: z.string(),
68
+ replica: z.string().optional(),
58
69
  source: ComputeLogSource1$inboundSchema,
59
70
  stream: Stream$inboundSchema,
60
71
  timestamp: z.string().datetime({ offset: true }).transform(v => new Date(v)),
@@ -68,6 +79,7 @@ export type ComputeLog$Outbound = {
68
79
  id: string;
69
80
  instance_rank?: number | undefined;
70
81
  message: string;
82
+ replica?: string | undefined;
71
83
  source: string;
72
84
  stream: string;
73
85
  timestamp: string;
@@ -82,6 +94,7 @@ export const ComputeLog$outboundSchema: z.ZodType<
82
94
  id: z.string(),
83
95
  instanceRank: z.number().int().optional(),
84
96
  message: z.string(),
97
+ replica: z.string().optional(),
85
98
  source: ComputeLogSource1$outboundSchema,
86
99
  stream: Stream$outboundSchema,
87
100
  timestamp: z.date().transform(v => v.toISOString()),
@@ -16,6 +16,7 @@ import {
16
16
 
17
17
  export type SandboxPricingCard = {
18
18
  object?: "sandbox.pricing" | undefined;
19
+ currency?: string | null | undefined;
19
20
  rates?: { [k: string]: SandboxPriceRate } | undefined;
20
21
  updatedAt?: Date | null | undefined;
21
22
  updatedBy?: string | null | undefined;
@@ -28,6 +29,7 @@ export const SandboxPricingCard$inboundSchema: z.ZodType<
28
29
  unknown
29
30
  > = z.object({
30
31
  object: z.literal("sandbox.pricing").default("sandbox.pricing"),
32
+ currency: z.nullable(z.string()).optional(),
31
33
  rates: z.record(SandboxPriceRate$inboundSchema).optional(),
32
34
  updated_at: z.nullable(
33
35
  z.string().datetime({ offset: true }).transform(v => new Date(v)),
@@ -42,6 +44,7 @@ export const SandboxPricingCard$inboundSchema: z.ZodType<
42
44
  /** @internal */
43
45
  export type SandboxPricingCard$Outbound = {
44
46
  object: "sandbox.pricing";
47
+ currency?: string | null | undefined;
45
48
  rates?: { [k: string]: SandboxPriceRate$Outbound } | undefined;
46
49
  updated_at?: string | null | undefined;
47
50
  updated_by?: string | null | undefined;
@@ -54,6 +57,7 @@ export const SandboxPricingCard$outboundSchema: z.ZodType<
54
57
  SandboxPricingCard
55
58
  > = z.object({
56
59
  object: z.literal("sandbox.pricing").default("sandbox.pricing" as const),
60
+ currency: z.nullable(z.string()).optional(),
57
61
  rates: z.record(SandboxPriceRate$outboundSchema).optional(),
58
62
  updatedAt: z.nullable(z.date().transform(v => v.toISOString())).optional(),
59
63
  updatedBy: z.nullable(z.string()).optional(),
@@ -3,6 +3,7 @@
3
3
  */
4
4
 
5
5
  import * as z from "zod/v3";
6
+ import { remap as remap$ } from "../../lib/primitives.js";
6
7
  import { safeParse } from "../../lib/schemas.js";
7
8
  import { Result as SafeParseResult } from "../../types/fp.js";
8
9
  import { SDKValidationError } from "../errors/sdkvalidationerror.js";
@@ -14,10 +15,18 @@ import {
14
15
  } from "./sandboxpricerate.js";
15
16
 
16
17
  /**
17
- * Full-replace rate card update; omitted SKUs become unpriced.
18
+ * Full-replace rate card update.
19
+ *
20
+ * @remarks
21
+ *
22
+ * A SKU that has a price and is omitted here would become unpriced, and its
23
+ * usage would then be recorded with no cost, which can never be billed. That
24
+ * is refused unless ``allow_unpriced`` says it is intended.
18
25
  */
19
26
  export type SandboxPricingUpdate = {
20
27
  rates: { [k: string]: SandboxPriceRate };
28
+ currency?: string | null | undefined;
29
+ allowUnpriced?: boolean | undefined;
21
30
  };
22
31
 
23
32
  /** @internal */
@@ -27,10 +36,18 @@ export const SandboxPricingUpdate$inboundSchema: z.ZodType<
27
36
  unknown
28
37
  > = z.object({
29
38
  rates: z.record(SandboxPriceRate$inboundSchema),
39
+ currency: z.nullable(z.string()).optional(),
40
+ allow_unpriced: z.boolean().default(false),
41
+ }).transform((v) => {
42
+ return remap$(v, {
43
+ "allow_unpriced": "allowUnpriced",
44
+ });
30
45
  });
31
46
  /** @internal */
32
47
  export type SandboxPricingUpdate$Outbound = {
33
48
  rates: { [k: string]: SandboxPriceRate$Outbound };
49
+ currency?: string | null | undefined;
50
+ allow_unpriced: boolean;
34
51
  };
35
52
 
36
53
  /** @internal */
@@ -40,6 +57,12 @@ export const SandboxPricingUpdate$outboundSchema: z.ZodType<
40
57
  SandboxPricingUpdate
41
58
  > = z.object({
42
59
  rates: z.record(SandboxPriceRate$outboundSchema),
60
+ currency: z.nullable(z.string()).optional(),
61
+ allowUnpriced: z.boolean().default(false),
62
+ }).transform((v) => {
63
+ return remap$(v, {
64
+ allowUnpriced: "allow_unpriced",
65
+ });
43
66
  });
44
67
 
45
68
  export function sandboxPricingUpdateToJSON(
@@ -49,7 +49,7 @@ export type SandboxSetPricingMutationError =
49
49
  * Set Sandbox Pricing
50
50
  *
51
51
  * @remarks
52
- * Replace the sandbox pricing rate card. Full-replace semantics: SKUs omitted from the request become unpriced and accrue no spend. Takes effect on the next meter window without a restart. Cluster admins only.
52
+ * Replace the sandbox pricing rate card. Full-replace semantics. Omitting a SKU that currently has a price is refused with 422 unless `allow_unpriced` is true: an unpriced SKU accrues no spend and its usage cannot be billed. A `currency` that differs from the stored one is saved only after the budgeting service accepts it as the cluster's billing currency (409 when it conflicts, 503 when it cannot be verified). Takes effect on the next meter window without a restart. Cluster admins only.
53
53
  */
54
54
  export function useSandboxSetPricingMutation(
55
55
  options?: MutationHookOptions<
@@ -106,7 +106,7 @@ export class Sandbox extends ClientSDK {
106
106
  * Set Sandbox Pricing
107
107
  *
108
108
  * @remarks
109
- * Replace the sandbox pricing rate card. Full-replace semantics: SKUs omitted from the request become unpriced and accrue no spend. Takes effect on the next meter window without a restart. Cluster admins only.
109
+ * Replace the sandbox pricing rate card. Full-replace semantics. Omitting a SKU that currently has a price is refused with 422 unless `allow_unpriced` is true: an unpriced SKU accrues no spend and its usage cannot be billed. A `currency` that differs from the stored one is saved only after the budgeting service accepts it as the cluster's billing currency (409 when it conflicts, 503 when it cannot be verified). Takes effect on the next meter window without a restart. Cluster admins only.
110
110
  */
111
111
  async setPricing(
112
112
  request: components.SandboxPricingUpdate,