@moovio/sdk 0.13.0 → 0.14.1

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 (179) hide show
  1. package/README.md +81 -36
  2. package/bin/mcp-server.js +1530 -341
  3. package/bin/mcp-server.js.map +37 -13
  4. package/docs/sdks/support/README.md +476 -0
  5. package/funcs/supportCreateTicket.d.ts +18 -0
  6. package/funcs/supportCreateTicket.d.ts.map +1 -0
  7. package/funcs/supportCreateTicket.js +139 -0
  8. package/funcs/supportCreateTicket.js.map +1 -0
  9. package/funcs/supportGetTicket.d.ts +17 -0
  10. package/funcs/supportGetTicket.d.ts.map +1 -0
  11. package/funcs/supportGetTicket.js +129 -0
  12. package/funcs/supportGetTicket.js.map +1 -0
  13. package/funcs/supportListTicketMessages.d.ts +17 -0
  14. package/funcs/supportListTicketMessages.d.ts.map +1 -0
  15. package/funcs/supportListTicketMessages.js +134 -0
  16. package/funcs/supportListTicketMessages.js.map +1 -0
  17. package/funcs/supportListTickets.d.ts +17 -0
  18. package/funcs/supportListTickets.d.ts.map +1 -0
  19. package/funcs/supportListTickets.js +130 -0
  20. package/funcs/supportListTickets.js.map +1 -0
  21. package/funcs/supportUpdateTicket.d.ts +18 -0
  22. package/funcs/supportUpdateTicket.d.ts.map +1 -0
  23. package/funcs/supportUpdateTicket.js +143 -0
  24. package/funcs/supportUpdateTicket.js.map +1 -0
  25. package/jsr.json +1 -1
  26. package/lib/config.d.ts +3 -3
  27. package/lib/config.js +3 -3
  28. package/mcp-server/cli/start/command.d.ts.map +1 -1
  29. package/mcp-server/cli/start/command.js +0 -12
  30. package/mcp-server/cli/start/command.js.map +1 -1
  31. package/mcp-server/cli/start/impl.d.ts +0 -2
  32. package/mcp-server/cli/start/impl.d.ts.map +1 -1
  33. package/mcp-server/cli/start/impl.js +0 -2
  34. package/mcp-server/cli/start/impl.js.map +1 -1
  35. package/mcp-server/mcp-server.js +1 -1
  36. package/mcp-server/server.d.ts.map +1 -1
  37. package/mcp-server/server.js +11 -1
  38. package/mcp-server/server.js.map +1 -1
  39. package/mcp-server/tools/supportCreateTicket.d.ts +8 -0
  40. package/mcp-server/tools/supportCreateTicket.d.ts.map +1 -0
  41. package/mcp-server/tools/supportCreateTicket.js +65 -0
  42. package/mcp-server/tools/supportCreateTicket.js.map +1 -0
  43. package/mcp-server/tools/supportGetTicket.d.ts +8 -0
  44. package/mcp-server/tools/supportGetTicket.d.ts.map +1 -0
  45. package/mcp-server/tools/supportGetTicket.js +65 -0
  46. package/mcp-server/tools/supportGetTicket.js.map +1 -0
  47. package/mcp-server/tools/supportListTicketMessages.d.ts +8 -0
  48. package/mcp-server/tools/supportListTicketMessages.d.ts.map +1 -0
  49. package/mcp-server/tools/supportListTicketMessages.js +65 -0
  50. package/mcp-server/tools/supportListTicketMessages.js.map +1 -0
  51. package/mcp-server/tools/supportListTickets.d.ts +8 -0
  52. package/mcp-server/tools/supportListTickets.d.ts.map +1 -0
  53. package/mcp-server/tools/supportListTickets.js +65 -0
  54. package/mcp-server/tools/supportListTickets.js.map +1 -0
  55. package/mcp-server/tools/supportUpdateTicket.d.ts +8 -0
  56. package/mcp-server/tools/supportUpdateTicket.d.ts.map +1 -0
  57. package/mcp-server/tools/supportUpdateTicket.js +65 -0
  58. package/mcp-server/tools/supportUpdateTicket.js.map +1 -0
  59. package/models/components/createticket.d.ts +37 -0
  60. package/models/components/createticket.d.ts.map +1 -0
  61. package/models/components/createticket.js +74 -0
  62. package/models/components/createticket.js.map +1 -0
  63. package/models/components/createticketcontacterror.d.ts +31 -0
  64. package/models/components/createticketcontacterror.d.ts.map +1 -0
  65. package/models/components/createticketcontacterror.js +71 -0
  66. package/models/components/createticketcontacterror.js.map +1 -0
  67. package/models/components/index.d.ts +8 -0
  68. package/models/components/index.d.ts.map +1 -1
  69. package/models/components/index.js +8 -0
  70. package/models/components/index.js.map +1 -1
  71. package/models/components/ticket.d.ts +47 -0
  72. package/models/components/ticket.d.ts.map +1 -0
  73. package/models/components/ticket.js +89 -0
  74. package/models/components/ticket.js.map +1 -0
  75. package/models/components/ticketcontact.d.ts +31 -0
  76. package/models/components/ticketcontact.d.ts.map +1 -0
  77. package/models/components/ticketcontact.js +71 -0
  78. package/models/components/ticketcontact.js.map +1 -0
  79. package/models/components/ticketmessage.d.ts +33 -0
  80. package/models/components/ticketmessage.d.ts.map +1 -0
  81. package/models/components/ticketmessage.js +73 -0
  82. package/models/components/ticketmessage.js.map +1 -0
  83. package/models/components/ticketstatus.d.ts +34 -0
  84. package/models/components/ticketstatus.d.ts.map +1 -0
  85. package/models/components/ticketstatus.js +62 -0
  86. package/models/components/ticketstatus.js.map +1 -0
  87. package/models/components/updateticket.d.ts +33 -0
  88. package/models/components/updateticket.d.ts.map +1 -0
  89. package/models/components/updateticket.js +70 -0
  90. package/models/components/updateticket.js.map +1 -0
  91. package/models/components/updateticketstatus.d.ts +25 -0
  92. package/models/components/updateticketstatus.d.ts.map +1 -0
  93. package/models/components/updateticketstatus.js +59 -0
  94. package/models/components/updateticketstatus.js.map +1 -0
  95. package/models/errors/apierror.d.ts.map +1 -1
  96. package/models/errors/apierror.js +8 -2
  97. package/models/errors/apierror.js.map +1 -1
  98. package/models/errors/createticketerror.d.ts +42 -0
  99. package/models/errors/createticketerror.d.ts.map +1 -0
  100. package/models/errors/createticketerror.js +93 -0
  101. package/models/errors/createticketerror.js.map +1 -0
  102. package/models/errors/index.d.ts +2 -0
  103. package/models/errors/index.d.ts.map +1 -1
  104. package/models/errors/index.js +2 -0
  105. package/models/errors/index.js.map +1 -1
  106. package/models/errors/updateticketerror.d.ts +36 -0
  107. package/models/errors/updateticketerror.d.ts.map +1 -0
  108. package/models/errors/updateticketerror.js +86 -0
  109. package/models/errors/updateticketerror.js.map +1 -0
  110. package/models/operations/createticket.d.ts +101 -0
  111. package/models/operations/createticket.d.ts.map +1 -0
  112. package/models/operations/createticket.js +155 -0
  113. package/models/operations/createticket.js.map +1 -0
  114. package/models/operations/getticket.d.ts +101 -0
  115. package/models/operations/getticket.d.ts.map +1 -0
  116. package/models/operations/getticket.js +147 -0
  117. package/models/operations/getticket.js.map +1 -0
  118. package/models/operations/index.d.ts +5 -0
  119. package/models/operations/index.d.ts.map +1 -1
  120. package/models/operations/index.js +5 -0
  121. package/models/operations/index.js.map +1 -1
  122. package/models/operations/listticketmessages.d.ts +105 -0
  123. package/models/operations/listticketmessages.d.ts.map +1 -0
  124. package/models/operations/listticketmessages.js +151 -0
  125. package/models/operations/listticketmessages.js.map +1 -0
  126. package/models/operations/listtickets.d.ts +103 -0
  127. package/models/operations/listtickets.d.ts.map +1 -0
  128. package/models/operations/listtickets.js +149 -0
  129. package/models/operations/listtickets.js.map +1 -0
  130. package/models/operations/updateticket.d.ts +103 -0
  131. package/models/operations/updateticket.d.ts.map +1 -0
  132. package/models/operations/updateticket.js +157 -0
  133. package/models/operations/updateticket.js.map +1 -0
  134. package/package.json +1 -1
  135. package/sdk/sdk.d.ts +3 -0
  136. package/sdk/sdk.d.ts.map +1 -1
  137. package/sdk/sdk.js +4 -0
  138. package/sdk/sdk.js.map +1 -1
  139. package/sdk/support.d.ts +40 -0
  140. package/sdk/support.d.ts.map +1 -0
  141. package/sdk/support.js +62 -0
  142. package/sdk/support.js.map +1 -0
  143. package/src/funcs/supportCreateTicket.ts +201 -0
  144. package/src/funcs/supportGetTicket.ts +185 -0
  145. package/src/funcs/supportListTicketMessages.ts +191 -0
  146. package/src/funcs/supportListTickets.ts +185 -0
  147. package/src/funcs/supportUpdateTicket.ts +207 -0
  148. package/src/lib/config.ts +3 -3
  149. package/src/mcp-server/cli/start/command.ts +0 -13
  150. package/src/mcp-server/cli/start/impl.ts +0 -4
  151. package/src/mcp-server/mcp-server.ts +1 -1
  152. package/src/mcp-server/server.ts +11 -1
  153. package/src/mcp-server/tools/supportCreateTicket.ts +38 -0
  154. package/src/mcp-server/tools/supportGetTicket.ts +38 -0
  155. package/src/mcp-server/tools/supportListTicketMessages.ts +38 -0
  156. package/src/mcp-server/tools/supportListTickets.ts +38 -0
  157. package/src/mcp-server/tools/supportUpdateTicket.ts +38 -0
  158. package/src/models/components/createticket.ts +79 -0
  159. package/src/models/components/createticketcontacterror.ts +70 -0
  160. package/src/models/components/index.ts +8 -0
  161. package/src/models/components/ticket.ts +109 -0
  162. package/src/models/components/ticketcontact.ts +66 -0
  163. package/src/models/components/ticketmessage.ts +70 -0
  164. package/src/models/components/ticketstatus.ts +33 -0
  165. package/src/models/components/updateticket.ts +70 -0
  166. package/src/models/components/updateticketstatus.ts +32 -0
  167. package/src/models/errors/apierror.ts +8 -2
  168. package/src/models/errors/createticketerror.ts +90 -0
  169. package/src/models/errors/index.ts +2 -0
  170. package/src/models/errors/updateticketerror.ts +79 -0
  171. package/src/models/operations/createticket.ts +231 -0
  172. package/src/models/operations/getticket.ts +223 -0
  173. package/src/models/operations/index.ts +5 -0
  174. package/src/models/operations/listticketmessages.ts +231 -0
  175. package/src/models/operations/listtickets.ts +227 -0
  176. package/src/models/operations/updateticket.ts +235 -0
  177. package/src/sdk/sdk.ts +6 -0
  178. package/src/sdk/support.ts +99 -0
  179. package/src/__tests__/mockserver/README.md +0 -52
@@ -0,0 +1,40 @@
1
+ import { ClientSDK, RequestOptions } from "../lib/sdks.js";
2
+ import * as operations from "../models/operations/index.js";
3
+ export declare class Support extends ClientSDK {
4
+ /**
5
+ * Create a support ticket for a Moov account.
6
+ *
7
+ * To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
8
+ * you'll need to specify the `/accounts/{accountID}/support.write` scope.
9
+ */
10
+ createTicket(request: operations.CreateTicketRequest, options?: RequestOptions): Promise<operations.CreateTicketResponse>;
11
+ /**
12
+ * List all the support tickets created under a Moov account.
13
+ *
14
+ * To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
15
+ * you'll need to specify the `/accounts/{accountID}/support.read` scope.
16
+ */
17
+ listTickets(request: operations.ListTicketsRequest, options?: RequestOptions): Promise<operations.ListTicketsResponse>;
18
+ /**
19
+ * Retrieve a support ticket by ID.
20
+ *
21
+ * To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
22
+ * you'll need to specify the `/accounts/{accountID}/support.read` scope.
23
+ */
24
+ getTicket(request: operations.GetTicketRequest, options?: RequestOptions): Promise<operations.GetTicketResponse>;
25
+ /**
26
+ * Updates a support ticket.
27
+ *
28
+ * To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
29
+ * you'll need to specify the `/accounts/{accountID}/support.write` scope.
30
+ */
31
+ updateTicket(request: operations.UpdateTicketRequest, options?: RequestOptions): Promise<operations.UpdateTicketResponse>;
32
+ /**
33
+ * List all the messages for a support ticket.
34
+ *
35
+ * To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
36
+ * you'll need to specify the `/accounts/{accountID}/support.read` scope.
37
+ */
38
+ listTicketMessages(request: operations.ListTicketMessagesRequest, options?: RequestOptions): Promise<operations.ListTicketMessagesResponse>;
39
+ }
40
+ //# sourceMappingURL=support.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"support.d.ts","sourceRoot":"","sources":["../src/sdk/support.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,UAAU,MAAM,+BAA+B,CAAC;AAG5D,qBAAa,OAAQ,SAAQ,SAAS;IACpC;;;;;OAKG;IACG,YAAY,CAChB,OAAO,EAAE,UAAU,CAAC,mBAAmB,EACvC,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC;IAQ3C;;;;;OAKG;IACG,WAAW,CACf,OAAO,EAAE,UAAU,CAAC,kBAAkB,EACtC,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC;IAQ1C;;;;;OAKG;IACG,SAAS,CACb,OAAO,EAAE,UAAU,CAAC,gBAAgB,EACpC,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC;IAQxC;;;;;OAKG;IACG,YAAY,CAChB,OAAO,EAAE,UAAU,CAAC,mBAAmB,EACvC,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC;IAQ3C;;;;;OAKG;IACG,kBAAkB,CACtB,OAAO,EAAE,UAAU,CAAC,yBAAyB,EAC7C,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC,0BAA0B,CAAC;CAOlD"}
package/sdk/support.js ADDED
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ /*
3
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Support = void 0;
7
+ const supportCreateTicket_js_1 = require("../funcs/supportCreateTicket.js");
8
+ const supportGetTicket_js_1 = require("../funcs/supportGetTicket.js");
9
+ const supportListTicketMessages_js_1 = require("../funcs/supportListTicketMessages.js");
10
+ const supportListTickets_js_1 = require("../funcs/supportListTickets.js");
11
+ const supportUpdateTicket_js_1 = require("../funcs/supportUpdateTicket.js");
12
+ const sdks_js_1 = require("../lib/sdks.js");
13
+ const fp_js_1 = require("../types/fp.js");
14
+ class Support extends sdks_js_1.ClientSDK {
15
+ /**
16
+ * Create a support ticket for a Moov account.
17
+ *
18
+ * To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
19
+ * you'll need to specify the `/accounts/{accountID}/support.write` scope.
20
+ */
21
+ async createTicket(request, options) {
22
+ return (0, fp_js_1.unwrapAsync)((0, supportCreateTicket_js_1.supportCreateTicket)(this, request, options));
23
+ }
24
+ /**
25
+ * List all the support tickets created under a Moov account.
26
+ *
27
+ * To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
28
+ * you'll need to specify the `/accounts/{accountID}/support.read` scope.
29
+ */
30
+ async listTickets(request, options) {
31
+ return (0, fp_js_1.unwrapAsync)((0, supportListTickets_js_1.supportListTickets)(this, request, options));
32
+ }
33
+ /**
34
+ * Retrieve a support ticket by ID.
35
+ *
36
+ * To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
37
+ * you'll need to specify the `/accounts/{accountID}/support.read` scope.
38
+ */
39
+ async getTicket(request, options) {
40
+ return (0, fp_js_1.unwrapAsync)((0, supportGetTicket_js_1.supportGetTicket)(this, request, options));
41
+ }
42
+ /**
43
+ * Updates a support ticket.
44
+ *
45
+ * To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
46
+ * you'll need to specify the `/accounts/{accountID}/support.write` scope.
47
+ */
48
+ async updateTicket(request, options) {
49
+ return (0, fp_js_1.unwrapAsync)((0, supportUpdateTicket_js_1.supportUpdateTicket)(this, request, options));
50
+ }
51
+ /**
52
+ * List all the messages for a support ticket.
53
+ *
54
+ * To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
55
+ * you'll need to specify the `/accounts/{accountID}/support.read` scope.
56
+ */
57
+ async listTicketMessages(request, options) {
58
+ return (0, fp_js_1.unwrapAsync)((0, supportListTicketMessages_js_1.supportListTicketMessages)(this, request, options));
59
+ }
60
+ }
61
+ exports.Support = Support;
62
+ //# sourceMappingURL=support.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"support.js","sourceRoot":"","sources":["../src/sdk/support.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,4EAAsE;AACtE,sEAAgE;AAChE,wFAAkF;AAClF,0EAAoE;AACpE,4EAAsE;AACtE,4CAA2D;AAE3D,0CAA6C;AAE7C,MAAa,OAAQ,SAAQ,mBAAS;IACpC;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAChB,OAAuC,EACvC,OAAwB;QAExB,OAAO,IAAA,mBAAW,EAAC,IAAA,4CAAmB,EACpC,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CACf,OAAsC,EACtC,OAAwB;QAExB,OAAO,IAAA,mBAAW,EAAC,IAAA,0CAAkB,EACnC,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CACb,OAAoC,EACpC,OAAwB;QAExB,OAAO,IAAA,mBAAW,EAAC,IAAA,sCAAgB,EACjC,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAChB,OAAuC,EACvC,OAAwB;QAExB,OAAO,IAAA,mBAAW,EAAC,IAAA,4CAAmB,EACpC,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,kBAAkB,CACtB,OAA6C,EAC7C,OAAwB;QAExB,OAAO,IAAA,mBAAW,EAAC,IAAA,wDAAyB,EAC1C,IAAI,EACJ,OAAO,EACP,OAAO,CACR,CAAC,CAAC;IACL,CAAC;CACF;AArFD,0BAqFC"}
@@ -0,0 +1,201 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { MoovCore } 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 {
14
+ ConnectionError,
15
+ InvalidRequestError,
16
+ RequestAbortedError,
17
+ RequestTimeoutError,
18
+ UnexpectedClientError,
19
+ } from "../models/errors/httpclienterrors.js";
20
+ import * as errors from "../models/errors/index.js";
21
+ import { MoovError } from "../models/errors/mooverror.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
+ * Create a support ticket for a Moov account.
30
+ *
31
+ * To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
32
+ * you'll need to specify the `/accounts/{accountID}/support.write` scope.
33
+ */
34
+ export function supportCreateTicket(
35
+ client: MoovCore,
36
+ request: operations.CreateTicketRequest,
37
+ options?: RequestOptions,
38
+ ): APIPromise<
39
+ Result<
40
+ operations.CreateTicketResponse,
41
+ | errors.GenericError
42
+ | errors.CreateTicketError
43
+ | MoovError
44
+ | ResponseValidationError
45
+ | ConnectionError
46
+ | RequestAbortedError
47
+ | RequestTimeoutError
48
+ | InvalidRequestError
49
+ | UnexpectedClientError
50
+ | SDKValidationError
51
+ >
52
+ > {
53
+ return new APIPromise($do(
54
+ client,
55
+ request,
56
+ options,
57
+ ));
58
+ }
59
+
60
+ async function $do(
61
+ client: MoovCore,
62
+ request: operations.CreateTicketRequest,
63
+ options?: RequestOptions,
64
+ ): Promise<
65
+ [
66
+ Result<
67
+ operations.CreateTicketResponse,
68
+ | errors.GenericError
69
+ | errors.CreateTicketError
70
+ | MoovError
71
+ | ResponseValidationError
72
+ | ConnectionError
73
+ | RequestAbortedError
74
+ | RequestTimeoutError
75
+ | InvalidRequestError
76
+ | UnexpectedClientError
77
+ | SDKValidationError
78
+ >,
79
+ APICall,
80
+ ]
81
+ > {
82
+ const parsed = safeParse(
83
+ request,
84
+ (value) => operations.CreateTicketRequest$outboundSchema.parse(value),
85
+ "Input validation failed",
86
+ );
87
+ if (!parsed.ok) {
88
+ return [parsed, { status: "invalid" }];
89
+ }
90
+ const payload = parsed.value;
91
+ const body = encodeJSON("body", payload.CreateTicket, { explode: true });
92
+
93
+ const pathParams = {
94
+ accountID: encodeSimple("accountID", payload.accountID, {
95
+ explode: false,
96
+ charEncoding: "percent",
97
+ }),
98
+ };
99
+
100
+ const path = pathToFunc("/accounts/{accountID}/tickets")(pathParams);
101
+
102
+ const headers = new Headers(compactMap({
103
+ "Content-Type": "application/json",
104
+ Accept: "application/json",
105
+ "x-moov-version": encodeSimple(
106
+ "x-moov-version",
107
+ client._options.xMoovVersion,
108
+ { explode: false, charEncoding: "none" },
109
+ ),
110
+ }));
111
+
112
+ const securityInput = await extractSecurity(client._options.security);
113
+ const requestSecurity = resolveGlobalSecurity(securityInput);
114
+
115
+ const context = {
116
+ options: client._options,
117
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
118
+ operationID: "createTicket",
119
+ oAuth2Scopes: [],
120
+
121
+ resolvedSecurity: requestSecurity,
122
+
123
+ securitySource: client._options.security,
124
+ retryConfig: options?.retries
125
+ || client._options.retryConfig
126
+ || { strategy: "none" },
127
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
128
+ };
129
+
130
+ const requestRes = client._createRequest(context, {
131
+ security: requestSecurity,
132
+ method: "POST",
133
+ baseURL: options?.serverURL,
134
+ path: path,
135
+ headers: headers,
136
+ body: body,
137
+ userAgent: client._options.userAgent,
138
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
139
+ }, options);
140
+ if (!requestRes.ok) {
141
+ return [requestRes, { status: "invalid" }];
142
+ }
143
+ const req = requestRes.value;
144
+
145
+ const doResult = await client._do(req, {
146
+ context,
147
+ errorCodes: [
148
+ "400",
149
+ "401",
150
+ "403",
151
+ "404",
152
+ "409",
153
+ "422",
154
+ "429",
155
+ "4XX",
156
+ "500",
157
+ "504",
158
+ "5XX",
159
+ ],
160
+ retryConfig: context.retryConfig,
161
+ retryCodes: context.retryCodes,
162
+ });
163
+ if (!doResult.ok) {
164
+ return [doResult, { status: "request-error", request: req }];
165
+ }
166
+ const response = doResult.value;
167
+
168
+ const responseFields = {
169
+ HttpMeta: { Response: response, Request: req },
170
+ };
171
+
172
+ const [result] = await M.match<
173
+ operations.CreateTicketResponse,
174
+ | errors.GenericError
175
+ | errors.CreateTicketError
176
+ | MoovError
177
+ | ResponseValidationError
178
+ | ConnectionError
179
+ | RequestAbortedError
180
+ | RequestTimeoutError
181
+ | InvalidRequestError
182
+ | UnexpectedClientError
183
+ | SDKValidationError
184
+ >(
185
+ M.json(200, operations.CreateTicketResponse$inboundSchema, {
186
+ hdrs: true,
187
+ key: "Result",
188
+ }),
189
+ M.jsonErr([400, 409], errors.GenericError$inboundSchema, { hdrs: true }),
190
+ M.jsonErr(422, errors.CreateTicketError$inboundSchema, { hdrs: true }),
191
+ M.fail([401, 403, 404, 429]),
192
+ M.fail([500, 504]),
193
+ M.fail("4XX"),
194
+ M.fail("5XX"),
195
+ )(response, req, { extraFields: responseFields });
196
+ if (!result.ok) {
197
+ return [result, { status: "complete", request: req, response }];
198
+ }
199
+
200
+ return [result, { status: "complete", request: req, response }];
201
+ }
@@ -0,0 +1,185 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { MoovCore } from "../core.js";
6
+ import { 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 {
14
+ ConnectionError,
15
+ InvalidRequestError,
16
+ RequestAbortedError,
17
+ RequestTimeoutError,
18
+ UnexpectedClientError,
19
+ } from "../models/errors/httpclienterrors.js";
20
+ import { MoovError } from "../models/errors/mooverror.js";
21
+ import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
22
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
23
+ import * as operations from "../models/operations/index.js";
24
+ import { APICall, APIPromise } from "../types/async.js";
25
+ import { Result } from "../types/fp.js";
26
+
27
+ /**
28
+ * Retrieve a support ticket by ID.
29
+ *
30
+ * To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
31
+ * you'll need to specify the `/accounts/{accountID}/support.read` scope.
32
+ */
33
+ export function supportGetTicket(
34
+ client: MoovCore,
35
+ request: operations.GetTicketRequest,
36
+ options?: RequestOptions,
37
+ ): APIPromise<
38
+ Result<
39
+ operations.GetTicketResponse,
40
+ | MoovError
41
+ | ResponseValidationError
42
+ | ConnectionError
43
+ | RequestAbortedError
44
+ | RequestTimeoutError
45
+ | InvalidRequestError
46
+ | UnexpectedClientError
47
+ | SDKValidationError
48
+ >
49
+ > {
50
+ return new APIPromise($do(
51
+ client,
52
+ request,
53
+ options,
54
+ ));
55
+ }
56
+
57
+ async function $do(
58
+ client: MoovCore,
59
+ request: operations.GetTicketRequest,
60
+ options?: RequestOptions,
61
+ ): Promise<
62
+ [
63
+ Result<
64
+ operations.GetTicketResponse,
65
+ | MoovError
66
+ | ResponseValidationError
67
+ | ConnectionError
68
+ | RequestAbortedError
69
+ | RequestTimeoutError
70
+ | InvalidRequestError
71
+ | UnexpectedClientError
72
+ | SDKValidationError
73
+ >,
74
+ APICall,
75
+ ]
76
+ > {
77
+ const parsed = safeParse(
78
+ request,
79
+ (value) => operations.GetTicketRequest$outboundSchema.parse(value),
80
+ "Input validation failed",
81
+ );
82
+ if (!parsed.ok) {
83
+ return [parsed, { status: "invalid" }];
84
+ }
85
+ const payload = parsed.value;
86
+ const body = null;
87
+
88
+ const pathParams = {
89
+ accountID: encodeSimple("accountID", payload.accountID, {
90
+ explode: false,
91
+ charEncoding: "percent",
92
+ }),
93
+ ticketID: encodeSimple("ticketID", payload.ticketID, {
94
+ explode: false,
95
+ charEncoding: "percent",
96
+ }),
97
+ };
98
+
99
+ const path = pathToFunc("/accounts/{accountID}/tickets/{ticketID}")(
100
+ pathParams,
101
+ );
102
+
103
+ const headers = new Headers(compactMap({
104
+ Accept: "application/json",
105
+ "x-moov-version": encodeSimple(
106
+ "x-moov-version",
107
+ client._options.xMoovVersion,
108
+ { explode: false, charEncoding: "none" },
109
+ ),
110
+ }));
111
+
112
+ const securityInput = await extractSecurity(client._options.security);
113
+ const requestSecurity = resolveGlobalSecurity(securityInput);
114
+
115
+ const context = {
116
+ options: client._options,
117
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
118
+ operationID: "getTicket",
119
+ oAuth2Scopes: [],
120
+
121
+ resolvedSecurity: requestSecurity,
122
+
123
+ securitySource: client._options.security,
124
+ retryConfig: options?.retries
125
+ || client._options.retryConfig
126
+ || { strategy: "none" },
127
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
128
+ };
129
+
130
+ const requestRes = client._createRequest(context, {
131
+ security: requestSecurity,
132
+ method: "GET",
133
+ baseURL: options?.serverURL,
134
+ path: path,
135
+ headers: headers,
136
+ body: body,
137
+ userAgent: client._options.userAgent,
138
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
139
+ }, options);
140
+ if (!requestRes.ok) {
141
+ return [requestRes, { status: "invalid" }];
142
+ }
143
+ const req = requestRes.value;
144
+
145
+ const doResult = await client._do(req, {
146
+ context,
147
+ errorCodes: ["401", "403", "404", "429", "4XX", "500", "504", "5XX"],
148
+ retryConfig: context.retryConfig,
149
+ retryCodes: context.retryCodes,
150
+ });
151
+ if (!doResult.ok) {
152
+ return [doResult, { status: "request-error", request: req }];
153
+ }
154
+ const response = doResult.value;
155
+
156
+ const responseFields = {
157
+ HttpMeta: { Response: response, Request: req },
158
+ };
159
+
160
+ const [result] = await M.match<
161
+ operations.GetTicketResponse,
162
+ | MoovError
163
+ | ResponseValidationError
164
+ | ConnectionError
165
+ | RequestAbortedError
166
+ | RequestTimeoutError
167
+ | InvalidRequestError
168
+ | UnexpectedClientError
169
+ | SDKValidationError
170
+ >(
171
+ M.json(200, operations.GetTicketResponse$inboundSchema, {
172
+ hdrs: true,
173
+ key: "Result",
174
+ }),
175
+ M.fail([401, 403, 404, 429]),
176
+ M.fail([500, 504]),
177
+ M.fail("4XX"),
178
+ M.fail("5XX"),
179
+ )(response, req, { extraFields: responseFields });
180
+ if (!result.ok) {
181
+ return [result, { status: "complete", request: req, response }];
182
+ }
183
+
184
+ return [result, { status: "complete", request: req, response }];
185
+ }
@@ -0,0 +1,191 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { MoovCore } from "../core.js";
6
+ import { encodeFormQuery, 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 {
14
+ ConnectionError,
15
+ InvalidRequestError,
16
+ RequestAbortedError,
17
+ RequestTimeoutError,
18
+ UnexpectedClientError,
19
+ } from "../models/errors/httpclienterrors.js";
20
+ import { MoovError } from "../models/errors/mooverror.js";
21
+ import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
22
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
23
+ import * as operations from "../models/operations/index.js";
24
+ import { APICall, APIPromise } from "../types/async.js";
25
+ import { Result } from "../types/fp.js";
26
+
27
+ /**
28
+ * List all the messages for a support ticket.
29
+ *
30
+ * To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
31
+ * you'll need to specify the `/accounts/{accountID}/support.read` scope.
32
+ */
33
+ export function supportListTicketMessages(
34
+ client: MoovCore,
35
+ request: operations.ListTicketMessagesRequest,
36
+ options?: RequestOptions,
37
+ ): APIPromise<
38
+ Result<
39
+ operations.ListTicketMessagesResponse,
40
+ | MoovError
41
+ | ResponseValidationError
42
+ | ConnectionError
43
+ | RequestAbortedError
44
+ | RequestTimeoutError
45
+ | InvalidRequestError
46
+ | UnexpectedClientError
47
+ | SDKValidationError
48
+ >
49
+ > {
50
+ return new APIPromise($do(
51
+ client,
52
+ request,
53
+ options,
54
+ ));
55
+ }
56
+
57
+ async function $do(
58
+ client: MoovCore,
59
+ request: operations.ListTicketMessagesRequest,
60
+ options?: RequestOptions,
61
+ ): Promise<
62
+ [
63
+ Result<
64
+ operations.ListTicketMessagesResponse,
65
+ | MoovError
66
+ | ResponseValidationError
67
+ | ConnectionError
68
+ | RequestAbortedError
69
+ | RequestTimeoutError
70
+ | InvalidRequestError
71
+ | UnexpectedClientError
72
+ | SDKValidationError
73
+ >,
74
+ APICall,
75
+ ]
76
+ > {
77
+ const parsed = safeParse(
78
+ request,
79
+ (value) => operations.ListTicketMessagesRequest$outboundSchema.parse(value),
80
+ "Input validation failed",
81
+ );
82
+ if (!parsed.ok) {
83
+ return [parsed, { status: "invalid" }];
84
+ }
85
+ const payload = parsed.value;
86
+ const body = null;
87
+
88
+ const pathParams = {
89
+ accountID: encodeSimple("accountID", payload.accountID, {
90
+ explode: false,
91
+ charEncoding: "percent",
92
+ }),
93
+ ticketID: encodeSimple("ticketID", payload.ticketID, {
94
+ explode: false,
95
+ charEncoding: "percent",
96
+ }),
97
+ };
98
+
99
+ const path = pathToFunc("/accounts/{accountID}/tickets/{ticketID}/messages")(
100
+ pathParams,
101
+ );
102
+
103
+ const query = encodeFormQuery({
104
+ "count": payload.count,
105
+ "skip": payload.skip,
106
+ }, { explode: false });
107
+
108
+ const headers = new Headers(compactMap({
109
+ Accept: "application/json",
110
+ "x-moov-version": encodeSimple(
111
+ "x-moov-version",
112
+ client._options.xMoovVersion,
113
+ { explode: false, charEncoding: "none" },
114
+ ),
115
+ }));
116
+
117
+ const securityInput = await extractSecurity(client._options.security);
118
+ const requestSecurity = resolveGlobalSecurity(securityInput);
119
+
120
+ const context = {
121
+ options: client._options,
122
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
123
+ operationID: "listTicketMessages",
124
+ oAuth2Scopes: [],
125
+
126
+ resolvedSecurity: requestSecurity,
127
+
128
+ securitySource: client._options.security,
129
+ retryConfig: options?.retries
130
+ || client._options.retryConfig
131
+ || { strategy: "none" },
132
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
133
+ };
134
+
135
+ const requestRes = client._createRequest(context, {
136
+ security: requestSecurity,
137
+ method: "GET",
138
+ baseURL: options?.serverURL,
139
+ path: path,
140
+ headers: headers,
141
+ query: query,
142
+ body: body,
143
+ userAgent: client._options.userAgent,
144
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
145
+ }, options);
146
+ if (!requestRes.ok) {
147
+ return [requestRes, { status: "invalid" }];
148
+ }
149
+ const req = requestRes.value;
150
+
151
+ const doResult = await client._do(req, {
152
+ context,
153
+ errorCodes: ["401", "403", "429", "4XX", "500", "504", "5XX"],
154
+ retryConfig: context.retryConfig,
155
+ retryCodes: context.retryCodes,
156
+ });
157
+ if (!doResult.ok) {
158
+ return [doResult, { status: "request-error", request: req }];
159
+ }
160
+ const response = doResult.value;
161
+
162
+ const responseFields = {
163
+ HttpMeta: { Response: response, Request: req },
164
+ };
165
+
166
+ const [result] = await M.match<
167
+ operations.ListTicketMessagesResponse,
168
+ | MoovError
169
+ | ResponseValidationError
170
+ | ConnectionError
171
+ | RequestAbortedError
172
+ | RequestTimeoutError
173
+ | InvalidRequestError
174
+ | UnexpectedClientError
175
+ | SDKValidationError
176
+ >(
177
+ M.json(200, operations.ListTicketMessagesResponse$inboundSchema, {
178
+ hdrs: true,
179
+ key: "Result",
180
+ }),
181
+ M.fail([401, 403, 429]),
182
+ M.fail([500, 504]),
183
+ M.fail("4XX"),
184
+ M.fail("5XX"),
185
+ )(response, req, { extraFields: responseFields });
186
+ if (!result.ok) {
187
+ return [result, { status: "complete", request: req, response }];
188
+ }
189
+
190
+ return [result, { status: "complete", request: req, response }];
191
+ }