@flexprice/mcp-server 2.1.2 → 2.1.3

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 (175) hide show
  1. package/bin/mcp-server.js +518 -153
  2. package/bin/mcp-server.js.map +39 -17
  3. package/bun.lock +14 -14
  4. package/esm/funcs/{plansPostPlansIdClone.d.ts → plansClonePlan.d.ts} +3 -3
  5. package/esm/funcs/plansClonePlan.d.ts.map +1 -0
  6. package/esm/funcs/{plansPostPlansIdClone.js → plansClonePlan.js} +5 -5
  7. package/esm/funcs/plansClonePlan.js.map +1 -0
  8. package/esm/lib/config.d.ts +3 -3
  9. package/esm/lib/config.js +3 -3
  10. package/esm/mcp-server/mcp-server.js +1 -1
  11. package/esm/mcp-server/server.js +3 -3
  12. package/esm/mcp-server/server.js.map +1 -1
  13. package/esm/mcp-server/tools/plansClonePlan.d.ts +7 -0
  14. package/esm/mcp-server/tools/plansClonePlan.d.ts.map +1 -0
  15. package/esm/mcp-server/tools/{plansPostPlansIdClone.js → plansClonePlan.js} +7 -7
  16. package/esm/mcp-server/tools/plansClonePlan.js.map +1 -0
  17. package/esm/models/address.d.ts +11 -0
  18. package/esm/models/address.d.ts.map +1 -0
  19. package/esm/models/address.js +13 -0
  20. package/esm/models/address.js.map +1 -0
  21. package/esm/models/alertstate.d.ts +16 -0
  22. package/esm/models/alertstate.d.ts.map +1 -0
  23. package/esm/models/alertstate.js +17 -0
  24. package/esm/models/alertstate.js.map +1 -0
  25. package/esm/models/autotopup.d.ts +9 -0
  26. package/esm/models/autotopup.d.ts.map +1 -0
  27. package/esm/models/autotopup.js +11 -0
  28. package/esm/models/autotopup.js.map +1 -0
  29. package/esm/models/changedinvoice.d.ts +8 -2
  30. package/esm/models/changedinvoice.d.ts.map +1 -1
  31. package/esm/models/changedinvoice.js +8 -2
  32. package/esm/models/changedinvoice.js.map +1 -1
  33. package/esm/models/changedinvoiceaction.d.ts +18 -0
  34. package/esm/models/changedinvoiceaction.d.ts.map +1 -0
  35. package/esm/models/changedinvoiceaction.js +16 -0
  36. package/esm/models/changedinvoiceaction.js.map +1 -0
  37. package/esm/models/changedinvoicestatus.d.ts +18 -0
  38. package/esm/models/changedinvoicestatus.d.ts.map +1 -0
  39. package/esm/models/changedinvoicestatus.js +16 -0
  40. package/esm/models/changedinvoicestatus.js.map +1 -0
  41. package/esm/models/changedlineitem.d.ts +2 -1
  42. package/esm/models/changedlineitem.d.ts.map +1 -1
  43. package/esm/models/changedlineitem.js +2 -1
  44. package/esm/models/changedlineitem.js.map +1 -1
  45. package/esm/models/changedlineitemaction.d.ts +20 -0
  46. package/esm/models/changedlineitemaction.d.ts.map +1 -0
  47. package/esm/models/changedlineitemaction.js +18 -0
  48. package/esm/models/changedlineitemaction.js.map +1 -0
  49. package/esm/models/changedsubscription.d.ts +2 -1
  50. package/esm/models/changedsubscription.d.ts.map +1 -1
  51. package/esm/models/changedsubscription.js +2 -1
  52. package/esm/models/changedsubscription.js.map +1 -1
  53. package/esm/models/changedsubscriptionaction.d.ts +18 -0
  54. package/esm/models/changedsubscriptionaction.d.ts.map +1 -0
  55. package/esm/models/changedsubscriptionaction.js +16 -0
  56. package/esm/models/changedsubscriptionaction.js.map +1 -0
  57. package/esm/models/cloneplanop.d.ts +12 -0
  58. package/esm/models/cloneplanop.d.ts.map +1 -0
  59. package/esm/models/{postplansidcloneop.js → cloneplanop.js} +4 -3
  60. package/esm/models/cloneplanop.js.map +1 -0
  61. package/esm/models/createsubscriptionrequest.d.ts +1 -0
  62. package/esm/models/createsubscriptionrequest.d.ts.map +1 -1
  63. package/esm/models/createsubscriptionrequest.js +1 -0
  64. package/esm/models/createsubscriptionrequest.js.map +1 -1
  65. package/esm/models/creditbreakdown.d.ts +7 -0
  66. package/esm/models/creditbreakdown.d.ts.map +1 -0
  67. package/esm/models/creditbreakdown.js +9 -0
  68. package/esm/models/creditbreakdown.js.map +1 -0
  69. package/esm/models/creditgrantexpirydurationunit.d.ts +1 -1
  70. package/esm/models/tenantbillingdetails.d.ts +10 -0
  71. package/esm/models/tenantbillingdetails.d.ts.map +1 -0
  72. package/esm/models/tenantbillingdetails.js +13 -0
  73. package/esm/models/tenantbillingdetails.js.map +1 -0
  74. package/esm/models/tenantresponse.d.ts +15 -0
  75. package/esm/models/tenantresponse.d.ts.map +1 -0
  76. package/esm/models/tenantresponse.js +15 -0
  77. package/esm/models/tenantresponse.js.map +1 -0
  78. package/esm/models/transactionreason.d.ts +30 -0
  79. package/esm/models/transactionreason.d.ts.map +1 -0
  80. package/esm/models/transactionreason.js +31 -0
  81. package/esm/models/transactionreason.js.map +1 -0
  82. package/esm/models/transactionstatus.d.ts +14 -0
  83. package/esm/models/transactionstatus.d.ts.map +1 -0
  84. package/esm/models/transactionstatus.js +15 -0
  85. package/esm/models/transactionstatus.js.map +1 -0
  86. package/esm/models/transactiontype.d.ts +12 -0
  87. package/esm/models/transactiontype.d.ts.map +1 -0
  88. package/esm/models/transactiontype.js +13 -0
  89. package/esm/models/transactiontype.js.map +1 -0
  90. package/esm/models/userresponse.d.ts +12 -0
  91. package/esm/models/userresponse.d.ts.map +1 -0
  92. package/esm/models/userresponse.js +14 -0
  93. package/esm/models/userresponse.js.map +1 -0
  94. package/esm/models/usertype.d.ts +12 -0
  95. package/esm/models/usertype.d.ts.map +1 -0
  96. package/esm/models/usertype.js +13 -0
  97. package/esm/models/usertype.js.map +1 -0
  98. package/esm/models/walletconfig.d.ts +7 -0
  99. package/esm/models/walletconfig.d.ts.map +1 -0
  100. package/esm/models/walletconfig.js +10 -0
  101. package/esm/models/walletconfig.js.map +1 -0
  102. package/esm/models/walletconfigpricetype.d.ts +14 -0
  103. package/esm/models/walletconfigpricetype.d.ts.map +1 -0
  104. package/esm/models/walletconfigpricetype.js +15 -0
  105. package/esm/models/walletconfigpricetype.js.map +1 -0
  106. package/esm/models/walletresponse.d.ts +39 -0
  107. package/esm/models/walletresponse.d.ts.map +1 -0
  108. package/esm/models/walletresponse.js +39 -0
  109. package/esm/models/walletresponse.js.map +1 -0
  110. package/esm/models/walletstatus.d.ts +14 -0
  111. package/esm/models/walletstatus.d.ts.map +1 -0
  112. package/esm/models/walletstatus.js +15 -0
  113. package/esm/models/walletstatus.js.map +1 -0
  114. package/esm/models/wallettransactionresponse.d.ts +46 -0
  115. package/esm/models/wallettransactionresponse.d.ts.map +1 -0
  116. package/esm/models/wallettransactionresponse.js +46 -0
  117. package/esm/models/wallettransactionresponse.js.map +1 -0
  118. package/esm/models/wallettxreferencetype.d.ts +16 -0
  119. package/esm/models/wallettxreferencetype.d.ts.map +1 -0
  120. package/esm/models/wallettxreferencetype.js +17 -0
  121. package/esm/models/wallettxreferencetype.js.map +1 -0
  122. package/esm/models/wallettype.d.ts +12 -0
  123. package/esm/models/wallettype.d.ts.map +1 -0
  124. package/esm/models/wallettype.js +13 -0
  125. package/esm/models/wallettype.js.map +1 -0
  126. package/esm/models/windowsize.d.ts +2 -2
  127. package/esm/models/windowsize.js +2 -2
  128. package/esm/models/windowsize.js.map +1 -1
  129. package/esm/tool-names.js +1 -1
  130. package/esm/tool-names.js.map +1 -1
  131. package/esm/tsconfig.tsbuildinfo +1 -1
  132. package/manifest.json +2 -2
  133. package/package.json +1 -1
  134. package/src/funcs/{plansPostPlansIdClone.ts → plansClonePlan.ts} +9 -9
  135. package/src/lib/config.ts +3 -3
  136. package/src/mcp-server/mcp-server.ts +1 -1
  137. package/src/mcp-server/server.ts +3 -3
  138. package/src/mcp-server/tools/{plansPostPlansIdClone.ts → plansClonePlan.ts} +6 -6
  139. package/src/models/address.ts +23 -0
  140. package/src/models/alertstate.ts +21 -0
  141. package/src/models/autotopup.ts +19 -0
  142. package/src/models/changedinvoice.ts +28 -4
  143. package/src/models/changedinvoiceaction.ts +23 -0
  144. package/src/models/changedinvoicestatus.ts +25 -0
  145. package/src/models/changedlineitem.ts +7 -3
  146. package/src/models/changedlineitemaction.ts +25 -0
  147. package/src/models/changedsubscription.ts +8 -2
  148. package/src/models/changedsubscriptionaction.ts +25 -0
  149. package/src/models/{postplansidcloneop.ts → cloneplanop.ts} +9 -10
  150. package/src/models/createsubscriptionrequest.ts +4 -0
  151. package/src/models/creditbreakdown.ts +15 -0
  152. package/src/models/tenantbillingdetails.ts +21 -0
  153. package/src/models/tenantresponse.ts +29 -0
  154. package/src/models/transactionreason.ts +35 -0
  155. package/src/models/transactionstatus.ts +19 -0
  156. package/src/models/transactiontype.ts +17 -0
  157. package/src/models/userresponse.ts +23 -0
  158. package/src/models/usertype.ts +17 -0
  159. package/src/models/walletconfig.ts +20 -0
  160. package/src/models/walletconfigpricetype.ts +19 -0
  161. package/src/models/walletresponse.ts +74 -0
  162. package/src/models/walletstatus.ts +19 -0
  163. package/src/models/wallettransactionresponse.ts +104 -0
  164. package/src/models/wallettxreferencetype.ts +21 -0
  165. package/src/models/wallettype.ts +17 -0
  166. package/src/models/windowsize.ts +2 -2
  167. package/src/tool-names.ts +1 -1
  168. package/esm/funcs/plansPostPlansIdClone.d.ts.map +0 -1
  169. package/esm/funcs/plansPostPlansIdClone.js.map +0 -1
  170. package/esm/mcp-server/tools/plansPostPlansIdClone.d.ts +0 -7
  171. package/esm/mcp-server/tools/plansPostPlansIdClone.d.ts.map +0 -1
  172. package/esm/mcp-server/tools/plansPostPlansIdClone.js.map +0 -1
  173. package/esm/models/postplansidcloneop.d.ts +0 -12
  174. package/esm/models/postplansidcloneop.d.ts.map +0 -1
  175. package/esm/models/postplansidcloneop.js.map +0 -1
package/manifest.json CHANGED
@@ -48,7 +48,7 @@
48
48
  "sensitive": true
49
49
  }
50
50
  },
51
- "version": "2.1.2",
51
+ "version": "2.1.3",
52
52
  "tools": [
53
53
  {
54
54
  "name": "update-customer",
@@ -199,7 +199,7 @@
199
199
  "description": "Delete plan\n\nUse when retiring a plan (e.g. end-of-life). Existing subscriptions may be affected. Returns 200 with success message."
200
200
  },
201
201
  {
202
- "name": "plans-post-plans-id-clone",
202
+ "name": "clone-plan",
203
203
  "description": "Clone a plan\n\nClone an existing plan, copying its active prices, published entitlements, and published credit grants"
204
204
  },
205
205
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flexprice/mcp-server",
3
- "version": "2.1.2",
3
+ "version": "2.1.3",
4
4
  "author": "flexprice",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -9,6 +9,10 @@ import { safeParse } from "../lib/schemas.js";
9
9
  import { RequestOptions } from "../lib/sdks.js";
10
10
  import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
11
11
  import { pathToFunc } from "../lib/url.js";
12
+ import {
13
+ ClonePlanRequestRequest,
14
+ ClonePlanRequestRequest$zodSchema,
15
+ } from "../models/cloneplanop.js";
12
16
  import { APIError } from "../models/errors/apierror.js";
13
17
  import {
14
18
  ConnectionError,
@@ -18,10 +22,6 @@ import {
18
22
  UnexpectedClientError,
19
23
  } from "../models/errors/httpclienterrors.js";
20
24
  import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
21
- import {
22
- PostPlansIdCloneRequest,
23
- PostPlansIdCloneRequest$zodSchema,
24
- } from "../models/postplansidcloneop.js";
25
25
  import { APICall, APIPromise } from "../types/async.js";
26
26
  import { Result } from "../types/fp.js";
27
27
 
@@ -31,9 +31,9 @@ import { Result } from "../types/fp.js";
31
31
  * @remarks
32
32
  * Clone an existing plan, copying its active prices, published entitlements, and published credit grants
33
33
  */
34
- export function plansPostPlansIdClone(
34
+ export function plansClonePlan(
35
35
  client$: FlexpriceCore,
36
- request: PostPlansIdCloneRequest,
36
+ request: ClonePlanRequestRequest,
37
37
  options?: RequestOptions,
38
38
  ): APIPromise<
39
39
  Result<
@@ -56,7 +56,7 @@ export function plansPostPlansIdClone(
56
56
 
57
57
  async function $do(
58
58
  client$: FlexpriceCore,
59
- request: PostPlansIdCloneRequest,
59
+ request: ClonePlanRequestRequest,
60
60
  options?: RequestOptions,
61
61
  ): Promise<
62
62
  [
@@ -75,7 +75,7 @@ async function $do(
75
75
  > {
76
76
  const parsed$ = safeParse(
77
77
  request,
78
- (value$) => PostPlansIdCloneRequest$zodSchema.parse(value$),
78
+ (value$) => ClonePlanRequestRequest$zodSchema.parse(value$),
79
79
  "Input validation failed",
80
80
  );
81
81
  if (!parsed$.ok) {
@@ -104,7 +104,7 @@ async function $do(
104
104
  const context = {
105
105
  options: client$._options,
106
106
  baseURL: options?.serverURL ?? client$._baseURL ?? "",
107
- operationID: "post_/plans/{id}/clone",
107
+ operationID: "clonePlan",
108
108
  oAuth2Scopes: null,
109
109
  resolvedSecurity: requestSecurity,
110
110
  securitySource: client$._options.security,
package/src/lib/config.ts CHANGED
@@ -69,8 +69,8 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
69
69
  export const SDK_METADATA = {
70
70
  language: "typescript",
71
71
  openapiDocVersion: "1.0",
72
- sdkVersion: "2.1.2",
73
- genVersion: "2.879.11",
72
+ sdkVersion: "2.1.3",
73
+ genVersion: "2.879.13",
74
74
  userAgent:
75
- "speakeasy-sdk/mcp-typescript 2.1.2 2.879.11 1.0 @flexprice/mcp-server",
75
+ "speakeasy-sdk/mcp-typescript 2.1.3 2.879.13 1.0 @flexprice/mcp-server",
76
76
  } as const;
@@ -21,7 +21,7 @@ const routes = buildRouteMap({
21
21
  export const app = buildApplication(routes, {
22
22
  name: "mcp",
23
23
  versionInfo: {
24
- currentVersion: "2.1.2",
24
+ currentVersion: "2.1.3",
25
25
  },
26
26
  });
27
27
 
@@ -49,10 +49,10 @@ import { tool$invoicesTriggerInvoiceCommsWebhook } from "./tools/invoicesTrigger
49
49
  import { tool$invoicesUpdateInvoice } from "./tools/invoicesUpdateInvoice.js";
50
50
  import { tool$invoicesUpdateInvoicePaymentStatus } from "./tools/invoicesUpdateInvoicePaymentStatus.js";
51
51
  import { tool$invoicesVoidInvoice } from "./tools/invoicesVoidInvoice.js";
52
+ import { tool$plansClonePlan } from "./tools/plansClonePlan.js";
52
53
  import { tool$plansCreatePlan } from "./tools/plansCreatePlan.js";
53
54
  import { tool$plansDeletePlan } from "./tools/plansDeletePlan.js";
54
55
  import { tool$plansGetPlan } from "./tools/plansGetPlan.js";
55
- import { tool$plansPostPlansIdClone } from "./tools/plansPostPlansIdClone.js";
56
56
  import { tool$plansQueryPlan } from "./tools/plansQueryPlan.js";
57
57
  import { tool$plansSyncPlanPrices } from "./tools/plansSyncPlanPrices.js";
58
58
  import { tool$plansUpdatePlan } from "./tools/plansUpdatePlan.js";
@@ -104,7 +104,7 @@ export function createMCPServer(deps: {
104
104
  }) {
105
105
  const server = new McpServer({
106
106
  name: "Flexprice",
107
- version: "2.1.2",
107
+ version: "2.1.3",
108
108
  });
109
109
 
110
110
  const getClient = deps.getSDK || (() =>
@@ -186,7 +186,7 @@ export function createMCPServer(deps: {
186
186
  tool(tool$plansGetPlan);
187
187
  tool(tool$plansUpdatePlan);
188
188
  tool(tool$plansDeletePlan);
189
- tool(tool$plansPostPlansIdClone);
189
+ tool(tool$plansClonePlan);
190
190
  tool(tool$plansSyncPlanPrices);
191
191
  tool(tool$pricesCreatePrice);
192
192
  tool(tool$pricesCreatePricesBulk);
@@ -2,16 +2,16 @@
2
2
  * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
3
  */
4
4
 
5
- import { plansPostPlansIdClone } from "../../funcs/plansPostPlansIdClone.js";
6
- import { PostPlansIdCloneRequest$zodSchema } from "../../models/postplansidcloneop.js";
5
+ import { plansClonePlan } from "../../funcs/plansClonePlan.js";
6
+ import { ClonePlanRequestRequest$zodSchema } from "../../models/cloneplanop.js";
7
7
  import { formatResult, ToolDefinition } from "../tools.js";
8
8
 
9
9
  const args = {
10
- request: PostPlansIdCloneRequest$zodSchema,
10
+ request: ClonePlanRequestRequest$zodSchema,
11
11
  };
12
12
 
13
- export const tool$plansPostPlansIdClone: ToolDefinition<typeof args> = {
14
- name: "plans-post-plans-id-clone",
13
+ export const tool$plansClonePlan: ToolDefinition<typeof args> = {
14
+ name: "clone-plan",
15
15
  description: `Clone a plan
16
16
 
17
17
  Clone an existing plan, copying its active prices, published entitlements, and published credit grants`,
@@ -25,7 +25,7 @@ Clone an existing plan, copying its active prices, published entitlements, and p
25
25
  },
26
26
  args,
27
27
  tool: async (client, args, ctx) => {
28
- const [result] = await plansPostPlansIdClone(
28
+ const [result] = await plansClonePlan(
29
29
  client,
30
30
  args.request,
31
31
  { fetchOptions: { signal: ctx.signal } },
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod";
6
+
7
+ export type Address = {
8
+ address_city?: string | undefined;
9
+ address_country?: string | undefined;
10
+ address_line1?: string | undefined;
11
+ address_line2?: string | undefined;
12
+ address_postal_code?: string | undefined;
13
+ address_state?: string | undefined;
14
+ };
15
+
16
+ export const Address$zodSchema: z.ZodType<Address> = z.object({
17
+ address_city: z.string().optional(),
18
+ address_country: z.string().optional(),
19
+ address_line1: z.string().optional(),
20
+ address_line2: z.string().optional(),
21
+ address_postal_code: z.string().optional(),
22
+ address_state: z.string().optional(),
23
+ });
@@ -0,0 +1,21 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod";
6
+ import { ClosedEnum } from "../types/enums.js";
7
+
8
+ export const AlertState = {
9
+ Ok: "ok",
10
+ Info: "info",
11
+ Warning: "warning",
12
+ InAlarm: "in_alarm",
13
+ } as const;
14
+ export type AlertState = ClosedEnum<typeof AlertState>;
15
+
16
+ export const AlertState$zodSchema = z.enum([
17
+ "ok",
18
+ "info",
19
+ "warning",
20
+ "in_alarm",
21
+ ]);
@@ -0,0 +1,19 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod";
6
+
7
+ export type AutoTopup = {
8
+ amount?: number | undefined;
9
+ enabled?: boolean | undefined;
10
+ invoicing?: boolean | undefined;
11
+ threshold?: number | undefined;
12
+ };
13
+
14
+ export const AutoTopup$zodSchema: z.ZodType<AutoTopup> = z.object({
15
+ amount: z.number().optional(),
16
+ enabled: z.boolean().optional(),
17
+ invoicing: z.boolean().optional(),
18
+ threshold: z.number().optional(),
19
+ });
@@ -3,15 +3,39 @@
3
3
  */
4
4
 
5
5
  import * as z from "zod";
6
+ import {
7
+ ChangedInvoiceAction,
8
+ ChangedInvoiceAction$zodSchema,
9
+ } from "./changedinvoiceaction.js";
10
+ import {
11
+ ChangedInvoiceStatus,
12
+ ChangedInvoiceStatus$zodSchema,
13
+ } from "./changedinvoicestatus.js";
14
+ import {
15
+ InvoiceResponse,
16
+ InvoiceResponse$zodSchema,
17
+ } from "./invoiceresponse.js";
18
+ import {
19
+ WalletTransactionResponse,
20
+ WalletTransactionResponse$zodSchema,
21
+ } from "./wallettransactionresponse.js";
6
22
 
7
23
  export type ChangedInvoice = {
8
- action?: string | undefined;
24
+ action?: ChangedInvoiceAction | undefined;
9
25
  id?: string | undefined;
10
- status?: string | undefined;
26
+ invoice?: InvoiceResponse | undefined;
27
+ status?: ChangedInvoiceStatus | undefined;
28
+ wallet_transaction?: WalletTransactionResponse | undefined;
11
29
  };
12
30
 
13
31
  export const ChangedInvoice$zodSchema: z.ZodType<ChangedInvoice> = z.object({
14
- action: z.string().optional().describe("\"created\" | \"wallet_credit\""),
32
+ action: ChangedInvoiceAction$zodSchema.optional().describe(
33
+ "created (proration invoice) | wallet_credit (downgrade credit)",
34
+ ),
15
35
  id: z.string().optional(),
16
- status: z.string().optional(),
36
+ invoice: InvoiceResponse$zodSchema.optional(),
37
+ status: ChangedInvoiceStatus$zodSchema.optional().describe(
38
+ "preview | issued | INITIATED | PENDING | PROCESSING | SUCCEEDED | OVERPAID | FAILED | REFUNDED | PARTIALLY_REFUNDED",
39
+ ),
40
+ wallet_transaction: WalletTransactionResponse$zodSchema.optional(),
17
41
  });
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod";
6
+ import { ClosedEnum } from "../types/enums.js";
7
+
8
+ /**
9
+ * created (proration invoice) | wallet_credit (downgrade credit)
10
+ */
11
+ export const ChangedInvoiceAction = {
12
+ Created: "created",
13
+ WalletCredit: "wallet_credit",
14
+ } as const;
15
+ /**
16
+ * created (proration invoice) | wallet_credit (downgrade credit)
17
+ */
18
+ export type ChangedInvoiceAction = ClosedEnum<typeof ChangedInvoiceAction>;
19
+
20
+ export const ChangedInvoiceAction$zodSchema = z.enum([
21
+ "created",
22
+ "wallet_credit",
23
+ ]).describe("created (proration invoice) | wallet_credit (downgrade credit)");
@@ -0,0 +1,25 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod";
6
+ import { ClosedEnum } from "../types/enums.js";
7
+
8
+ /**
9
+ * preview | issued | INITIATED | PENDING | PROCESSING | SUCCEEDED | OVERPAID | FAILED | REFUNDED | PARTIALLY_REFUNDED
10
+ */
11
+ export const ChangedInvoiceStatus = {
12
+ Preview: "preview",
13
+ Issued: "issued",
14
+ } as const;
15
+ /**
16
+ * preview | issued | INITIATED | PENDING | PROCESSING | SUCCEEDED | OVERPAID | FAILED | REFUNDED | PARTIALLY_REFUNDED
17
+ */
18
+ export type ChangedInvoiceStatus = ClosedEnum<typeof ChangedInvoiceStatus>;
19
+
20
+ export const ChangedInvoiceStatus$zodSchema = z.enum([
21
+ "preview",
22
+ "issued",
23
+ ]).describe(
24
+ "preview | issued | INITIATED | PENDING | PROCESSING | SUCCEEDED | OVERPAID | FAILED | REFUNDED | PARTIALLY_REFUNDED",
25
+ );
@@ -3,9 +3,13 @@
3
3
  */
4
4
 
5
5
  import * as z from "zod";
6
+ import {
7
+ ChangedLineItemAction,
8
+ ChangedLineItemAction$zodSchema,
9
+ } from "./changedlineitemaction.js";
6
10
 
7
11
  export type ChangedLineItem = {
8
- change_action?: string | undefined;
12
+ change_action?: ChangedLineItemAction | undefined;
9
13
  end_date?: string | undefined;
10
14
  id?: string | undefined;
11
15
  price_id?: string | undefined;
@@ -14,8 +18,8 @@ export type ChangedLineItem = {
14
18
  };
15
19
 
16
20
  export const ChangedLineItem$zodSchema: z.ZodType<ChangedLineItem> = z.object({
17
- change_action: z.string().optional().describe(
18
- "\"created\" | \"updated\" | \"ended\"",
21
+ change_action: ChangedLineItemAction$zodSchema.optional().describe(
22
+ "created | updated | ended",
19
23
  ),
20
24
  end_date: z.iso.datetime({ offset: true }).optional(),
21
25
  id: z.string().optional(),
@@ -0,0 +1,25 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod";
6
+ import { ClosedEnum } from "../types/enums.js";
7
+
8
+ /**
9
+ * created | updated | ended
10
+ */
11
+ export const ChangedLineItemAction = {
12
+ Created: "created",
13
+ Updated: "updated",
14
+ Ended: "ended",
15
+ } as const;
16
+ /**
17
+ * created | updated | ended
18
+ */
19
+ export type ChangedLineItemAction = ClosedEnum<typeof ChangedLineItemAction>;
20
+
21
+ export const ChangedLineItemAction$zodSchema = z.enum([
22
+ "created",
23
+ "updated",
24
+ "ended",
25
+ ]).describe("created | updated | ended");
@@ -3,20 +3,26 @@
3
3
  */
4
4
 
5
5
  import * as z from "zod";
6
+ import {
7
+ ChangedSubscriptionAction,
8
+ ChangedSubscriptionAction$zodSchema,
9
+ } from "./changedsubscriptionaction.js";
6
10
  import {
7
11
  SubscriptionStatus,
8
12
  SubscriptionStatus$zodSchema,
9
13
  } from "./subscriptionstatus.js";
10
14
 
11
15
  export type ChangedSubscription = {
12
- action?: string | undefined;
16
+ action?: ChangedSubscriptionAction | undefined;
13
17
  id?: string | undefined;
14
18
  status?: SubscriptionStatus | undefined;
15
19
  };
16
20
 
17
21
  export const ChangedSubscription$zodSchema: z.ZodType<ChangedSubscription> = z
18
22
  .object({
19
- action: z.string().optional().describe("\"created\" | \"updated\""),
23
+ action: ChangedSubscriptionAction$zodSchema.optional().describe(
24
+ "created | updated",
25
+ ),
20
26
  id: z.string().optional(),
21
27
  status: SubscriptionStatus$zodSchema.optional(),
22
28
  });
@@ -0,0 +1,25 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod";
6
+ import { ClosedEnum } from "../types/enums.js";
7
+
8
+ /**
9
+ * created | updated
10
+ */
11
+ export const ChangedSubscriptionAction = {
12
+ Created: "created",
13
+ Updated: "updated",
14
+ } as const;
15
+ /**
16
+ * created | updated
17
+ */
18
+ export type ChangedSubscriptionAction = ClosedEnum<
19
+ typeof ChangedSubscriptionAction
20
+ >;
21
+
22
+ export const ChangedSubscriptionAction$zodSchema = z.enum([
23
+ "created",
24
+ "updated",
25
+ ]).describe("created | updated");
@@ -10,20 +10,19 @@ import {
10
10
  import { ErrorResponse, ErrorResponse$zodSchema } from "./errorresponse.js";
11
11
  import { PlanResponse, PlanResponse$zodSchema } from "./planresponse.js";
12
12
 
13
- export type PostPlansIdCloneRequest = { id: string; body: ClonePlanRequest };
13
+ export type ClonePlanRequestRequest = { id: string; body: ClonePlanRequest };
14
14
 
15
- export const PostPlansIdCloneRequest$zodSchema: z.ZodType<
16
- PostPlansIdCloneRequest
15
+ export const ClonePlanRequestRequest$zodSchema: z.ZodType<
16
+ ClonePlanRequestRequest
17
17
  > = z.object({
18
18
  body: ClonePlanRequest$zodSchema.describe("Clone configuration"),
19
19
  id: z.string().describe("Source Plan ID"),
20
20
  });
21
21
 
22
- export type PostPlansIdCloneResponse = PlanResponse | ErrorResponse;
22
+ export type ClonePlanResponse = PlanResponse | ErrorResponse;
23
23
 
24
- export const PostPlansIdCloneResponse$zodSchema: z.ZodType<
25
- PostPlansIdCloneResponse
26
- > = z.union([
27
- PlanResponse$zodSchema,
28
- ErrorResponse$zodSchema,
29
- ]);
24
+ export const ClonePlanResponse$zodSchema: z.ZodType<ClonePlanResponse> = z
25
+ .union([
26
+ PlanResponse$zodSchema,
27
+ ErrorResponse$zodSchema,
28
+ ]);
@@ -61,6 +61,7 @@ import {
61
61
 
62
62
  export type CreateSubscriptionRequest = {
63
63
  addons?: Array<AddAddonToSubscriptionRequest> | undefined;
64
+ billing_anchor?: string | undefined;
64
65
  billing_cycle?: BillingCycle | undefined;
65
66
  billing_period: BillingPeriod;
66
67
  billing_period_count?: number | undefined;
@@ -103,6 +104,9 @@ export const CreateSubscriptionRequest$zodSchema: z.ZodType<
103
104
  addons: z.array(AddAddonToSubscriptionRequest$zodSchema).optional().describe(
104
105
  "Addons represents addons to be added to the subscription during creation",
105
106
  ),
107
+ billing_anchor: z.iso.datetime({ offset: true }).optional().describe(
108
+ "BillingAnchor overrides the derived billing anchor when billing_cycle is anniversary.\nFor monthly billing, the day-of-month (and time-of-day) define cycle boundaries: if start_date\nis before that day in the month, the first billing period ends on the next occurrence of that\nday in the same month (a shorter first period); subsequent periods follow the usual interval.",
109
+ ),
106
110
  billing_cycle: BillingCycle$zodSchema.optional(),
107
111
  billing_period: BillingPeriod$zodSchema,
108
112
  billing_period_count: z.int().optional(),
@@ -0,0 +1,15 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod";
6
+
7
+ export type CreditBreakdown = {
8
+ free?: string | undefined;
9
+ purchased?: string | undefined;
10
+ };
11
+
12
+ export const CreditBreakdown$zodSchema: z.ZodType<CreditBreakdown> = z.object({
13
+ free: z.string().optional(),
14
+ purchased: z.string().optional(),
15
+ });
@@ -0,0 +1,21 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod";
6
+ import { Address, Address$zodSchema } from "./address.js";
7
+
8
+ export type TenantBillingDetails = {
9
+ address?: Address | undefined;
10
+ email?: string | undefined;
11
+ help_email?: string | undefined;
12
+ phone?: string | undefined;
13
+ };
14
+
15
+ export const TenantBillingDetails$zodSchema: z.ZodType<TenantBillingDetails> = z
16
+ .object({
17
+ address: Address$zodSchema.optional(),
18
+ email: z.string().optional(),
19
+ help_email: z.string().optional(),
20
+ phone: z.string().optional(),
21
+ });
@@ -0,0 +1,29 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod";
6
+ import {
7
+ TenantBillingDetails,
8
+ TenantBillingDetails$zodSchema,
9
+ } from "./tenantbillingdetails.js";
10
+
11
+ export type TenantResponse = {
12
+ billing_details?: TenantBillingDetails | undefined;
13
+ created_at?: string | undefined;
14
+ id?: string | undefined;
15
+ metadata?: { [k: string]: string } | undefined;
16
+ name?: string | undefined;
17
+ status?: string | undefined;
18
+ updated_at?: string | undefined;
19
+ };
20
+
21
+ export const TenantResponse$zodSchema: z.ZodType<TenantResponse> = z.object({
22
+ billing_details: TenantBillingDetails$zodSchema.optional(),
23
+ created_at: z.iso.datetime({ offset: true }).optional(),
24
+ id: z.string().optional(),
25
+ metadata: z.record(z.string(), z.string()).optional(),
26
+ name: z.string().optional(),
27
+ status: z.string().optional(),
28
+ updated_at: z.iso.datetime({ offset: true }).optional(),
29
+ });
@@ -0,0 +1,35 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod";
6
+ import { ClosedEnum } from "../types/enums.js";
7
+
8
+ export const TransactionReason = {
9
+ InvoicePayment: "INVOICE_PAYMENT",
10
+ FreeCreditGrant: "FREE_CREDIT_GRANT",
11
+ SubscriptionCreditGrant: "SUBSCRIPTION_CREDIT_GRANT",
12
+ PurchasedCreditInvoiced: "PURCHASED_CREDIT_INVOICED",
13
+ PurchasedCreditDirect: "PURCHASED_CREDIT_DIRECT",
14
+ CreditNote: "CREDIT_NOTE",
15
+ CreditExpired: "CREDIT_EXPIRED",
16
+ WalletTermination: "WALLET_TERMINATION",
17
+ ManualBalanceDebit: "MANUAL_BALANCE_DEBIT",
18
+ CreditAdjustment: "CREDIT_ADJUSTMENT",
19
+ InvoiceVoidRefund: "INVOICE_VOID_REFUND",
20
+ } as const;
21
+ export type TransactionReason = ClosedEnum<typeof TransactionReason>;
22
+
23
+ export const TransactionReason$zodSchema = z.enum([
24
+ "INVOICE_PAYMENT",
25
+ "FREE_CREDIT_GRANT",
26
+ "SUBSCRIPTION_CREDIT_GRANT",
27
+ "PURCHASED_CREDIT_INVOICED",
28
+ "PURCHASED_CREDIT_DIRECT",
29
+ "CREDIT_NOTE",
30
+ "CREDIT_EXPIRED",
31
+ "WALLET_TERMINATION",
32
+ "MANUAL_BALANCE_DEBIT",
33
+ "CREDIT_ADJUSTMENT",
34
+ "INVOICE_VOID_REFUND",
35
+ ]);
@@ -0,0 +1,19 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod";
6
+ import { ClosedEnum } from "../types/enums.js";
7
+
8
+ export const TransactionStatus = {
9
+ Pending: "pending",
10
+ Completed: "completed",
11
+ Failed: "failed",
12
+ } as const;
13
+ export type TransactionStatus = ClosedEnum<typeof TransactionStatus>;
14
+
15
+ export const TransactionStatus$zodSchema = z.enum([
16
+ "pending",
17
+ "completed",
18
+ "failed",
19
+ ]);
@@ -0,0 +1,17 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod";
6
+ import { ClosedEnum } from "../types/enums.js";
7
+
8
+ export const TransactionType = {
9
+ Credit: "credit",
10
+ Debit: "debit",
11
+ } as const;
12
+ export type TransactionType = ClosedEnum<typeof TransactionType>;
13
+
14
+ export const TransactionType$zodSchema = z.enum([
15
+ "credit",
16
+ "debit",
17
+ ]);
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod";
6
+ import { TenantResponse, TenantResponse$zodSchema } from "./tenantresponse.js";
7
+ import { UserType, UserType$zodSchema } from "./usertype.js";
8
+
9
+ export type UserResponse = {
10
+ email?: string | undefined;
11
+ id?: string | undefined;
12
+ roles?: Array<string> | undefined;
13
+ tenant?: TenantResponse | undefined;
14
+ type?: UserType | undefined;
15
+ };
16
+
17
+ export const UserResponse$zodSchema: z.ZodType<UserResponse> = z.object({
18
+ email: z.string().optional().describe("Empty for service accounts"),
19
+ id: z.string().optional(),
20
+ roles: z.array(z.string()).optional(),
21
+ tenant: TenantResponse$zodSchema.optional(),
22
+ type: UserType$zodSchema.optional(),
23
+ });