@greensecurity/javascript-sdk 0.16.0 → 0.17.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 (159) hide show
  1. package/REACT_QUERY.md +68 -30
  2. package/README.md +43 -0
  3. package/bin/mcp-server.js +694 -51
  4. package/bin/mcp-server.js.map +28 -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 +2 -2
  29. package/lib/config.js +2 -2
  30. package/mcp-server/mcp-server.js +1 -1
  31. package/mcp-server/server.d.ts.map +1 -1
  32. package/mcp-server/server.js +5 -1
  33. package/mcp-server/server.js.map +1 -1
  34. package/mcp-server/tools/organizationsListOrSearchFacilities.js +1 -1
  35. package/mcp-server/tools/organizationsListOrSearchFacilities.js.map +1 -1
  36. package/mcp-server/tools/supportArticlesListOrSearchSupportArticles.js +1 -1
  37. package/mcp-server/tools/supportArticlesListOrSearchSupportArticles.js.map +1 -1
  38. package/mcp-server/tools/vendorsExpediteTimeRemaining.d.ts +8 -0
  39. package/mcp-server/tools/vendorsExpediteTimeRemaining.d.ts.map +1 -0
  40. package/mcp-server/tools/vendorsExpediteTimeRemaining.js +64 -0
  41. package/mcp-server/tools/vendorsExpediteTimeRemaining.js.map +1 -0
  42. package/mcp-server/tools/vendorsListVendorInvoices.d.ts +8 -0
  43. package/mcp-server/tools/vendorsListVendorInvoices.d.ts.map +1 -0
  44. package/mcp-server/tools/vendorsListVendorInvoices.js +68 -0
  45. package/mcp-server/tools/vendorsListVendorInvoices.js.map +1 -0
  46. package/mcp-server/tools/vendorsListVendorJobTitles.js +1 -1
  47. package/mcp-server/tools/vendorsListVendorJobTitles.js.map +1 -1
  48. package/models/components/expand.d.ts +3 -0
  49. package/models/components/expand.d.ts.map +1 -1
  50. package/models/components/expand.js +1 -0
  51. package/models/components/expand.js.map +1 -1
  52. package/models/components/index.d.ts +2 -0
  53. package/models/components/index.d.ts.map +1 -1
  54. package/models/components/index.js +2 -0
  55. package/models/components/index.js.map +1 -1
  56. package/models/components/invoice.d.ts +43 -0
  57. package/models/components/invoice.d.ts.map +1 -0
  58. package/models/components/invoice.js +91 -0
  59. package/models/components/invoice.js.map +1 -0
  60. package/models/components/invoiceitem.d.ts +40 -0
  61. package/models/components/invoiceitem.d.ts.map +1 -0
  62. package/models/components/invoiceitem.js +94 -0
  63. package/models/components/invoiceitem.js.map +1 -0
  64. package/models/operations/expeditetimeremaining.d.ts +60 -0
  65. package/models/operations/expeditetimeremaining.d.ts.map +1 -0
  66. package/models/operations/expeditetimeremaining.js +113 -0
  67. package/models/operations/expeditetimeremaining.js.map +1 -0
  68. package/models/operations/index.d.ts +2 -0
  69. package/models/operations/index.d.ts.map +1 -1
  70. package/models/operations/index.js +2 -0
  71. package/models/operations/index.js.map +1 -1
  72. package/models/operations/listorsearchfacilities.d.ts +25 -0
  73. package/models/operations/listorsearchfacilities.d.ts.map +1 -1
  74. package/models/operations/listorsearchfacilities.js +36 -1
  75. package/models/operations/listorsearchfacilities.js.map +1 -1
  76. package/models/operations/listorsearchsupportarticles.d.ts +25 -0
  77. package/models/operations/listorsearchsupportarticles.d.ts.map +1 -1
  78. package/models/operations/listorsearchsupportarticles.js +36 -1
  79. package/models/operations/listorsearchsupportarticles.js.map +1 -1
  80. package/models/operations/listvendorinvoices.d.ts +116 -0
  81. package/models/operations/listvendorinvoices.d.ts.map +1 -0
  82. package/models/operations/listvendorinvoices.js +155 -0
  83. package/models/operations/listvendorinvoices.js.map +1 -0
  84. package/models/operations/listvendorjobtitles.d.ts +25 -0
  85. package/models/operations/listvendorjobtitles.d.ts.map +1 -1
  86. package/models/operations/listvendorjobtitles.js +36 -1
  87. package/models/operations/listvendorjobtitles.js.map +1 -1
  88. package/package.json +1 -1
  89. package/react-query/index.d.ts +2 -0
  90. package/react-query/index.d.ts.map +1 -1
  91. package/react-query/index.js +2 -0
  92. package/react-query/index.js.map +1 -1
  93. package/react-query/organizationsListOrSearchFacilities.d.ts +54 -3
  94. package/react-query/organizationsListOrSearchFacilities.d.ts.map +1 -1
  95. package/react-query/organizationsListOrSearchFacilities.js +89 -0
  96. package/react-query/organizationsListOrSearchFacilities.js.map +1 -1
  97. package/react-query/supportArticlesListOrSearchSupportArticles.d.ts +28 -3
  98. package/react-query/supportArticlesListOrSearchSupportArticles.d.ts.map +1 -1
  99. package/react-query/supportArticlesListOrSearchSupportArticles.js +58 -0
  100. package/react-query/supportArticlesListOrSearchSupportArticles.js.map +1 -1
  101. package/react-query/vendorsExpediteTimeRemaining.d.ts +30 -0
  102. package/react-query/vendorsExpediteTimeRemaining.d.ts.map +1 -0
  103. package/react-query/vendorsExpediteTimeRemaining.js +96 -0
  104. package/react-query/vendorsExpediteTimeRemaining.js.map +1 -0
  105. package/react-query/vendorsListVendorInvoices.d.ts +96 -0
  106. package/react-query/vendorsListVendorInvoices.d.ts.map +1 -0
  107. package/react-query/vendorsListVendorInvoices.js +178 -0
  108. package/react-query/vendorsListVendorInvoices.js.map +1 -0
  109. package/react-query/vendorsListVendorJobTitles.d.ts +28 -3
  110. package/react-query/vendorsListVendorJobTitles.d.ts.map +1 -1
  111. package/react-query/vendorsListVendorJobTitles.js +59 -0
  112. package/react-query/vendorsListVendorJobTitles.js.map +1 -1
  113. package/sdk/organizations.d.ts +4 -1
  114. package/sdk/organizations.d.ts.map +1 -1
  115. package/sdk/organizations.js +2 -1
  116. package/sdk/organizations.js.map +1 -1
  117. package/sdk/supportarticles.d.ts +4 -1
  118. package/sdk/supportarticles.d.ts.map +1 -1
  119. package/sdk/supportarticles.js +2 -1
  120. package/sdk/supportarticles.js.map +1 -1
  121. package/sdk/vendors.d.ts +24 -1
  122. package/sdk/vendors.d.ts.map +1 -1
  123. package/sdk/vendors.js +26 -1
  124. package/sdk/vendors.js.map +1 -1
  125. package/src/__tests__/supportarticles.test.ts +2 -1
  126. package/src/__tests__/vendors.test.ts +58 -1
  127. package/src/funcs/organizationsListOrSearchFacilities.ts +116 -42
  128. package/src/funcs/supportArticlesGetSupportArticle.ts +1 -1
  129. package/src/funcs/supportArticlesListOrSearchSupportArticles.ts +100 -31
  130. package/src/funcs/vendorsExpediteTimeRemaining.ts +171 -0
  131. package/src/funcs/vendorsListVendorInvoices.ts +255 -0
  132. package/src/funcs/vendorsListVendorJobTitles.ts +101 -33
  133. package/src/lib/config.ts +2 -2
  134. package/src/mcp-server/mcp-server.ts +1 -1
  135. package/src/mcp-server/server.ts +5 -1
  136. package/src/mcp-server/tools/organizationsListOrSearchFacilities.ts +1 -1
  137. package/src/mcp-server/tools/supportArticlesListOrSearchSupportArticles.ts +1 -1
  138. package/src/mcp-server/tools/vendorsExpediteTimeRemaining.ts +37 -0
  139. package/src/mcp-server/tools/vendorsListVendorInvoices.ts +41 -0
  140. package/src/mcp-server/tools/vendorsListVendorJobTitles.ts +1 -1
  141. package/src/models/components/expand.ts +1 -0
  142. package/src/models/components/index.ts +2 -0
  143. package/src/models/components/invoice.ts +99 -0
  144. package/src/models/components/invoiceitem.ts +98 -0
  145. package/src/models/operations/expeditetimeremaining.ts +152 -0
  146. package/src/models/operations/index.ts +2 -0
  147. package/src/models/operations/listorsearchfacilities.ts +72 -0
  148. package/src/models/operations/listorsearchsupportarticles.ts +75 -0
  149. package/src/models/operations/listvendorinvoices.ts +252 -0
  150. package/src/models/operations/listvendorjobtitles.ts +68 -0
  151. package/src/react-query/index.ts +2 -0
  152. package/src/react-query/organizationsListOrSearchFacilities.ts +179 -1
  153. package/src/react-query/supportArticlesListOrSearchSupportArticles.ts +149 -1
  154. package/src/react-query/vendorsExpediteTimeRemaining.ts +165 -0
  155. package/src/react-query/vendorsListVendorInvoices.ts +364 -0
  156. package/src/react-query/vendorsListVendorJobTitles.ts +149 -1
  157. package/src/sdk/organizations.ts +5 -2
  158. package/src/sdk/supportarticles.ts +8 -2
  159. package/src/sdk/vendors.ts +47 -2
@@ -3,12 +3,17 @@
3
3
  */
4
4
 
5
5
  import {
6
+ InfiniteData,
6
7
  InvalidateQueryFilters,
7
8
  QueryClient,
8
9
  QueryFunctionContext,
9
10
  QueryKey,
11
+ useInfiniteQuery,
12
+ UseInfiniteQueryResult,
10
13
  useQuery,
11
14
  UseQueryResult,
15
+ useSuspenseInfiniteQuery,
16
+ UseSuspenseInfiniteQueryResult,
12
17
  useSuspenseQuery,
13
18
  UseSuspenseQueryResult,
14
19
  } from "@tanstack/react-query";
@@ -19,15 +24,28 @@ import { RequestOptions } from "../lib/sdks.js";
19
24
  import * as components from "../models/components/index.js";
20
25
  import * as operations from "../models/operations/index.js";
21
26
  import { unwrapAsync } from "../types/fp.js";
27
+ import { PageIterator, unwrapResultIterator } from "../types/operations.js";
22
28
  import { useGreenSecurityContext } from "./_context.js";
23
29
  import {
30
+ InfiniteQueryHookOptions,
24
31
  QueryHookOptions,
32
+ SuspenseInfiniteQueryHookOptions,
25
33
  SuspenseQueryHookOptions,
26
34
  TupleToPrefixes,
27
35
  } from "./_types.js";
28
36
 
29
37
  export type VendorsListVendorJobTitlesQueryData =
30
- operations.ListVendorJobTitlesListVendorJobTitlesOk;
38
+ operations.ListVendorJobTitlesResponse;
39
+
40
+ export type VendorsListVendorJobTitlesInfiniteQueryData = PageIterator<
41
+ operations.ListVendorJobTitlesResponse,
42
+ { page: number }
43
+ >;
44
+
45
+ export type VendorsListVendorJobTitlesPageParams = PageIterator<
46
+ operations.ListVendorJobTitlesResponse,
47
+ { page: number }
48
+ >["~next"];
31
49
 
32
50
  /**
33
51
  * List vendor job titles
@@ -71,6 +89,86 @@ export function useVendorsListVendorJobTitlesSuspense(
71
89
  });
72
90
  }
73
91
 
92
+ /**
93
+ * List vendor job titles
94
+ *
95
+ * @remarks
96
+ * List valid job titles for Vendors. This can be used during sign up or in a filter.
97
+ */
98
+ export function useVendorsListVendorJobTitlesInfinite(
99
+ request: operations.ListVendorJobTitlesRequest,
100
+ options?: InfiniteQueryHookOptions<
101
+ VendorsListVendorJobTitlesInfiniteQueryData
102
+ >,
103
+ ): UseInfiniteQueryResult<
104
+ InfiniteData<
105
+ VendorsListVendorJobTitlesInfiniteQueryData,
106
+ VendorsListVendorJobTitlesPageParams
107
+ >,
108
+ Error
109
+ > {
110
+ const client = useGreenSecurityContext();
111
+ return useInfiniteQuery<
112
+ VendorsListVendorJobTitlesInfiniteQueryData,
113
+ Error,
114
+ InfiniteData<
115
+ VendorsListVendorJobTitlesInfiniteQueryData,
116
+ VendorsListVendorJobTitlesPageParams
117
+ >,
118
+ QueryKey,
119
+ VendorsListVendorJobTitlesPageParams
120
+ >({
121
+ ...buildVendorsListVendorJobTitlesInfiniteQuery(
122
+ client,
123
+ request,
124
+ options,
125
+ ),
126
+ initialPageParam: options?.initialPageParam,
127
+ getNextPageParam: (previousPage) => previousPage["~next"],
128
+ ...options,
129
+ });
130
+ }
131
+
132
+ /**
133
+ * List vendor job titles
134
+ *
135
+ * @remarks
136
+ * List valid job titles for Vendors. This can be used during sign up or in a filter.
137
+ */
138
+ export function useVendorsListVendorJobTitlesInfiniteSuspense(
139
+ request: operations.ListVendorJobTitlesRequest,
140
+ options?: SuspenseInfiniteQueryHookOptions<
141
+ VendorsListVendorJobTitlesInfiniteQueryData
142
+ >,
143
+ ): UseSuspenseInfiniteQueryResult<
144
+ InfiniteData<
145
+ VendorsListVendorJobTitlesInfiniteQueryData,
146
+ VendorsListVendorJobTitlesPageParams
147
+ >,
148
+ Error
149
+ > {
150
+ const client = useGreenSecurityContext();
151
+ return useSuspenseInfiniteQuery<
152
+ VendorsListVendorJobTitlesInfiniteQueryData,
153
+ Error,
154
+ InfiniteData<
155
+ VendorsListVendorJobTitlesInfiniteQueryData,
156
+ VendorsListVendorJobTitlesPageParams
157
+ >,
158
+ QueryKey,
159
+ VendorsListVendorJobTitlesPageParams
160
+ >({
161
+ ...buildVendorsListVendorJobTitlesInfiniteQuery(
162
+ client,
163
+ request,
164
+ options,
165
+ ),
166
+ initialPageParam: options?.initialPageParam,
167
+ getNextPageParam: (previousPage) => previousPage["~next"],
168
+ ...options,
169
+ });
170
+ }
171
+
74
172
  export function prefetchVendorsListVendorJobTitles(
75
173
  queryClient: QueryClient,
76
174
  client$: GreenSecurityCore,
@@ -176,6 +274,56 @@ export function buildVendorsListVendorJobTitlesQuery(
176
274
  };
177
275
  }
178
276
 
277
+ export function buildVendorsListVendorJobTitlesInfiniteQuery(
278
+ client$: GreenSecurityCore,
279
+ request: operations.ListVendorJobTitlesRequest,
280
+ options?: RequestOptions,
281
+ ): {
282
+ queryKey: QueryKey;
283
+ queryFn: (
284
+ context: QueryFunctionContext<
285
+ QueryKey,
286
+ VendorsListVendorJobTitlesPageParams
287
+ >,
288
+ ) => Promise<VendorsListVendorJobTitlesInfiniteQueryData>;
289
+ } {
290
+ return {
291
+ queryKey: queryKeyVendorsListVendorJobTitles({
292
+ sort: request.sort,
293
+ desc: request.desc,
294
+ page: request.page,
295
+ itemsPerPage: request.itemsPerPage,
296
+ jobLike: request.jobLike,
297
+ }),
298
+ queryFn: async function vendorsListVendorJobTitlesQuery(
299
+ ctx,
300
+ ): Promise<VendorsListVendorJobTitlesInfiniteQueryData> {
301
+ const sig = combineSignals(ctx.signal, options?.fetchOptions?.signal);
302
+ const mergedOptions = {
303
+ ...options,
304
+ fetchOptions: { ...options?.fetchOptions, signal: sig },
305
+ };
306
+
307
+ if (!ctx.pageParam) {
308
+ return unwrapResultIterator(vendorsListVendorJobTitles(
309
+ client$,
310
+ request,
311
+ mergedOptions,
312
+ ));
313
+ }
314
+
315
+ return unwrapResultIterator(vendorsListVendorJobTitles(
316
+ client$,
317
+ {
318
+ ...request,
319
+ page: ctx.pageParam.page,
320
+ },
321
+ mergedOptions,
322
+ ));
323
+ },
324
+ };
325
+ }
326
+
179
327
  export function queryKeyVendorsListVendorJobTitles(
180
328
  parameters: {
181
329
  sort?: string | null | undefined;
@@ -8,6 +8,7 @@ import { ClientSDK, RequestOptions } from "../lib/sdks.js";
8
8
  import * as components from "../models/components/index.js";
9
9
  import * as operations from "../models/operations/index.js";
10
10
  import { unwrapAsync } from "../types/fp.js";
11
+ import { PageIterator, unwrapResultIterator } from "../types/operations.js";
11
12
 
12
13
  export class Organizations extends ClientSDK {
13
14
  /**
@@ -32,8 +33,10 @@ export class Organizations extends ClientSDK {
32
33
  async listOrSearchFacilities(
33
34
  request: operations.ListOrSearchFacilitiesRequest,
34
35
  options?: RequestOptions,
35
- ): Promise<operations.ListOrSearchFacilitiesListOrSearchFacilitiesOk> {
36
- return unwrapAsync(organizationsListOrSearchFacilities(
36
+ ): Promise<
37
+ PageIterator<operations.ListOrSearchFacilitiesResponse, { page: number }>
38
+ > {
39
+ return unwrapResultIterator(organizationsListOrSearchFacilities(
37
40
  this,
38
41
  request,
39
42
  options,
@@ -8,6 +8,7 @@ import { ClientSDK, RequestOptions } from "../lib/sdks.js";
8
8
  import * as components from "../models/components/index.js";
9
9
  import * as operations from "../models/operations/index.js";
10
10
  import { unwrapAsync } from "../types/fp.js";
11
+ import { PageIterator, unwrapResultIterator } from "../types/operations.js";
11
12
 
12
13
  export class SupportArticles extends ClientSDK {
13
14
  /**
@@ -19,8 +20,13 @@ export class SupportArticles extends ClientSDK {
19
20
  async listOrSearchSupportArticles(
20
21
  request: operations.ListOrSearchSupportArticlesRequest,
21
22
  options?: RequestOptions,
22
- ): Promise<operations.ListOrSearchSupportArticlesListOrSearchArticlesOk> {
23
- return unwrapAsync(supportArticlesListOrSearchSupportArticles(
23
+ ): Promise<
24
+ PageIterator<
25
+ operations.ListOrSearchSupportArticlesResponse,
26
+ { page: number }
27
+ >
28
+ > {
29
+ return unwrapResultIterator(supportArticlesListOrSearchSupportArticles(
24
30
  this,
25
31
  request,
26
32
  options,
@@ -3,11 +3,14 @@
3
3
  */
4
4
 
5
5
  import { vendorsCreateVendorRegistration } from "../funcs/vendorsCreateVendorRegistration.js";
6
+ import { vendorsExpediteTimeRemaining } from "../funcs/vendorsExpediteTimeRemaining.js";
6
7
  import { vendorsListVendorCredentials } from "../funcs/vendorsListVendorCredentials.js";
8
+ import { vendorsListVendorInvoices } from "../funcs/vendorsListVendorInvoices.js";
7
9
  import { vendorsListVendorJobTitles } from "../funcs/vendorsListVendorJobTitles.js";
8
10
  import { ClientSDK, RequestOptions } from "../lib/sdks.js";
9
11
  import * as operations from "../models/operations/index.js";
10
12
  import { unwrapAsync } from "../types/fp.js";
13
+ import { PageIterator, unwrapResultIterator } from "../types/operations.js";
11
14
 
12
15
  export class Vendors extends ClientSDK {
13
16
  /**
@@ -38,8 +41,10 @@ export class Vendors extends ClientSDK {
38
41
  async listVendorJobTitles(
39
42
  request: operations.ListVendorJobTitlesRequest,
40
43
  options?: RequestOptions,
41
- ): Promise<operations.ListVendorJobTitlesListVendorJobTitlesOk> {
42
- return unwrapAsync(vendorsListVendorJobTitles(
44
+ ): Promise<
45
+ PageIterator<operations.ListVendorJobTitlesResponse, { page: number }>
46
+ > {
47
+ return unwrapResultIterator(vendorsListVendorJobTitles(
43
48
  this,
44
49
  request,
45
50
  options,
@@ -62,4 +67,44 @@ export class Vendors extends ClientSDK {
62
67
  options,
63
68
  ));
64
69
  }
70
+
71
+ /**
72
+ * Expedite time remaining
73
+ *
74
+ * @remarks
75
+ * For vendors who have a paid 24-hour expedite credentials invoice, get the remaining time (in seconds) for which submitted credentials will be expedited.
76
+ */
77
+ async expediteTimeRemaining(
78
+ request: operations.ExpediteTimeRemainingRequest,
79
+ options?: RequestOptions,
80
+ ): Promise<operations.ExpediteTimeRemainingResponseBody> {
81
+ return unwrapAsync(vendorsExpediteTimeRemaining(
82
+ this,
83
+ request,
84
+ options,
85
+ ));
86
+ }
87
+
88
+ /**
89
+ * List vendor invoices
90
+ *
91
+ * @remarks
92
+ * List invoices for Vendors
93
+ *
94
+ * Available `expand` scopes are:
95
+ *
96
+ * invoice.line_items
97
+ */
98
+ async listVendorInvoices(
99
+ request: operations.ListVendorInvoicesRequest,
100
+ options?: RequestOptions,
101
+ ): Promise<
102
+ PageIterator<operations.ListVendorInvoicesResponse, { page: number }>
103
+ > {
104
+ return unwrapResultIterator(vendorsListVendorInvoices(
105
+ this,
106
+ request,
107
+ options,
108
+ ));
109
+ }
65
110
  }