@greensecurity/javascript-sdk 0.37.6 → 0.37.10

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 (148) hide show
  1. package/README.md +6 -0
  2. package/bin/mcp-server.js +733 -385
  3. package/bin/mcp-server.js.map +14 -8
  4. package/dist/commonjs/__tests__/vendors.test.js +32 -0
  5. package/dist/commonjs/__tests__/vendors.test.js.map +1 -1
  6. package/dist/commonjs/__tests__/webhooks.test.js +1 -1
  7. package/dist/commonjs/__tests__/webhooks.test.js.map +1 -1
  8. package/dist/commonjs/__tests__/zones.test.js +5 -2
  9. package/dist/commonjs/__tests__/zones.test.js.map +1 -1
  10. package/dist/commonjs/funcs/vendorsCalculateSubscriptionPrice.d.ts +18 -0
  11. package/dist/commonjs/funcs/vendorsCalculateSubscriptionPrice.d.ts.map +1 -0
  12. package/dist/commonjs/funcs/vendorsCalculateSubscriptionPrice.js +123 -0
  13. package/dist/commonjs/funcs/vendorsCalculateSubscriptionPrice.js.map +1 -0
  14. package/dist/commonjs/funcs/vendorsChangeSubscription.d.ts +18 -0
  15. package/dist/commonjs/funcs/vendorsChangeSubscription.d.ts.map +1 -0
  16. package/dist/commonjs/funcs/vendorsChangeSubscription.js +123 -0
  17. package/dist/commonjs/funcs/vendorsChangeSubscription.js.map +1 -0
  18. package/dist/commonjs/lib/config.d.ts +3 -3
  19. package/dist/commonjs/lib/config.js +3 -3
  20. package/dist/commonjs/lib/config.js.map +1 -1
  21. package/dist/commonjs/mcp-server/mcp-server.js +1 -1
  22. package/dist/commonjs/mcp-server/mcp-server.js.map +1 -1
  23. package/dist/commonjs/mcp-server/server.d.ts.map +1 -1
  24. package/dist/commonjs/mcp-server/server.js +5 -1
  25. package/dist/commonjs/mcp-server/server.js.map +1 -1
  26. package/dist/commonjs/mcp-server/tools/vendorsCalculateSubscriptionPrice.d.ts +8 -0
  27. package/dist/commonjs/mcp-server/tools/vendorsCalculateSubscriptionPrice.d.ts.map +1 -0
  28. package/dist/commonjs/mcp-server/tools/vendorsCalculateSubscriptionPrice.js +64 -0
  29. package/dist/commonjs/mcp-server/tools/vendorsCalculateSubscriptionPrice.js.map +1 -0
  30. package/dist/commonjs/mcp-server/tools/vendorsChangeSubscription.d.ts +8 -0
  31. package/dist/commonjs/mcp-server/tools/vendorsChangeSubscription.d.ts.map +1 -0
  32. package/dist/commonjs/mcp-server/tools/vendorsChangeSubscription.js +64 -0
  33. package/dist/commonjs/mcp-server/tools/vendorsChangeSubscription.js.map +1 -0
  34. package/dist/commonjs/models/operations/calculatesubscriptionprice.d.ts +89 -0
  35. package/dist/commonjs/models/operations/calculatesubscriptionprice.d.ts.map +1 -0
  36. package/dist/commonjs/models/operations/calculatesubscriptionprice.js +148 -0
  37. package/dist/commonjs/models/operations/calculatesubscriptionprice.js.map +1 -0
  38. package/dist/commonjs/models/operations/changesubscription.d.ts +93 -0
  39. package/dist/commonjs/models/operations/changesubscription.d.ts.map +1 -0
  40. package/dist/commonjs/models/operations/changesubscription.js +152 -0
  41. package/dist/commonjs/models/operations/changesubscription.js.map +1 -0
  42. package/dist/commonjs/models/operations/index.d.ts +2 -0
  43. package/dist/commonjs/models/operations/index.d.ts.map +1 -1
  44. package/dist/commonjs/models/operations/index.js +2 -0
  45. package/dist/commonjs/models/operations/index.js.map +1 -1
  46. package/dist/commonjs/models/operations/securityzonecheckin.d.ts +4 -4
  47. package/dist/commonjs/models/operations/securityzonecheckin.js +4 -4
  48. package/dist/commonjs/models/operations/securityzonecheckin.js.map +1 -1
  49. package/dist/commonjs/react-query/index.d.ts +2 -0
  50. package/dist/commonjs/react-query/index.d.ts.map +1 -1
  51. package/dist/commonjs/react-query/index.js +2 -0
  52. package/dist/commonjs/react-query/index.js.map +1 -1
  53. package/dist/commonjs/react-query/vendorsCalculateSubscriptionPrice.d.ts +23 -0
  54. package/dist/commonjs/react-query/vendorsCalculateSubscriptionPrice.d.ts.map +1 -0
  55. package/dist/commonjs/react-query/vendorsCalculateSubscriptionPrice.js +51 -0
  56. package/dist/commonjs/react-query/vendorsCalculateSubscriptionPrice.js.map +1 -0
  57. package/dist/commonjs/react-query/vendorsChangeSubscription.d.ts +23 -0
  58. package/dist/commonjs/react-query/vendorsChangeSubscription.d.ts.map +1 -0
  59. package/dist/commonjs/react-query/vendorsChangeSubscription.js +47 -0
  60. package/dist/commonjs/react-query/vendorsChangeSubscription.js.map +1 -0
  61. package/dist/commonjs/sdk/vendors.d.ts +14 -0
  62. package/dist/commonjs/sdk/vendors.d.ts.map +1 -1
  63. package/dist/commonjs/sdk/vendors.js +20 -0
  64. package/dist/commonjs/sdk/vendors.js.map +1 -1
  65. package/dist/esm/__tests__/vendors.test.js +32 -0
  66. package/dist/esm/__tests__/vendors.test.js.map +1 -1
  67. package/dist/esm/__tests__/webhooks.test.js +1 -1
  68. package/dist/esm/__tests__/webhooks.test.js.map +1 -1
  69. package/dist/esm/__tests__/zones.test.js +5 -2
  70. package/dist/esm/__tests__/zones.test.js.map +1 -1
  71. package/dist/esm/funcs/vendorsCalculateSubscriptionPrice.d.ts +18 -0
  72. package/dist/esm/funcs/vendorsCalculateSubscriptionPrice.d.ts.map +1 -0
  73. package/dist/esm/funcs/vendorsCalculateSubscriptionPrice.js +87 -0
  74. package/dist/esm/funcs/vendorsCalculateSubscriptionPrice.js.map +1 -0
  75. package/dist/esm/funcs/vendorsChangeSubscription.d.ts +18 -0
  76. package/dist/esm/funcs/vendorsChangeSubscription.d.ts.map +1 -0
  77. package/dist/esm/funcs/vendorsChangeSubscription.js +87 -0
  78. package/dist/esm/funcs/vendorsChangeSubscription.js.map +1 -0
  79. package/dist/esm/lib/config.d.ts +3 -3
  80. package/dist/esm/lib/config.js +3 -3
  81. package/dist/esm/lib/config.js.map +1 -1
  82. package/dist/esm/mcp-server/mcp-server.js +1 -1
  83. package/dist/esm/mcp-server/mcp-server.js.map +1 -1
  84. package/dist/esm/mcp-server/server.d.ts.map +1 -1
  85. package/dist/esm/mcp-server/server.js +5 -1
  86. package/dist/esm/mcp-server/server.js.map +1 -1
  87. package/dist/esm/mcp-server/tools/vendorsCalculateSubscriptionPrice.d.ts +8 -0
  88. package/dist/esm/mcp-server/tools/vendorsCalculateSubscriptionPrice.d.ts.map +1 -0
  89. package/dist/esm/mcp-server/tools/vendorsCalculateSubscriptionPrice.js +28 -0
  90. package/dist/esm/mcp-server/tools/vendorsCalculateSubscriptionPrice.js.map +1 -0
  91. package/dist/esm/mcp-server/tools/vendorsChangeSubscription.d.ts +8 -0
  92. package/dist/esm/mcp-server/tools/vendorsChangeSubscription.d.ts.map +1 -0
  93. package/dist/esm/mcp-server/tools/vendorsChangeSubscription.js +28 -0
  94. package/dist/esm/mcp-server/tools/vendorsChangeSubscription.js.map +1 -0
  95. package/dist/esm/models/operations/calculatesubscriptionprice.d.ts +89 -0
  96. package/dist/esm/models/operations/calculatesubscriptionprice.d.ts.map +1 -0
  97. package/dist/esm/models/operations/calculatesubscriptionprice.js +106 -0
  98. package/dist/esm/models/operations/calculatesubscriptionprice.js.map +1 -0
  99. package/dist/esm/models/operations/changesubscription.d.ts +93 -0
  100. package/dist/esm/models/operations/changesubscription.d.ts.map +1 -0
  101. package/dist/esm/models/operations/changesubscription.js +110 -0
  102. package/dist/esm/models/operations/changesubscription.js.map +1 -0
  103. package/dist/esm/models/operations/index.d.ts +2 -0
  104. package/dist/esm/models/operations/index.d.ts.map +1 -1
  105. package/dist/esm/models/operations/index.js +2 -0
  106. package/dist/esm/models/operations/index.js.map +1 -1
  107. package/dist/esm/models/operations/securityzonecheckin.d.ts +4 -4
  108. package/dist/esm/models/operations/securityzonecheckin.js +4 -4
  109. package/dist/esm/models/operations/securityzonecheckin.js.map +1 -1
  110. package/dist/esm/react-query/index.d.ts +2 -0
  111. package/dist/esm/react-query/index.d.ts.map +1 -1
  112. package/dist/esm/react-query/index.js +2 -0
  113. package/dist/esm/react-query/index.js.map +1 -1
  114. package/dist/esm/react-query/vendorsCalculateSubscriptionPrice.d.ts +23 -0
  115. package/dist/esm/react-query/vendorsCalculateSubscriptionPrice.d.ts.map +1 -0
  116. package/dist/esm/react-query/vendorsCalculateSubscriptionPrice.js +46 -0
  117. package/dist/esm/react-query/vendorsCalculateSubscriptionPrice.js.map +1 -0
  118. package/dist/esm/react-query/vendorsChangeSubscription.d.ts +23 -0
  119. package/dist/esm/react-query/vendorsChangeSubscription.d.ts.map +1 -0
  120. package/dist/esm/react-query/vendorsChangeSubscription.js +42 -0
  121. package/dist/esm/react-query/vendorsChangeSubscription.js.map +1 -0
  122. package/dist/esm/sdk/vendors.d.ts +14 -0
  123. package/dist/esm/sdk/vendors.d.ts.map +1 -1
  124. package/dist/esm/sdk/vendors.js +20 -0
  125. package/dist/esm/sdk/vendors.js.map +1 -1
  126. package/examples/package-lock.json +643 -0
  127. package/examples/package.json +18 -0
  128. package/examples/vendorsCreateVendorRegistration.example.ts +29 -0
  129. package/jsr.json +1 -1
  130. package/package.json +2 -2
  131. package/src/__tests__/vendors.test.ts +38 -0
  132. package/src/__tests__/webhooks.test.ts +1 -1
  133. package/src/__tests__/zones.test.ts +5 -2
  134. package/src/funcs/vendorsCalculateSubscriptionPrice.ts +182 -0
  135. package/src/funcs/vendorsChangeSubscription.ts +178 -0
  136. package/src/lib/config.ts +3 -3
  137. package/src/mcp-server/mcp-server.ts +1 -1
  138. package/src/mcp-server/server.ts +5 -1
  139. package/src/mcp-server/tools/vendorsCalculateSubscriptionPrice.ts +39 -0
  140. package/src/mcp-server/tools/vendorsChangeSubscription.ts +37 -0
  141. package/src/models/operations/calculatesubscriptionprice.ts +235 -0
  142. package/src/models/operations/changesubscription.ts +229 -0
  143. package/src/models/operations/index.ts +2 -0
  144. package/src/models/operations/securityzonecheckin.ts +8 -8
  145. package/src/react-query/index.ts +2 -0
  146. package/src/react-query/vendorsCalculateSubscriptionPrice.ts +93 -0
  147. package/src/react-query/vendorsChangeSubscription.ts +89 -0
  148. package/src/sdk/vendors.ts +36 -0
package/jsr.json CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  {
4
4
  "name": "@greensecurity/javascript-sdk",
5
- "version": "0.37.6",
5
+ "version": "0.37.10",
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": "@greensecurity/javascript-sdk",
3
- "version": "0.37.6",
3
+ "version": "0.37.10",
4
4
  "author": "Green Security LLC",
5
5
  "type": "module",
6
6
  "bin": {
@@ -41,7 +41,7 @@
41
41
  "@tanstack/react-query": "^5",
42
42
  "react": "^18 || ^19",
43
43
  "react-dom": "^18 || ^19",
44
- "zod": ">= 3"
44
+ "zod": "^3"
45
45
  },
46
46
  "peerDependenciesMeta": {
47
47
  "@modelcontextprotocol/sdk": {
@@ -841,3 +841,41 @@ test("Vendors Accept Vendor Credential", async () => {
841
841
  expect(result).toBeDefined();
842
842
  expect(result).toEqual(true);
843
843
  });
844
+
845
+ test("Vendors Calculate Subscription Price", async () => {
846
+ const testHttpClient = createTestHTTPClient("calculateSubscriptionPrice");
847
+
848
+ const greenSecurity = new GreenSecurity({
849
+ serverURL: process.env["TEST_SERVER_URL"] ?? "https://localhost:3000/api",
850
+ httpClient: testHttpClient,
851
+ security: {
852
+ token: process.env["GREEN_SECURITY_TOKEN"] ?? "value",
853
+ },
854
+ });
855
+
856
+ const result = await greenSecurity.vendors.calculateSubscriptionPrice({
857
+ vendorIdOrMe: "<value>",
858
+ requestBody: {},
859
+ });
860
+ expect(result).toBeDefined();
861
+ expect(result).toEqual({});
862
+ });
863
+
864
+ test("Vendors Change Subscription", async () => {
865
+ const testHttpClient = createTestHTTPClient("changeSubscription");
866
+
867
+ const greenSecurity = new GreenSecurity({
868
+ serverURL: process.env["TEST_SERVER_URL"] ?? "https://localhost:3000/api",
869
+ httpClient: testHttpClient,
870
+ security: {
871
+ token: process.env["GREEN_SECURITY_TOKEN"] ?? "value",
872
+ },
873
+ });
874
+
875
+ const result = await greenSecurity.vendors.changeSubscription({
876
+ vendorIdOrMe: "<value>",
877
+ requestBody: {},
878
+ });
879
+ expect(result).toBeDefined();
880
+ expect(result).toEqual({});
881
+ });
@@ -20,7 +20,7 @@ test("Webhooks List All Webhook Endpoints", async () => {
20
20
  const testWebhookListForVendorUserResult = await greenSecurity.webhooks
21
21
  .listAllWebhookEndpoints({
22
22
  itemsPerPage: 25,
23
- desc: 0,
23
+ desc: true,
24
24
  sort: "",
25
25
  });
26
26
  expect(testWebhookListForVendorUserResult).toBeDefined();
@@ -36,7 +36,10 @@ test("Zones List Or Search Security Zones", async () => {
36
36
  },
37
37
  items: [
38
38
  {
39
- facility: {},
39
+ facility: {
40
+ contacts: null,
41
+ vendorGuestPolicy: null,
42
+ },
40
43
  },
41
44
  {
42
45
  facility: {},
@@ -58,7 +61,7 @@ test("Zones Security Zone Checkin", async () => {
58
61
 
59
62
  const result = await greenSecurity.zones.securityZoneCheckin({
60
63
  qrCode: "<value>",
61
- zoneId: 423655,
64
+ zoneId: 579390,
62
65
  });
63
66
  expect(result).toBeDefined();
64
67
  expect(result).toEqual({});
@@ -0,0 +1,182 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { GreenSecurityCore } from "../core.js";
6
+ import { encodeJSON, encodeSimple } from "../lib/encodings.js";
7
+ import * as M from "../lib/matchers.js";
8
+ import { compactMap } from "../lib/primitives.js";
9
+ import { safeParse } from "../lib/schemas.js";
10
+ import { RequestOptions } from "../lib/sdks.js";
11
+ import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
12
+ import { pathToFunc } from "../lib/url.js";
13
+ import { GreenSecurityError } from "../models/errors/greensecurityerror.js";
14
+ import {
15
+ ConnectionError,
16
+ InvalidRequestError,
17
+ RequestAbortedError,
18
+ RequestTimeoutError,
19
+ UnexpectedClientError,
20
+ } from "../models/errors/httpclienterrors.js";
21
+ import * as errors from "../models/errors/index.js";
22
+ import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
23
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
24
+ import * as operations from "../models/operations/index.js";
25
+ import { APICall, APIPromise } from "../types/async.js";
26
+ import { Result } from "../types/fp.js";
27
+
28
+ /**
29
+ * Calculate subscription price
30
+ *
31
+ * @remarks
32
+ * Calculate subscription price
33
+ */
34
+ export function vendorsCalculateSubscriptionPrice(
35
+ client: GreenSecurityCore,
36
+ request: operations.CalculateSubscriptionPriceRequest,
37
+ options?: RequestOptions,
38
+ ): APIPromise<
39
+ Result<
40
+ operations.CalculateSubscriptionPriceResponseBody,
41
+ | errors.ApiErrorResponse
42
+ | GreenSecurityError
43
+ | ResponseValidationError
44
+ | ConnectionError
45
+ | RequestAbortedError
46
+ | RequestTimeoutError
47
+ | InvalidRequestError
48
+ | UnexpectedClientError
49
+ | SDKValidationError
50
+ >
51
+ > {
52
+ return new APIPromise($do(
53
+ client,
54
+ request,
55
+ options,
56
+ ));
57
+ }
58
+
59
+ async function $do(
60
+ client: GreenSecurityCore,
61
+ request: operations.CalculateSubscriptionPriceRequest,
62
+ options?: RequestOptions,
63
+ ): Promise<
64
+ [
65
+ Result<
66
+ operations.CalculateSubscriptionPriceResponseBody,
67
+ | errors.ApiErrorResponse
68
+ | GreenSecurityError
69
+ | ResponseValidationError
70
+ | ConnectionError
71
+ | RequestAbortedError
72
+ | RequestTimeoutError
73
+ | InvalidRequestError
74
+ | UnexpectedClientError
75
+ | SDKValidationError
76
+ >,
77
+ APICall,
78
+ ]
79
+ > {
80
+ const parsed = safeParse(
81
+ request,
82
+ (value) =>
83
+ operations.CalculateSubscriptionPriceRequest$outboundSchema.parse(value),
84
+ "Input validation failed",
85
+ );
86
+ if (!parsed.ok) {
87
+ return [parsed, { status: "invalid" }];
88
+ }
89
+ const payload = parsed.value;
90
+ const body = encodeJSON("body", payload.RequestBody, { explode: true });
91
+
92
+ const pathParams = {
93
+ vendor_id_or_me: encodeSimple("vendor_id_or_me", payload.vendor_id_or_me, {
94
+ explode: false,
95
+ charEncoding: "percent",
96
+ }),
97
+ };
98
+
99
+ const path = pathToFunc(
100
+ "/vendors/{vendor_id_or_me}/subscription-price-calculation",
101
+ )(pathParams);
102
+
103
+ const headers = new Headers(compactMap({
104
+ "Content-Type": "application/json",
105
+ Accept: "application/json",
106
+ }));
107
+
108
+ const securityInput = await extractSecurity(client._options.security);
109
+ const requestSecurity = resolveGlobalSecurity(securityInput);
110
+
111
+ const context = {
112
+ options: client._options,
113
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
114
+ operationID: "calculateSubscriptionPrice",
115
+ oAuth2Scopes: [],
116
+
117
+ resolvedSecurity: requestSecurity,
118
+
119
+ securitySource: client._options.security,
120
+ retryConfig: options?.retries
121
+ || client._options.retryConfig
122
+ || { strategy: "none" },
123
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
124
+ };
125
+
126
+ const requestRes = client._createRequest(context, {
127
+ security: requestSecurity,
128
+ method: "POST",
129
+ baseURL: options?.serverURL,
130
+ path: path,
131
+ headers: headers,
132
+ body: body,
133
+ userAgent: client._options.userAgent,
134
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
135
+ }, options);
136
+ if (!requestRes.ok) {
137
+ return [requestRes, { status: "invalid" }];
138
+ }
139
+ const req = requestRes.value;
140
+
141
+ const doResult = await client._do(req, {
142
+ context,
143
+ errorCodes: ["400", "401", "403", "4XX", "500", "5XX"],
144
+ retryConfig: context.retryConfig,
145
+ retryCodes: context.retryCodes,
146
+ });
147
+ if (!doResult.ok) {
148
+ return [doResult, { status: "request-error", request: req }];
149
+ }
150
+ const response = doResult.value;
151
+
152
+ const responseFields = {
153
+ HttpMeta: { Response: response, Request: req },
154
+ };
155
+
156
+ const [result] = await M.match<
157
+ operations.CalculateSubscriptionPriceResponseBody,
158
+ | errors.ApiErrorResponse
159
+ | GreenSecurityError
160
+ | ResponseValidationError
161
+ | ConnectionError
162
+ | RequestAbortedError
163
+ | RequestTimeoutError
164
+ | InvalidRequestError
165
+ | UnexpectedClientError
166
+ | SDKValidationError
167
+ >(
168
+ M.json(
169
+ 200,
170
+ operations.CalculateSubscriptionPriceResponseBody$inboundSchema,
171
+ ),
172
+ M.jsonErr([400, 401, 403], errors.ApiErrorResponse$inboundSchema),
173
+ M.jsonErr(500, errors.ApiErrorResponse$inboundSchema),
174
+ M.fail("4XX"),
175
+ M.fail("5XX"),
176
+ )(response, req, { extraFields: responseFields });
177
+ if (!result.ok) {
178
+ return [result, { status: "complete", request: req, response }];
179
+ }
180
+
181
+ return [result, { status: "complete", request: req, response }];
182
+ }
@@ -0,0 +1,178 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { GreenSecurityCore } from "../core.js";
6
+ import { encodeJSON, encodeSimple } from "../lib/encodings.js";
7
+ import * as M from "../lib/matchers.js";
8
+ import { compactMap } from "../lib/primitives.js";
9
+ import { safeParse } from "../lib/schemas.js";
10
+ import { RequestOptions } from "../lib/sdks.js";
11
+ import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
12
+ import { pathToFunc } from "../lib/url.js";
13
+ import { GreenSecurityError } from "../models/errors/greensecurityerror.js";
14
+ import {
15
+ ConnectionError,
16
+ InvalidRequestError,
17
+ RequestAbortedError,
18
+ RequestTimeoutError,
19
+ UnexpectedClientError,
20
+ } from "../models/errors/httpclienterrors.js";
21
+ import * as errors from "../models/errors/index.js";
22
+ import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
23
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
24
+ import * as operations from "../models/operations/index.js";
25
+ import { APICall, APIPromise } from "../types/async.js";
26
+ import { Result } from "../types/fp.js";
27
+
28
+ /**
29
+ * Change subscription
30
+ *
31
+ * @remarks
32
+ * Calculate subscription price
33
+ */
34
+ export function vendorsChangeSubscription(
35
+ client: GreenSecurityCore,
36
+ request: operations.ChangeSubscriptionRequest,
37
+ options?: RequestOptions,
38
+ ): APIPromise<
39
+ Result<
40
+ operations.ChangeSubscriptionResponseBody,
41
+ | errors.ApiErrorResponse
42
+ | GreenSecurityError
43
+ | ResponseValidationError
44
+ | ConnectionError
45
+ | RequestAbortedError
46
+ | RequestTimeoutError
47
+ | InvalidRequestError
48
+ | UnexpectedClientError
49
+ | SDKValidationError
50
+ >
51
+ > {
52
+ return new APIPromise($do(
53
+ client,
54
+ request,
55
+ options,
56
+ ));
57
+ }
58
+
59
+ async function $do(
60
+ client: GreenSecurityCore,
61
+ request: operations.ChangeSubscriptionRequest,
62
+ options?: RequestOptions,
63
+ ): Promise<
64
+ [
65
+ Result<
66
+ operations.ChangeSubscriptionResponseBody,
67
+ | errors.ApiErrorResponse
68
+ | GreenSecurityError
69
+ | ResponseValidationError
70
+ | ConnectionError
71
+ | RequestAbortedError
72
+ | RequestTimeoutError
73
+ | InvalidRequestError
74
+ | UnexpectedClientError
75
+ | SDKValidationError
76
+ >,
77
+ APICall,
78
+ ]
79
+ > {
80
+ const parsed = safeParse(
81
+ request,
82
+ (value) => operations.ChangeSubscriptionRequest$outboundSchema.parse(value),
83
+ "Input validation failed",
84
+ );
85
+ if (!parsed.ok) {
86
+ return [parsed, { status: "invalid" }];
87
+ }
88
+ const payload = parsed.value;
89
+ const body = encodeJSON("body", payload.RequestBody, { explode: true });
90
+
91
+ const pathParams = {
92
+ vendor_id_or_me: encodeSimple("vendor_id_or_me", payload.vendor_id_or_me, {
93
+ explode: false,
94
+ charEncoding: "percent",
95
+ }),
96
+ };
97
+
98
+ const path = pathToFunc("/vendors/{vendor_id_or_me}/subscription")(
99
+ pathParams,
100
+ );
101
+
102
+ const headers = new Headers(compactMap({
103
+ "Content-Type": "application/json",
104
+ Accept: "application/json",
105
+ }));
106
+
107
+ const securityInput = await extractSecurity(client._options.security);
108
+ const requestSecurity = resolveGlobalSecurity(securityInput);
109
+
110
+ const context = {
111
+ options: client._options,
112
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
113
+ operationID: "changeSubscription",
114
+ oAuth2Scopes: [],
115
+
116
+ resolvedSecurity: requestSecurity,
117
+
118
+ securitySource: client._options.security,
119
+ retryConfig: options?.retries
120
+ || client._options.retryConfig
121
+ || { strategy: "none" },
122
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
123
+ };
124
+
125
+ const requestRes = client._createRequest(context, {
126
+ security: requestSecurity,
127
+ method: "PUT",
128
+ baseURL: options?.serverURL,
129
+ path: path,
130
+ headers: headers,
131
+ body: body,
132
+ userAgent: client._options.userAgent,
133
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
134
+ }, options);
135
+ if (!requestRes.ok) {
136
+ return [requestRes, { status: "invalid" }];
137
+ }
138
+ const req = requestRes.value;
139
+
140
+ const doResult = await client._do(req, {
141
+ context,
142
+ errorCodes: ["400", "401", "403", "4XX", "500", "5XX"],
143
+ retryConfig: context.retryConfig,
144
+ retryCodes: context.retryCodes,
145
+ });
146
+ if (!doResult.ok) {
147
+ return [doResult, { status: "request-error", request: req }];
148
+ }
149
+ const response = doResult.value;
150
+
151
+ const responseFields = {
152
+ HttpMeta: { Response: response, Request: req },
153
+ };
154
+
155
+ const [result] = await M.match<
156
+ operations.ChangeSubscriptionResponseBody,
157
+ | errors.ApiErrorResponse
158
+ | GreenSecurityError
159
+ | ResponseValidationError
160
+ | ConnectionError
161
+ | RequestAbortedError
162
+ | RequestTimeoutError
163
+ | InvalidRequestError
164
+ | UnexpectedClientError
165
+ | SDKValidationError
166
+ >(
167
+ M.json(200, operations.ChangeSubscriptionResponseBody$inboundSchema),
168
+ M.jsonErr([400, 401, 403], errors.ApiErrorResponse$inboundSchema),
169
+ M.jsonErr(500, errors.ApiErrorResponse$inboundSchema),
170
+ M.fail("4XX"),
171
+ M.fail("5XX"),
172
+ )(response, req, { extraFields: responseFields });
173
+ if (!result.ok) {
174
+ return [result, { status: "complete", request: req, response }];
175
+ }
176
+
177
+ return [result, { status: "complete", request: req, response }];
178
+ }
package/src/lib/config.ts CHANGED
@@ -80,8 +80,8 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
80
80
  export const SDK_METADATA = {
81
81
  language: "typescript",
82
82
  openapiDocVersion: "0.0.3",
83
- sdkVersion: "0.37.6",
84
- genVersion: "2.648.7",
83
+ sdkVersion: "0.37.10",
84
+ genVersion: "2.656.5",
85
85
  userAgent:
86
- "speakeasy-sdk/typescript 0.37.6 2.648.7 0.0.3 @greensecurity/javascript-sdk",
86
+ "speakeasy-sdk/typescript 0.37.10 2.656.5 0.0.3 @greensecurity/javascript-sdk",
87
87
  } 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.37.6",
22
+ currentVersion: "0.37.10",
23
23
  },
24
24
  });
25
25
 
@@ -36,7 +36,9 @@ import { tool$usersRotateApiKey } from "./tools/usersRotateApiKey.js";
36
36
  import { tool$vendorsAcceptVendorCredential } from "./tools/vendorsAcceptVendorCredential.js";
37
37
  import { tool$vendorsAddVendorCredentialFile } from "./tools/vendorsAddVendorCredentialFile.js";
38
38
  import { tool$vendorsAddVendorManagedByCompany } from "./tools/vendorsAddVendorManagedByCompany.js";
39
+ import { tool$vendorsCalculateSubscriptionPrice } from "./tools/vendorsCalculateSubscriptionPrice.js";
39
40
  import { tool$vendorScansVendorScanOut } from "./tools/vendorScansVendorScanOut.js";
41
+ import { tool$vendorsChangeSubscription } from "./tools/vendorsChangeSubscription.js";
40
42
  import { tool$vendorsCheckDownloadCode } from "./tools/vendorsCheckDownloadCode.js";
41
43
  import { tool$vendorsCreateNewVendorCredentialVersion } from "./tools/vendorsCreateNewVendorCredentialVersion.js";
42
44
  import { tool$vendorsCreateOrUpdateBcr } from "./tools/vendorsCreateOrUpdateBcr.js";
@@ -89,7 +91,7 @@ export function createMCPServer(deps: {
89
91
  }) {
90
92
  const server = new McpServer({
91
93
  name: "GreenSecurity",
92
- version: "0.37.6",
94
+ version: "0.37.10",
93
95
  });
94
96
 
95
97
  const client = new GreenSecurityCore({
@@ -157,6 +159,8 @@ export function createMCPServer(deps: {
157
159
  tool(tool$vendorsUpdateVendorManagedByCompany);
158
160
  tool(tool$vendorsPurchaseScrubCredits);
159
161
  tool(tool$vendorsCreateVendorCompany);
162
+ tool(tool$vendorsCalculateSubscriptionPrice);
163
+ tool(tool$vendorsChangeSubscription);
160
164
  tool(tool$usersGetCurrentUser);
161
165
  tool(tool$usersGetUserById);
162
166
  tool(tool$usersPostAuthenticate);
@@ -0,0 +1,39 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { vendorsCalculateSubscriptionPrice } from "../../funcs/vendorsCalculateSubscriptionPrice.js";
6
+ import * as operations from "../../models/operations/index.js";
7
+ import { formatResult, ToolDefinition } from "../tools.js";
8
+
9
+ const args = {
10
+ request: operations.CalculateSubscriptionPriceRequest$inboundSchema,
11
+ };
12
+
13
+ export const tool$vendorsCalculateSubscriptionPrice: ToolDefinition<
14
+ typeof args
15
+ > = {
16
+ name: "vendors-calculate-subscription-price",
17
+ description: `Calculate subscription price
18
+
19
+ Calculate subscription price`,
20
+ args,
21
+ tool: async (client, args, ctx) => {
22
+ const [result, apiCall] = await vendorsCalculateSubscriptionPrice(
23
+ client,
24
+ args.request,
25
+ { fetchOptions: { signal: ctx.signal } },
26
+ ).$inspect();
27
+
28
+ if (!result.ok) {
29
+ return {
30
+ content: [{ type: "text", text: result.error.message }],
31
+ isError: true,
32
+ };
33
+ }
34
+
35
+ const value = result.value;
36
+
37
+ return formatResult(value, apiCall);
38
+ },
39
+ };
@@ -0,0 +1,37 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { vendorsChangeSubscription } from "../../funcs/vendorsChangeSubscription.js";
6
+ import * as operations from "../../models/operations/index.js";
7
+ import { formatResult, ToolDefinition } from "../tools.js";
8
+
9
+ const args = {
10
+ request: operations.ChangeSubscriptionRequest$inboundSchema,
11
+ };
12
+
13
+ export const tool$vendorsChangeSubscription: ToolDefinition<typeof args> = {
14
+ name: "vendors-change-subscription",
15
+ description: `Change subscription
16
+
17
+ Calculate subscription price`,
18
+ args,
19
+ tool: async (client, args, ctx) => {
20
+ const [result, apiCall] = await vendorsChangeSubscription(
21
+ client,
22
+ args.request,
23
+ { fetchOptions: { signal: ctx.signal } },
24
+ ).$inspect();
25
+
26
+ if (!result.ok) {
27
+ return {
28
+ content: [{ type: "text", text: result.error.message }],
29
+ isError: true,
30
+ };
31
+ }
32
+
33
+ const value = result.value;
34
+
35
+ return formatResult(value, apiCall);
36
+ },
37
+ };