@greensecurity/javascript-sdk 0.16.0 → 0.18.0

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 (169) hide show
  1. package/REACT_QUERY.md +68 -30
  2. package/README.md +43 -0
  3. package/bin/mcp-server.js +731 -52
  4. package/bin/mcp-server.js.map +29 -19
  5. package/funcs/organizationsListOrSearchFacilities.d.ts +4 -1
  6. package/funcs/organizationsListOrSearchFacilities.d.ts.map +1 -1
  7. package/funcs/organizationsListOrSearchFacilities.js +46 -9
  8. package/funcs/organizationsListOrSearchFacilities.js.map +1 -1
  9. package/funcs/supportArticlesGetSupportArticle.js +1 -1
  10. package/funcs/supportArticlesGetSupportArticle.js.map +1 -1
  11. package/funcs/supportArticlesListOrSearchSupportArticles.d.ts +4 -1
  12. package/funcs/supportArticlesListOrSearchSupportArticles.d.ts.map +1 -1
  13. package/funcs/supportArticlesListOrSearchSupportArticles.js +42 -7
  14. package/funcs/supportArticlesListOrSearchSupportArticles.js.map +1 -1
  15. package/funcs/vendorsExpediteTimeRemaining.d.ts +17 -0
  16. package/funcs/vendorsExpediteTimeRemaining.d.ts.map +1 -0
  17. package/funcs/vendorsExpediteTimeRemaining.js +120 -0
  18. package/funcs/vendorsExpediteTimeRemaining.js.map +1 -0
  19. package/funcs/vendorsListVendorInvoices.d.ts +24 -0
  20. package/funcs/vendorsListVendorInvoices.d.ts.map +1 -0
  21. package/funcs/vendorsListVendorInvoices.js +166 -0
  22. package/funcs/vendorsListVendorInvoices.js.map +1 -0
  23. package/funcs/vendorsListVendorJobTitles.d.ts +4 -1
  24. package/funcs/vendorsListVendorJobTitles.d.ts.map +1 -1
  25. package/funcs/vendorsListVendorJobTitles.js +39 -6
  26. package/funcs/vendorsListVendorJobTitles.js.map +1 -1
  27. package/jsr.json +1 -1
  28. package/lib/config.d.ts +3 -3
  29. package/lib/config.js +3 -3
  30. package/mcp-server/extensions.d.ts +9 -0
  31. package/mcp-server/extensions.d.ts.map +1 -0
  32. package/mcp-server/extensions.js +6 -0
  33. package/mcp-server/extensions.js.map +1 -0
  34. package/mcp-server/mcp-server.js +1 -1
  35. package/mcp-server/resources.d.ts +9 -4
  36. package/mcp-server/resources.d.ts.map +1 -1
  37. package/mcp-server/resources.js +36 -9
  38. package/mcp-server/resources.js.map +1 -1
  39. package/mcp-server/server.d.ts.map +1 -1
  40. package/mcp-server/server.js +10 -1
  41. package/mcp-server/server.js.map +1 -1
  42. package/mcp-server/tools/organizationsListOrSearchFacilities.js +1 -1
  43. package/mcp-server/tools/organizationsListOrSearchFacilities.js.map +1 -1
  44. package/mcp-server/tools/supportArticlesListOrSearchSupportArticles.js +1 -1
  45. package/mcp-server/tools/supportArticlesListOrSearchSupportArticles.js.map +1 -1
  46. package/mcp-server/tools/vendorsExpediteTimeRemaining.d.ts +8 -0
  47. package/mcp-server/tools/vendorsExpediteTimeRemaining.d.ts.map +1 -0
  48. package/mcp-server/tools/vendorsExpediteTimeRemaining.js +64 -0
  49. package/mcp-server/tools/vendorsExpediteTimeRemaining.js.map +1 -0
  50. package/mcp-server/tools/vendorsListVendorInvoices.d.ts +8 -0
  51. package/mcp-server/tools/vendorsListVendorInvoices.d.ts.map +1 -0
  52. package/mcp-server/tools/vendorsListVendorInvoices.js +68 -0
  53. package/mcp-server/tools/vendorsListVendorInvoices.js.map +1 -0
  54. package/mcp-server/tools/vendorsListVendorJobTitles.js +1 -1
  55. package/mcp-server/tools/vendorsListVendorJobTitles.js.map +1 -1
  56. package/models/components/expand.d.ts +3 -0
  57. package/models/components/expand.d.ts.map +1 -1
  58. package/models/components/expand.js +1 -0
  59. package/models/components/expand.js.map +1 -1
  60. package/models/components/index.d.ts +2 -0
  61. package/models/components/index.d.ts.map +1 -1
  62. package/models/components/index.js +2 -0
  63. package/models/components/index.js.map +1 -1
  64. package/models/components/invoice.d.ts +43 -0
  65. package/models/components/invoice.d.ts.map +1 -0
  66. package/models/components/invoice.js +91 -0
  67. package/models/components/invoice.js.map +1 -0
  68. package/models/components/invoiceitem.d.ts +40 -0
  69. package/models/components/invoiceitem.d.ts.map +1 -0
  70. package/models/components/invoiceitem.js +94 -0
  71. package/models/components/invoiceitem.js.map +1 -0
  72. package/models/operations/expeditetimeremaining.d.ts +60 -0
  73. package/models/operations/expeditetimeremaining.d.ts.map +1 -0
  74. package/models/operations/expeditetimeremaining.js +113 -0
  75. package/models/operations/expeditetimeremaining.js.map +1 -0
  76. package/models/operations/index.d.ts +2 -0
  77. package/models/operations/index.d.ts.map +1 -1
  78. package/models/operations/index.js +2 -0
  79. package/models/operations/index.js.map +1 -1
  80. package/models/operations/listorsearchfacilities.d.ts +25 -0
  81. package/models/operations/listorsearchfacilities.d.ts.map +1 -1
  82. package/models/operations/listorsearchfacilities.js +36 -1
  83. package/models/operations/listorsearchfacilities.js.map +1 -1
  84. package/models/operations/listorsearchsupportarticles.d.ts +25 -0
  85. package/models/operations/listorsearchsupportarticles.d.ts.map +1 -1
  86. package/models/operations/listorsearchsupportarticles.js +36 -1
  87. package/models/operations/listorsearchsupportarticles.js.map +1 -1
  88. package/models/operations/listvendorinvoices.d.ts +116 -0
  89. package/models/operations/listvendorinvoices.d.ts.map +1 -0
  90. package/models/operations/listvendorinvoices.js +155 -0
  91. package/models/operations/listvendorinvoices.js.map +1 -0
  92. package/models/operations/listvendorjobtitles.d.ts +25 -0
  93. package/models/operations/listvendorjobtitles.d.ts.map +1 -1
  94. package/models/operations/listvendorjobtitles.js +36 -1
  95. package/models/operations/listvendorjobtitles.js.map +1 -1
  96. package/package.json +1 -1
  97. package/react-query/index.d.ts +2 -0
  98. package/react-query/index.d.ts.map +1 -1
  99. package/react-query/index.js +2 -0
  100. package/react-query/index.js.map +1 -1
  101. package/react-query/organizationsListOrSearchFacilities.d.ts +54 -3
  102. package/react-query/organizationsListOrSearchFacilities.d.ts.map +1 -1
  103. package/react-query/organizationsListOrSearchFacilities.js +89 -0
  104. package/react-query/organizationsListOrSearchFacilities.js.map +1 -1
  105. package/react-query/supportArticlesListOrSearchSupportArticles.d.ts +28 -3
  106. package/react-query/supportArticlesListOrSearchSupportArticles.d.ts.map +1 -1
  107. package/react-query/supportArticlesListOrSearchSupportArticles.js +58 -0
  108. package/react-query/supportArticlesListOrSearchSupportArticles.js.map +1 -1
  109. package/react-query/vendorsExpediteTimeRemaining.d.ts +30 -0
  110. package/react-query/vendorsExpediteTimeRemaining.d.ts.map +1 -0
  111. package/react-query/vendorsExpediteTimeRemaining.js +96 -0
  112. package/react-query/vendorsExpediteTimeRemaining.js.map +1 -0
  113. package/react-query/vendorsListVendorInvoices.d.ts +96 -0
  114. package/react-query/vendorsListVendorInvoices.d.ts.map +1 -0
  115. package/react-query/vendorsListVendorInvoices.js +178 -0
  116. package/react-query/vendorsListVendorInvoices.js.map +1 -0
  117. package/react-query/vendorsListVendorJobTitles.d.ts +28 -3
  118. package/react-query/vendorsListVendorJobTitles.d.ts.map +1 -1
  119. package/react-query/vendorsListVendorJobTitles.js +59 -0
  120. package/react-query/vendorsListVendorJobTitles.js.map +1 -1
  121. package/sdk/organizations.d.ts +4 -1
  122. package/sdk/organizations.d.ts.map +1 -1
  123. package/sdk/organizations.js +2 -1
  124. package/sdk/organizations.js.map +1 -1
  125. package/sdk/supportarticles.d.ts +4 -1
  126. package/sdk/supportarticles.d.ts.map +1 -1
  127. package/sdk/supportarticles.js +2 -1
  128. package/sdk/supportarticles.js.map +1 -1
  129. package/sdk/vendors.d.ts +24 -1
  130. package/sdk/vendors.d.ts.map +1 -1
  131. package/sdk/vendors.js +26 -1
  132. package/sdk/vendors.js.map +1 -1
  133. package/src/__tests__/supportarticles.test.ts +2 -1
  134. package/src/__tests__/vendors.test.ts +58 -1
  135. package/src/funcs/organizationsListOrSearchFacilities.ts +116 -42
  136. package/src/funcs/supportArticlesGetSupportArticle.ts +1 -1
  137. package/src/funcs/supportArticlesListOrSearchSupportArticles.ts +100 -31
  138. package/src/funcs/vendorsExpediteTimeRemaining.ts +171 -0
  139. package/src/funcs/vendorsListVendorInvoices.ts +255 -0
  140. package/src/funcs/vendorsListVendorJobTitles.ts +101 -33
  141. package/src/lib/config.ts +3 -3
  142. package/src/mcp-server/extensions.ts +13 -0
  143. package/src/mcp-server/mcp-server.ts +1 -1
  144. package/src/mcp-server/resources.ts +75 -14
  145. package/src/mcp-server/server.ts +20 -1
  146. package/src/mcp-server/tools/organizationsListOrSearchFacilities.ts +1 -1
  147. package/src/mcp-server/tools/supportArticlesListOrSearchSupportArticles.ts +1 -1
  148. package/src/mcp-server/tools/vendorsExpediteTimeRemaining.ts +37 -0
  149. package/src/mcp-server/tools/vendorsListVendorInvoices.ts +41 -0
  150. package/src/mcp-server/tools/vendorsListVendorJobTitles.ts +1 -1
  151. package/src/models/components/expand.ts +1 -0
  152. package/src/models/components/index.ts +2 -0
  153. package/src/models/components/invoice.ts +99 -0
  154. package/src/models/components/invoiceitem.ts +98 -0
  155. package/src/models/operations/expeditetimeremaining.ts +152 -0
  156. package/src/models/operations/index.ts +2 -0
  157. package/src/models/operations/listorsearchfacilities.ts +72 -0
  158. package/src/models/operations/listorsearchsupportarticles.ts +75 -0
  159. package/src/models/operations/listvendorinvoices.ts +252 -0
  160. package/src/models/operations/listvendorjobtitles.ts +68 -0
  161. package/src/react-query/index.ts +2 -0
  162. package/src/react-query/organizationsListOrSearchFacilities.ts +179 -1
  163. package/src/react-query/supportArticlesListOrSearchSupportArticles.ts +149 -1
  164. package/src/react-query/vendorsExpediteTimeRemaining.ts +165 -0
  165. package/src/react-query/vendorsListVendorInvoices.ts +364 -0
  166. package/src/react-query/vendorsListVendorJobTitles.ts +149 -1
  167. package/src/sdk/organizations.ts +5 -2
  168. package/src/sdk/supportarticles.ts +8 -2
  169. package/src/sdk/vendors.ts +47 -2
package/REACT_QUERY.md CHANGED
@@ -22,7 +22,11 @@ import { GreenSecurityCore } from "@greensecurity/javascript-sdk";
22
22
  import { GreenSecurityProvider } from "@greensecurity/javascript-sdk/react-query";
23
23
 
24
24
  const queryClient = new QueryClient();
25
- const greenSecurity = new GreenSecurityCore();
25
+ const greenSecurity = new GreenSecurityCore({
26
+ security: {
27
+ token: process.env["GREEN_SECURITY_TOKEN"] ?? "",
28
+ },
29
+ });
26
30
 
27
31
  // Retries are handled by the underlying SDK.
28
32
  queryClient.setQueryDefaults(["@greensecurity/javascript-sdk"], { retry: false });
@@ -48,14 +52,11 @@ from TanStack Query.
48
52
  [use-query]: https://tanstack.com/query/v5/docs/framework/react/reference/useQuery
49
53
 
50
54
  ```tsx
51
- import { useVendorsListVendorJobTitles } from "@greensecurity/javascript-sdk/react-query/vendorsListVendorJobTitles.js";
55
+ import { useVendorsListVendorCredentials } from "@greensecurity/javascript-sdk/react-query/vendorsListVendorCredentials.js";
52
56
 
53
57
  export function Example() {
54
- const { data, error, status } = useVendorsListVendorJobTitles({
55
- sort: "job",
56
- desc: true,
57
- itemsPerPage: 25,
58
- jobLike: "job",
58
+ const { data, error, status } = useVendorsListVendorCredentials({
59
+ vendorId: 327408,
59
60
  });
60
61
 
61
62
  // Render the UI here...
@@ -69,16 +70,13 @@ more options provided by the query hooks to control these behaviors.
69
70
 
70
71
  ```tsx
71
72
  import { useState } from "react";
72
- import { useVendorsListVendorJobTitles } from "@greensecurity/javascript-sdk/react-query/vendorsListVendorJobTitles.js";
73
+ import { useVendorsListVendorCredentials } from "@greensecurity/javascript-sdk/react-query/vendorsListVendorCredentials.js";
73
74
 
74
75
  export function ExampleWithOptions() {
75
76
  const [enabled, setEnabled] = useState(true);
76
- const { data, error, status } = useVendorsListVendorJobTitles(
77
+ const { data, error, status } = useVendorsListVendorCredentials(
77
78
  {
78
- sort: "job",
79
- desc: true,
80
- itemsPerPage: 25,
81
- jobLike: "job",
79
+ vendorId: 327408,
82
80
  },
83
81
  {
84
82
  // TanStack Query options:
@@ -186,7 +184,7 @@ query hook there are two functions that help invalidate cached data:
186
184
 
187
185
  ```tsx
188
186
  import { useQueryClient } from "@tanstack/react-query";
189
- import { invalidateVendorsListVendorJobTitles, invalidateAllVendorsListVendorJobTitles } from "@greensecurity/javascript-sdk/react-query/vendorsListVendorJobTitles.js";
187
+ import { invalidateVendorsListVendorCredentials, invalidateAllVendorsListVendorCredentials } from "@greensecurity/javascript-sdk/react-query/vendorsListVendorCredentials.js";
190
188
  // Replace this with a real mutation
191
189
  import { useExampleMutation } from "@greensecurity/javascript-sdk/react-query/example.js";
192
190
 
@@ -204,9 +202,9 @@ export function Example() {
204
202
  mutate(formData, {
205
203
  onSuccess: () => {
206
204
  // Invalidate a single cache entry:
207
- invalidateVendorsListVendorJobTitles(queryClient, /* ... arguments ... */);
205
+ invalidateVendorsListVendorCredentials(queryClient, /* ... arguments ... */);
208
206
  // OR, invalidate all cache entries for the query targets:
209
- invalidateAllVendorsListVendorJobTitles(queryClient);
207
+ invalidateAllVendorsListVendorCredentials(queryClient);
210
208
  },
211
209
  });
212
210
  }}
@@ -220,6 +218,44 @@ export function Example() {
220
218
  ```
221
219
 
222
220
 
221
+ ## Pagination
222
+
223
+ Certain queries may have pagination enabled if the underlying API supports it.
224
+ In these cases, additional "infinite" query hooks are exposed to help build
225
+ infinite scrolling and "load more" user interfaces.
226
+
227
+ > [!NOTE]
228
+ >
229
+ > The original query hooks will still be available and if you are building a
230
+ > more explicit pagination UI with page numbers and next/previous buttons then
231
+ > those hooks may be more suitable.
232
+
233
+ ```tsx
234
+ import { useVendorsListVendorJobTitlesInfinite } from "@greensecurity/javascript-sdk/react-query/vendorsListVendorJobTitles.js";
235
+
236
+ export function Example() {
237
+ const { data, error, status, fetchNextPage, hasNextPage } = useVendorsListVendorJobTitlesInfinite({
238
+ sort: "job",
239
+ desc: true,
240
+ itemsPerPage: 25,
241
+ jobLike: "job",
242
+ });
243
+
244
+ return (
245
+ <div>
246
+ {/* Render pages here... */}
247
+
248
+ {hasNextPage ? (
249
+ <div>
250
+ <button onClick={() => fetchNextPage()}>Load more</button>
251
+ </div>
252
+ ) : null}
253
+ </div>
254
+ );
255
+ }
256
+ ```
257
+
258
+
223
259
  ## Integration with React Suspense
224
260
 
225
261
  TanStack Query predates React Suspense and out of the box it does a great job at
@@ -234,10 +270,14 @@ import { ErrorBoundary } from "react-error-boundary";
234
270
 
235
271
  import { GreenSecurityCore } from "@greensecurity/javascript-sdk";
236
272
  import { GreenSecurityProvider } from "@greensecurity/javascript-sdk/react-query";
237
- import { useVendorsListVendorJobTitlesSuspense } from "@greensecurity/javascript-sdk/react-query/vendorsListVendorJobTitles.js";
273
+ import { useVendorsListVendorCredentialsSuspense } from "@greensecurity/javascript-sdk/react-query/vendorsListVendorCredentials.js";
238
274
 
239
275
  const queryClient = new QueryClient();
240
- const greenSecurity = new GreenSecurityCore();
276
+ const greenSecurity = new GreenSecurityCore({
277
+ security: {
278
+ token: process.env["GREEN_SECURITY_TOKEN"] ?? "",
279
+ },
280
+ });
241
281
 
242
282
  export function App() {
243
283
  return (
@@ -267,11 +307,8 @@ export function App() {
267
307
  }
268
308
 
269
309
  function Example() {
270
- const { data } = useVendorsListVendorJobTitlesSuspense({
271
- sort: "job",
272
- desc: true,
273
- itemsPerPage: 25,
274
- jobLike: "job",
310
+ const { data } = useVendorsListVendorCredentialsSuspense({
311
+ vendorId: 327408,
275
312
  });
276
313
 
277
314
  // Render the UI here...
@@ -292,17 +329,18 @@ import {
292
329
  QueryClient,
293
330
  } from "@tanstack/react-query";
294
331
  import { GreenSecurityCore } from "@greensecurity/javascript-sdk";
295
- import { prefetchVendorsListVendorJobTitles } from "@greensecurity/javascript-sdk/react-query/vendorsListVendorJobTitles.js";
332
+ import { prefetchVendorsListVendorCredentials } from "@greensecurity/javascript-sdk/react-query/vendorsListVendorCredentials.js";
296
333
 
297
334
  export default async function Page() {
298
335
  const queryClient = new QueryClient();
299
- const greenSecurity = new GreenSecurityCore();
336
+ const greenSecurity = new GreenSecurityCore({
337
+ security: {
338
+ token: process.env["GREEN_SECURITY_TOKEN"] ?? "",
339
+ },
340
+ });
300
341
 
301
- await prefetchVendorsListVendorJobTitles(queryClient, greenSecurity, {
302
- sort: "job",
303
- desc: true,
304
- itemsPerPage: 25,
305
- jobLike: "job",
342
+ await prefetchVendorsListVendorCredentials(queryClient, greenSecurity, {
343
+ vendorId: 327408,
306
344
  });
307
345
 
308
346
  return (
package/README.md CHANGED
@@ -40,6 +40,7 @@ Some useful links:
40
40
  * [Available Resources and Operations](#available-resources-and-operations)
41
41
  * [Standalone functions](#standalone-functions)
42
42
  * [React hooks with TanStack Query](#react-hooks-with-tanstack-query)
43
+ * [Pagination](#pagination)
43
44
  * [Retries](#retries)
44
45
  * [Error Handling](#error-handling)
45
46
  * [Server Selection](#server-selection)
@@ -252,6 +253,8 @@ run();
252
253
  * [createVendorRegistration](docs/sdks/vendors/README.md#createvendorregistration) - Create vendor registration
253
254
  * [listVendorJobTitles](docs/sdks/vendors/README.md#listvendorjobtitles) - List vendor job titles
254
255
  * [listVendorCredentials](docs/sdks/vendors/README.md#listvendorcredentials) - List Vendor Credentials
256
+ * [expediteTimeRemaining](docs/sdks/vendors/README.md#expeditetimeremaining) - Expedite time remaining
257
+ * [listVendorInvoices](docs/sdks/vendors/README.md#listvendorinvoices) - List vendor invoices
255
258
 
256
259
  </details>
257
260
  <!-- End Available Resources and Operations [operations] -->
@@ -282,7 +285,9 @@ To read more about standalone functions, check [FUNCTIONS.md](./FUNCTIONS.md).
282
285
  - [`usersPassword`](docs/sdks/users/README.md#password) - Password reset
283
286
  - [`usersPasswordResetRequest`](docs/sdks/users/README.md#passwordresetrequest) - Password reset request
284
287
  - [`vendorsCreateVendorRegistration`](docs/sdks/vendors/README.md#createvendorregistration) - Create vendor registration
288
+ - [`vendorsExpediteTimeRemaining`](docs/sdks/vendors/README.md#expeditetimeremaining) - Expedite time remaining
285
289
  - [`vendorsListVendorCredentials`](docs/sdks/vendors/README.md#listvendorcredentials) - List Vendor Credentials
290
+ - [`vendorsListVendorInvoices`](docs/sdks/vendors/README.md#listvendorinvoices) - List vendor invoices
286
291
  - [`vendorsListVendorJobTitles`](docs/sdks/vendors/README.md#listvendorjobtitles) - List vendor job titles
287
292
 
288
293
  </details>
@@ -321,12 +326,50 @@ To learn about this feature and how to get started, check
321
326
  - [`useUsersPasswordMutation`](docs/sdks/users/README.md#password) - Password reset
322
327
  - [`useUsersPasswordResetRequestMutation`](docs/sdks/users/README.md#passwordresetrequest) - Password reset request
323
328
  - [`useVendorsCreateVendorRegistrationMutation`](docs/sdks/vendors/README.md#createvendorregistration) - Create vendor registration
329
+ - [`useVendorsExpediteTimeRemaining`](docs/sdks/vendors/README.md#expeditetimeremaining) - Expedite time remaining
324
330
  - [`useVendorsListVendorCredentials`](docs/sdks/vendors/README.md#listvendorcredentials) - List Vendor Credentials
331
+ - [`useVendorsListVendorInvoices`](docs/sdks/vendors/README.md#listvendorinvoices) - List vendor invoices
325
332
  - [`useVendorsListVendorJobTitles`](docs/sdks/vendors/README.md#listvendorjobtitles) - List vendor job titles
326
333
 
327
334
  </details>
328
335
  <!-- End React hooks with TanStack Query [react-query] -->
329
336
 
337
+ <!-- Start Pagination [pagination] -->
338
+ ## Pagination
339
+
340
+ Some of the endpoints in this SDK support pagination. To use pagination, you
341
+ make your SDK calls as usual, but the returned response object will also be an
342
+ async iterable that can be consumed using the [`for await...of`][for-await-of]
343
+ syntax.
344
+
345
+ [for-await-of]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of
346
+
347
+ Here's an example of one such pagination call:
348
+
349
+ ```typescript
350
+ import { GreenSecurity } from "@greensecurity/javascript-sdk";
351
+
352
+ const greenSecurity = new GreenSecurity();
353
+
354
+ async function run() {
355
+ const result = await greenSecurity.vendors.listVendorJobTitles({
356
+ sort: "job",
357
+ desc: true,
358
+ itemsPerPage: 25,
359
+ jobLike: "job",
360
+ });
361
+
362
+ for await (const page of result) {
363
+ // Handle the page
364
+ console.log(page);
365
+ }
366
+ }
367
+
368
+ run();
369
+
370
+ ```
371
+ <!-- End Pagination [pagination] -->
372
+
330
373
  <!-- Start Retries [retries] -->
331
374
  ## Retries
332
375