servicem8 0.9.41 → 0.9.42

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 (171) hide show
  1. package/README.md +7 -1
  2. package/api.json +789 -295
  3. package/bin/mcp-server.js +590 -85
  4. package/bin/mcp-server.js.map +19 -10
  5. package/dist/commonjs/funcs/staffMessagesCreateStaffMessages.d.ts +24 -0
  6. package/dist/commonjs/funcs/staffMessagesCreateStaffMessages.d.ts.map +1 -0
  7. package/dist/commonjs/funcs/staffMessagesCreateStaffMessages.js +136 -0
  8. package/dist/commonjs/funcs/staffMessagesCreateStaffMessages.js.map +1 -0
  9. package/dist/commonjs/funcs/staffMessagesDeleteStaffMessages.d.ts +23 -0
  10. package/dist/commonjs/funcs/staffMessagesDeleteStaffMessages.d.ts.map +1 -0
  11. package/dist/commonjs/funcs/staffMessagesDeleteStaffMessages.js +137 -0
  12. package/dist/commonjs/funcs/staffMessagesDeleteStaffMessages.js.map +1 -0
  13. package/dist/commonjs/funcs/staffMessagesUpdateStaffMessages.d.ts +21 -0
  14. package/dist/commonjs/funcs/staffMessagesUpdateStaffMessages.d.ts.map +1 -0
  15. package/dist/commonjs/funcs/staffMessagesUpdateStaffMessages.js +136 -0
  16. package/dist/commonjs/funcs/staffMessagesUpdateStaffMessages.js.map +1 -0
  17. package/dist/commonjs/lib/config.d.ts +3 -3
  18. package/dist/commonjs/lib/config.js +3 -3
  19. package/dist/commonjs/lib/security.d.ts.map +1 -1
  20. package/dist/commonjs/lib/security.js.map +1 -1
  21. package/dist/commonjs/mcp-server/mcp-server.js +1 -1
  22. package/dist/commonjs/mcp-server/server.d.ts.map +1 -1
  23. package/dist/commonjs/mcp-server/server.js +7 -1
  24. package/dist/commonjs/mcp-server/server.js.map +1 -1
  25. package/dist/commonjs/mcp-server/tools/staffMessagesCreateStaffMessages.d.ts +8 -0
  26. package/dist/commonjs/mcp-server/tools/staffMessagesCreateStaffMessages.d.ts.map +1 -0
  27. package/dist/commonjs/mcp-server/tools/staffMessagesCreateStaffMessages.js +74 -0
  28. package/dist/commonjs/mcp-server/tools/staffMessagesCreateStaffMessages.js.map +1 -0
  29. package/dist/commonjs/mcp-server/tools/staffMessagesDeleteStaffMessages.d.ts +8 -0
  30. package/dist/commonjs/mcp-server/tools/staffMessagesDeleteStaffMessages.d.ts.map +1 -0
  31. package/dist/commonjs/mcp-server/tools/staffMessagesDeleteStaffMessages.js +73 -0
  32. package/dist/commonjs/mcp-server/tools/staffMessagesDeleteStaffMessages.js.map +1 -0
  33. package/dist/commonjs/mcp-server/tools/staffMessagesUpdateStaffMessages.d.ts +8 -0
  34. package/dist/commonjs/mcp-server/tools/staffMessagesUpdateStaffMessages.d.ts.map +1 -0
  35. package/dist/commonjs/mcp-server/tools/staffMessagesUpdateStaffMessages.js +69 -0
  36. package/dist/commonjs/mcp-server/tools/staffMessagesUpdateStaffMessages.js.map +1 -0
  37. package/dist/commonjs/models/components/staffmessage.d.ts +49 -0
  38. package/dist/commonjs/models/components/staffmessage.d.ts.map +1 -1
  39. package/dist/commonjs/models/components/staffmessage.js +66 -1
  40. package/dist/commonjs/models/components/staffmessage.js.map +1 -1
  41. package/dist/commonjs/models/components/vendor.d.ts +2 -2
  42. package/dist/commonjs/models/components/vendor.d.ts.map +1 -1
  43. package/dist/commonjs/models/operations/createstaffmessages.d.ts +36 -0
  44. package/dist/commonjs/models/operations/createstaffmessages.d.ts.map +1 -0
  45. package/dist/commonjs/models/operations/createstaffmessages.js +83 -0
  46. package/dist/commonjs/models/operations/createstaffmessages.js.map +1 -0
  47. package/dist/commonjs/models/operations/deletestaffmessages.d.ts +32 -0
  48. package/dist/commonjs/models/operations/deletestaffmessages.d.ts.map +1 -0
  49. package/dist/commonjs/models/operations/deletestaffmessages.js +69 -0
  50. package/dist/commonjs/models/operations/deletestaffmessages.js.map +1 -0
  51. package/dist/commonjs/models/operations/index.d.ts +3 -0
  52. package/dist/commonjs/models/operations/index.d.ts.map +1 -1
  53. package/dist/commonjs/models/operations/index.js +3 -0
  54. package/dist/commonjs/models/operations/index.js.map +1 -1
  55. package/dist/commonjs/models/operations/updatestaffmessages.d.ts +38 -0
  56. package/dist/commonjs/models/operations/updatestaffmessages.d.ts.map +1 -0
  57. package/dist/commonjs/models/operations/updatestaffmessages.js +81 -0
  58. package/dist/commonjs/models/operations/updatestaffmessages.js.map +1 -0
  59. package/dist/commonjs/sdk/staffmessages.d.ts +32 -0
  60. package/dist/commonjs/sdk/staffmessages.d.ts.map +1 -1
  61. package/dist/commonjs/sdk/staffmessages.js +41 -0
  62. package/dist/commonjs/sdk/staffmessages.js.map +1 -1
  63. package/dist/esm/funcs/staffMessagesCreateStaffMessages.d.ts +24 -0
  64. package/dist/esm/funcs/staffMessagesCreateStaffMessages.d.ts.map +1 -0
  65. package/dist/esm/funcs/staffMessagesCreateStaffMessages.js +100 -0
  66. package/dist/esm/funcs/staffMessagesCreateStaffMessages.js.map +1 -0
  67. package/dist/esm/funcs/staffMessagesDeleteStaffMessages.d.ts +23 -0
  68. package/dist/esm/funcs/staffMessagesDeleteStaffMessages.d.ts.map +1 -0
  69. package/dist/esm/funcs/staffMessagesDeleteStaffMessages.js +101 -0
  70. package/dist/esm/funcs/staffMessagesDeleteStaffMessages.js.map +1 -0
  71. package/dist/esm/funcs/staffMessagesUpdateStaffMessages.d.ts +21 -0
  72. package/dist/esm/funcs/staffMessagesUpdateStaffMessages.d.ts.map +1 -0
  73. package/dist/esm/funcs/staffMessagesUpdateStaffMessages.js +100 -0
  74. package/dist/esm/funcs/staffMessagesUpdateStaffMessages.js.map +1 -0
  75. package/dist/esm/lib/config.d.ts +3 -3
  76. package/dist/esm/lib/config.js +3 -3
  77. package/dist/esm/lib/security.d.ts.map +1 -1
  78. package/dist/esm/lib/security.js.map +1 -1
  79. package/dist/esm/mcp-server/mcp-server.js +1 -1
  80. package/dist/esm/mcp-server/server.d.ts.map +1 -1
  81. package/dist/esm/mcp-server/server.js +7 -1
  82. package/dist/esm/mcp-server/server.js.map +1 -1
  83. package/dist/esm/mcp-server/tools/staffMessagesCreateStaffMessages.d.ts +8 -0
  84. package/dist/esm/mcp-server/tools/staffMessagesCreateStaffMessages.d.ts.map +1 -0
  85. package/dist/esm/mcp-server/tools/staffMessagesCreateStaffMessages.js +38 -0
  86. package/dist/esm/mcp-server/tools/staffMessagesCreateStaffMessages.js.map +1 -0
  87. package/dist/esm/mcp-server/tools/staffMessagesDeleteStaffMessages.d.ts +8 -0
  88. package/dist/esm/mcp-server/tools/staffMessagesDeleteStaffMessages.d.ts.map +1 -0
  89. package/dist/esm/mcp-server/tools/staffMessagesDeleteStaffMessages.js +37 -0
  90. package/dist/esm/mcp-server/tools/staffMessagesDeleteStaffMessages.js.map +1 -0
  91. package/dist/esm/mcp-server/tools/staffMessagesUpdateStaffMessages.d.ts +8 -0
  92. package/dist/esm/mcp-server/tools/staffMessagesUpdateStaffMessages.d.ts.map +1 -0
  93. package/dist/esm/mcp-server/tools/staffMessagesUpdateStaffMessages.js +33 -0
  94. package/dist/esm/mcp-server/tools/staffMessagesUpdateStaffMessages.js.map +1 -0
  95. package/dist/esm/models/components/staffmessage.d.ts +49 -0
  96. package/dist/esm/models/components/staffmessage.d.ts.map +1 -1
  97. package/dist/esm/models/components/staffmessage.js +63 -0
  98. package/dist/esm/models/components/staffmessage.js.map +1 -1
  99. package/dist/esm/models/components/vendor.d.ts +2 -2
  100. package/dist/esm/models/components/vendor.d.ts.map +1 -1
  101. package/dist/esm/models/operations/createstaffmessages.d.ts +36 -0
  102. package/dist/esm/models/operations/createstaffmessages.d.ts.map +1 -0
  103. package/dist/esm/models/operations/createstaffmessages.js +45 -0
  104. package/dist/esm/models/operations/createstaffmessages.js.map +1 -0
  105. package/dist/esm/models/operations/deletestaffmessages.d.ts +32 -0
  106. package/dist/esm/models/operations/deletestaffmessages.d.ts.map +1 -0
  107. package/dist/esm/models/operations/deletestaffmessages.js +31 -0
  108. package/dist/esm/models/operations/deletestaffmessages.js.map +1 -0
  109. package/dist/esm/models/operations/index.d.ts +3 -0
  110. package/dist/esm/models/operations/index.d.ts.map +1 -1
  111. package/dist/esm/models/operations/index.js +3 -0
  112. package/dist/esm/models/operations/index.js.map +1 -1
  113. package/dist/esm/models/operations/updatestaffmessages.d.ts +38 -0
  114. package/dist/esm/models/operations/updatestaffmessages.d.ts.map +1 -0
  115. package/dist/esm/models/operations/updatestaffmessages.js +43 -0
  116. package/dist/esm/models/operations/updatestaffmessages.js.map +1 -0
  117. package/dist/esm/sdk/staffmessages.d.ts +32 -0
  118. package/dist/esm/sdk/staffmessages.d.ts.map +1 -1
  119. package/dist/esm/sdk/staffmessages.js +41 -0
  120. package/dist/esm/sdk/staffmessages.js.map +1 -1
  121. package/docs/sdks/allocationwindows/README.md +4 -4
  122. package/docs/sdks/assets/README.md +6 -6
  123. package/docs/sdks/assettypefields/README.md +8 -8
  124. package/docs/sdks/assettypes/README.md +4 -4
  125. package/docs/sdks/badges/README.md +12 -12
  126. package/docs/sdks/bundles/README.md +4 -4
  127. package/docs/sdks/categories/README.md +4 -4
  128. package/docs/sdks/clients/README.md +8 -8
  129. package/docs/sdks/companycontacts/README.md +8 -8
  130. package/docs/sdks/documenttemplates/README.md +4 -4
  131. package/docs/sdks/emailtemplates/README.md +4 -4
  132. package/docs/sdks/feedback/README.md +8 -8
  133. package/docs/sdks/formfields/README.md +8 -8
  134. package/docs/sdks/forms/README.md +8 -8
  135. package/docs/sdks/jobactivities/README.md +20 -20
  136. package/docs/sdks/joballocations/README.md +24 -24
  137. package/docs/sdks/jobchecklists/README.md +32 -32
  138. package/docs/sdks/jobcontacts/README.md +8 -8
  139. package/docs/sdks/jobmaterialbundles/README.md +12 -12
  140. package/docs/sdks/jobmaterials/README.md +20 -20
  141. package/docs/sdks/jobpayments/README.md +16 -16
  142. package/docs/sdks/jobqueues/README.md +4 -4
  143. package/docs/sdks/jobs/README.md +32 -32
  144. package/docs/sdks/knowledgearticles/README.md +4 -4
  145. package/docs/sdks/locations/README.md +4 -4
  146. package/docs/sdks/materials/README.md +8 -8
  147. package/docs/sdks/smstemplates/README.md +4 -4
  148. package/docs/sdks/staffmembers/README.md +12 -12
  149. package/docs/sdks/staffmessages/README.md +305 -0
  150. package/docs/sdks/tasks/README.md +20 -20
  151. package/docs/sdks/taxrates/README.md +4 -4
  152. package/examples/package-lock.json +1 -1
  153. package/jsr.json +1 -1
  154. package/package.json +1 -1
  155. package/src/funcs/staffMessagesCreateStaffMessages.ts +200 -0
  156. package/src/funcs/staffMessagesDeleteStaffMessages.ts +207 -0
  157. package/src/funcs/staffMessagesUpdateStaffMessages.ts +206 -0
  158. package/src/lib/config.ts +3 -3
  159. package/src/lib/security.ts +4 -1
  160. package/src/mcp-server/mcp-server.ts +1 -1
  161. package/src/mcp-server/server.ts +7 -1
  162. package/src/mcp-server/tools/staffMessagesCreateStaffMessages.ts +49 -0
  163. package/src/mcp-server/tools/staffMessagesDeleteStaffMessages.ts +48 -0
  164. package/src/mcp-server/tools/staffMessagesUpdateStaffMessages.ts +44 -0
  165. package/src/models/components/staffmessage.ts +120 -0
  166. package/src/models/components/vendor.ts +2 -2
  167. package/src/models/operations/createstaffmessages.ts +84 -0
  168. package/src/models/operations/deletestaffmessages.ts +69 -0
  169. package/src/models/operations/index.ts +3 -0
  170. package/src/models/operations/updatestaffmessages.ts +86 -0
  171. package/src/sdk/staffmessages.ts +65 -0
@@ -0,0 +1,207 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { ServiceM8Core } 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 * as components from "../models/components/index.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 { ServiceM8Error } from "../models/errors/servicem8error.js";
25
+ import * as operations from "../models/operations/index.js";
26
+ import { APICall, APIPromise } from "../types/async.js";
27
+ import { Result } from "../types/fp.js";
28
+
29
+ /**
30
+ * Delete a Staff Message
31
+ *
32
+ * @remarks
33
+ *
34
+ * In ServiceM8, deleting a record sets its `active` field to `0`. Inactive records are still accessible on the API, but are hidden in the UI. Inactive records can be restored by setting their `active` field to `1`.
35
+ *
36
+ * #### OAuth Scope
37
+ * This endpoint requires the following OAuth scope **publish_messages**.
38
+ */
39
+ export function staffMessagesDeleteStaffMessages(
40
+ client: ServiceM8Core,
41
+ request: operations.DeleteStaffMessagesRequest,
42
+ options?: RequestOptions,
43
+ ): APIPromise<
44
+ Result<
45
+ components.Result,
46
+ | errors.ErrorT
47
+ | errors.AuthenticationError
48
+ | errors.ForbiddenError
49
+ | errors.NotFoundError
50
+ | errors.RateLimitError
51
+ | ServiceM8Error
52
+ | ResponseValidationError
53
+ | ConnectionError
54
+ | RequestAbortedError
55
+ | RequestTimeoutError
56
+ | InvalidRequestError
57
+ | UnexpectedClientError
58
+ | SDKValidationError
59
+ >
60
+ > {
61
+ return new APIPromise($do(
62
+ client,
63
+ request,
64
+ options,
65
+ ));
66
+ }
67
+
68
+ async function $do(
69
+ client: ServiceM8Core,
70
+ request: operations.DeleteStaffMessagesRequest,
71
+ options?: RequestOptions,
72
+ ): Promise<
73
+ [
74
+ Result<
75
+ components.Result,
76
+ | errors.ErrorT
77
+ | errors.AuthenticationError
78
+ | errors.ForbiddenError
79
+ | errors.NotFoundError
80
+ | errors.RateLimitError
81
+ | ServiceM8Error
82
+ | ResponseValidationError
83
+ | ConnectionError
84
+ | RequestAbortedError
85
+ | RequestTimeoutError
86
+ | InvalidRequestError
87
+ | UnexpectedClientError
88
+ | SDKValidationError
89
+ >,
90
+ APICall,
91
+ ]
92
+ > {
93
+ const parsed = safeParse(
94
+ request,
95
+ (value) =>
96
+ operations.DeleteStaffMessagesRequest$outboundSchema.parse(value),
97
+ "Input validation failed",
98
+ );
99
+ if (!parsed.ok) {
100
+ return [parsed, { status: "invalid" }];
101
+ }
102
+ const payload = parsed.value;
103
+ const body = null;
104
+
105
+ const pathParams = {
106
+ uuid: encodeSimple("uuid", payload.uuid, {
107
+ explode: false,
108
+ charEncoding: "percent",
109
+ }),
110
+ };
111
+
112
+ const path = pathToFunc("/staffmessage/{uuid}.json")(pathParams);
113
+
114
+ const headers = new Headers(compactMap({
115
+ Accept: "application/json",
116
+ }));
117
+
118
+ const securityInput = await extractSecurity(client._options.security);
119
+ const requestSecurity = resolveGlobalSecurity(securityInput);
120
+
121
+ const context = {
122
+ options: client._options,
123
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
124
+ operationID: "deleteStaffMessages",
125
+ oAuth2Scopes: [],
126
+
127
+ resolvedSecurity: requestSecurity,
128
+
129
+ securitySource: client._options.security,
130
+ retryConfig: options?.retries
131
+ || client._options.retryConfig
132
+ || {
133
+ strategy: "backoff",
134
+ backoff: {
135
+ initialInterval: 500,
136
+ maxInterval: 60000,
137
+ exponent: 1.5,
138
+ maxElapsedTime: 3600000,
139
+ },
140
+ retryConnectionErrors: true,
141
+ }
142
+ || { strategy: "none" },
143
+ retryCodes: options?.retryCodes || ["5XX", "429"],
144
+ };
145
+
146
+ const requestRes = client._createRequest(context, {
147
+ security: requestSecurity,
148
+ method: "DELETE",
149
+ baseURL: options?.serverURL,
150
+ path: path,
151
+ headers: headers,
152
+ body: body,
153
+ userAgent: client._options.userAgent,
154
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
155
+ }, options);
156
+ if (!requestRes.ok) {
157
+ return [requestRes, { status: "invalid" }];
158
+ }
159
+ const req = requestRes.value;
160
+
161
+ const doResult = await client._do(req, {
162
+ context,
163
+ errorCodes: ["400", "401", "403", "404", "429", "4XX", "500", "5XX"],
164
+ retryConfig: context.retryConfig,
165
+ retryCodes: context.retryCodes,
166
+ });
167
+ if (!doResult.ok) {
168
+ return [doResult, { status: "request-error", request: req }];
169
+ }
170
+ const response = doResult.value;
171
+
172
+ const responseFields = {
173
+ HttpMeta: { Response: response, Request: req },
174
+ };
175
+
176
+ const [result] = await M.match<
177
+ components.Result,
178
+ | errors.ErrorT
179
+ | errors.AuthenticationError
180
+ | errors.ForbiddenError
181
+ | errors.NotFoundError
182
+ | errors.RateLimitError
183
+ | ServiceM8Error
184
+ | ResponseValidationError
185
+ | ConnectionError
186
+ | RequestAbortedError
187
+ | RequestTimeoutError
188
+ | InvalidRequestError
189
+ | UnexpectedClientError
190
+ | SDKValidationError
191
+ >(
192
+ M.json(200, components.Result$inboundSchema),
193
+ M.jsonErr(400, errors.ErrorT$inboundSchema),
194
+ M.jsonErr(401, errors.AuthenticationError$inboundSchema),
195
+ M.jsonErr(403, errors.ForbiddenError$inboundSchema),
196
+ M.jsonErr(404, errors.NotFoundError$inboundSchema),
197
+ M.jsonErr(429, errors.RateLimitError$inboundSchema),
198
+ M.jsonErr(500, errors.ErrorT$inboundSchema),
199
+ M.fail("4XX"),
200
+ M.fail("5XX"),
201
+ )(response, req, { extraFields: responseFields });
202
+ if (!result.ok) {
203
+ return [result, { status: "complete", request: req, response }];
204
+ }
205
+
206
+ return [result, { status: "complete", request: req, response }];
207
+ }
@@ -0,0 +1,206 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { ServiceM8Core } 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 * as components from "../models/components/index.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 { ServiceM8Error } from "../models/errors/servicem8error.js";
25
+ import * as operations from "../models/operations/index.js";
26
+ import { APICall, APIPromise } from "../types/async.js";
27
+ import { Result } from "../types/fp.js";
28
+
29
+ /**
30
+ * Update a Staff Message
31
+ *
32
+ * @remarks
33
+ *
34
+ * #### OAuth Scope
35
+ * This endpoint requires the following OAuth scope **publish_messages**.
36
+ */
37
+ export function staffMessagesUpdateStaffMessages(
38
+ client: ServiceM8Core,
39
+ request: operations.UpdateStaffMessagesRequest,
40
+ options?: RequestOptions,
41
+ ): APIPromise<
42
+ Result<
43
+ components.Result,
44
+ | errors.ErrorT
45
+ | errors.AuthenticationError
46
+ | errors.ForbiddenError
47
+ | errors.NotFoundError
48
+ | errors.RateLimitError
49
+ | ServiceM8Error
50
+ | ResponseValidationError
51
+ | ConnectionError
52
+ | RequestAbortedError
53
+ | RequestTimeoutError
54
+ | InvalidRequestError
55
+ | UnexpectedClientError
56
+ | SDKValidationError
57
+ >
58
+ > {
59
+ return new APIPromise($do(
60
+ client,
61
+ request,
62
+ options,
63
+ ));
64
+ }
65
+
66
+ async function $do(
67
+ client: ServiceM8Core,
68
+ request: operations.UpdateStaffMessagesRequest,
69
+ options?: RequestOptions,
70
+ ): Promise<
71
+ [
72
+ Result<
73
+ components.Result,
74
+ | errors.ErrorT
75
+ | errors.AuthenticationError
76
+ | errors.ForbiddenError
77
+ | errors.NotFoundError
78
+ | errors.RateLimitError
79
+ | ServiceM8Error
80
+ | ResponseValidationError
81
+ | ConnectionError
82
+ | RequestAbortedError
83
+ | RequestTimeoutError
84
+ | InvalidRequestError
85
+ | UnexpectedClientError
86
+ | SDKValidationError
87
+ >,
88
+ APICall,
89
+ ]
90
+ > {
91
+ const parsed = safeParse(
92
+ request,
93
+ (value) =>
94
+ operations.UpdateStaffMessagesRequest$outboundSchema.parse(value),
95
+ "Input validation failed",
96
+ );
97
+ if (!parsed.ok) {
98
+ return [parsed, { status: "invalid" }];
99
+ }
100
+ const payload = parsed.value;
101
+ const body = encodeJSON("body", payload.StaffMessage, { explode: true });
102
+
103
+ const pathParams = {
104
+ uuid: encodeSimple("uuid", payload.uuid, {
105
+ explode: false,
106
+ charEncoding: "percent",
107
+ }),
108
+ };
109
+
110
+ const path = pathToFunc("/staffmessage/{uuid}.json")(pathParams);
111
+
112
+ const headers = new Headers(compactMap({
113
+ "Content-Type": "application/json",
114
+ Accept: "application/json",
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: "updateStaffMessages",
124
+ oAuth2Scopes: [],
125
+
126
+ resolvedSecurity: requestSecurity,
127
+
128
+ securitySource: client._options.security,
129
+ retryConfig: options?.retries
130
+ || client._options.retryConfig
131
+ || {
132
+ strategy: "backoff",
133
+ backoff: {
134
+ initialInterval: 500,
135
+ maxInterval: 60000,
136
+ exponent: 1.5,
137
+ maxElapsedTime: 3600000,
138
+ },
139
+ retryConnectionErrors: true,
140
+ }
141
+ || { strategy: "none" },
142
+ retryCodes: options?.retryCodes || ["5XX", "429"],
143
+ };
144
+
145
+ const requestRes = client._createRequest(context, {
146
+ security: requestSecurity,
147
+ method: "POST",
148
+ baseURL: options?.serverURL,
149
+ path: path,
150
+ headers: headers,
151
+ body: body,
152
+ userAgent: client._options.userAgent,
153
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
154
+ }, options);
155
+ if (!requestRes.ok) {
156
+ return [requestRes, { status: "invalid" }];
157
+ }
158
+ const req = requestRes.value;
159
+
160
+ const doResult = await client._do(req, {
161
+ context,
162
+ errorCodes: ["400", "401", "403", "404", "429", "4XX", "500", "5XX"],
163
+ retryConfig: context.retryConfig,
164
+ retryCodes: context.retryCodes,
165
+ });
166
+ if (!doResult.ok) {
167
+ return [doResult, { status: "request-error", request: req }];
168
+ }
169
+ const response = doResult.value;
170
+
171
+ const responseFields = {
172
+ HttpMeta: { Response: response, Request: req },
173
+ };
174
+
175
+ const [result] = await M.match<
176
+ components.Result,
177
+ | errors.ErrorT
178
+ | errors.AuthenticationError
179
+ | errors.ForbiddenError
180
+ | errors.NotFoundError
181
+ | errors.RateLimitError
182
+ | ServiceM8Error
183
+ | ResponseValidationError
184
+ | ConnectionError
185
+ | RequestAbortedError
186
+ | RequestTimeoutError
187
+ | InvalidRequestError
188
+ | UnexpectedClientError
189
+ | SDKValidationError
190
+ >(
191
+ M.json(200, components.Result$inboundSchema),
192
+ M.jsonErr(400, errors.ErrorT$inboundSchema),
193
+ M.jsonErr(401, errors.AuthenticationError$inboundSchema),
194
+ M.jsonErr(403, errors.ForbiddenError$inboundSchema),
195
+ M.jsonErr(404, errors.NotFoundError$inboundSchema),
196
+ M.jsonErr(429, errors.RateLimitError$inboundSchema),
197
+ M.jsonErr(500, errors.ErrorT$inboundSchema),
198
+ M.fail("4XX"),
199
+ M.fail("5XX"),
200
+ )(response, req, { extraFields: responseFields });
201
+ if (!result.ok) {
202
+ return [result, { status: "complete", request: req, response }];
203
+ }
204
+
205
+ return [result, { status: "complete", request: req, response }];
206
+ }
package/src/lib/config.ts CHANGED
@@ -65,7 +65,7 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
65
65
  export const SDK_METADATA = {
66
66
  language: "typescript",
67
67
  openapiDocVersion: "1.0.0",
68
- sdkVersion: "0.9.41",
69
- genVersion: "2.683.1",
70
- userAgent: "speakeasy-sdk/typescript 0.9.41 2.683.1 1.0.0 servicem8",
68
+ sdkVersion: "0.9.42",
69
+ genVersion: "2.684.0",
70
+ userAgent: "speakeasy-sdk/typescript 0.9.42 2.684.0 1.0.0 servicem8",
71
71
  } as const;
@@ -84,7 +84,10 @@ type SecurityInputOAuth2 = {
84
84
  type SecurityInputOAuth2ClientCredentials = {
85
85
  type: "oauth2:client_credentials";
86
86
  value:
87
- | { clientID?: string | undefined; clientSecret?: string | undefined }
87
+ | {
88
+ clientID?: string | undefined;
89
+ clientSecret?: string | undefined;
90
+ }
88
91
  | null
89
92
  | string
90
93
  | undefined;
@@ -19,7 +19,7 @@ const routes = buildRouteMap({
19
19
  export const app = buildApplication(routes, {
20
20
  name: "mcp",
21
21
  versionInfo: {
22
- currentVersion: "0.9.41",
22
+ currentVersion: "0.9.42",
23
23
  },
24
24
  });
25
25
 
@@ -170,8 +170,11 @@ import { tool$staffMembersDeleteStaffMembers } from "./tools/staffMembersDeleteS
170
170
  import { tool$staffMembersGetStaffMembers } from "./tools/staffMembersGetStaffMembers.js";
171
171
  import { tool$staffMembersListStaffMembers } from "./tools/staffMembersListStaffMembers.js";
172
172
  import { tool$staffMembersUpdateStaffMembers } from "./tools/staffMembersUpdateStaffMembers.js";
173
+ import { tool$staffMessagesCreateStaffMessages } from "./tools/staffMessagesCreateStaffMessages.js";
174
+ import { tool$staffMessagesDeleteStaffMessages } from "./tools/staffMessagesDeleteStaffMessages.js";
173
175
  import { tool$staffMessagesGetStaffMessages } from "./tools/staffMessagesGetStaffMessages.js";
174
176
  import { tool$staffMessagesListStaffMessages } from "./tools/staffMessagesListStaffMessages.js";
177
+ import { tool$staffMessagesUpdateStaffMessages } from "./tools/staffMessagesUpdateStaffMessages.js";
175
178
  import { tool$tasksCreateTasks } from "./tools/tasksCreateTasks.js";
176
179
  import { tool$tasksDeleteTasks } from "./tools/tasksDeleteTasks.js";
177
180
  import { tool$tasksGetTasks } from "./tools/tasksGetTasks.js";
@@ -195,7 +198,7 @@ export function createMCPServer(deps: {
195
198
  }) {
196
199
  const server = new McpServer({
197
200
  name: "ServiceM8",
198
- version: "0.9.41",
201
+ version: "0.9.42",
199
202
  });
200
203
 
201
204
  const client = new ServiceM8Core({
@@ -372,7 +375,10 @@ export function createMCPServer(deps: {
372
375
  tool(tool$staffMembersUpdateStaffMembers);
373
376
  tool(tool$staffMembersDeleteStaffMembers);
374
377
  tool(tool$staffMessagesListStaffMessages);
378
+ tool(tool$staffMessagesCreateStaffMessages);
375
379
  tool(tool$staffMessagesGetStaffMessages);
380
+ tool(tool$staffMessagesUpdateStaffMessages);
381
+ tool(tool$staffMessagesDeleteStaffMessages);
376
382
  tool(tool$tasksListTasks);
377
383
  tool(tool$tasksCreateTasks);
378
384
  tool(tool$tasksGetTasks);
@@ -0,0 +1,49 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { staffMessagesCreateStaffMessages } from "../../funcs/staffMessagesCreateStaffMessages.js";
6
+ import * as components from "../../models/components/index.js";
7
+ import { formatResult, ToolDefinition } from "../tools.js";
8
+
9
+ const args = {
10
+ request: components.StaffMessageInput$inboundSchema,
11
+ };
12
+
13
+ export const tool$staffMessagesCreateStaffMessages: ToolDefinition<
14
+ typeof args
15
+ > = {
16
+ name: "staff-messages-create-staff-messages",
17
+ description: `Create a new Staff Message
18
+
19
+
20
+
21
+ #### OAuth Scope
22
+ This endpoint requires the following OAuth scope **publish_messages**.
23
+
24
+
25
+
26
+ #### Record UUID
27
+ UUID is optional for record creation. If no UUID is supplied, a UUID will be automatically generated for the new record and returned in the \`x-record-uuid\` response header.
28
+
29
+ `,
30
+ args,
31
+ tool: async (client, args, ctx) => {
32
+ const [result, apiCall] = await staffMessagesCreateStaffMessages(
33
+ client,
34
+ args.request,
35
+ { fetchOptions: { signal: ctx.signal } },
36
+ ).$inspect();
37
+
38
+ if (!result.ok) {
39
+ return {
40
+ content: [{ type: "text", text: result.error.message }],
41
+ isError: true,
42
+ };
43
+ }
44
+
45
+ const value = result.value.result;
46
+
47
+ return formatResult(value, apiCall);
48
+ },
49
+ };
@@ -0,0 +1,48 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { staffMessagesDeleteStaffMessages } from "../../funcs/staffMessagesDeleteStaffMessages.js";
6
+ import * as operations from "../../models/operations/index.js";
7
+ import { formatResult, ToolDefinition } from "../tools.js";
8
+
9
+ const args = {
10
+ request: operations.DeleteStaffMessagesRequest$inboundSchema,
11
+ };
12
+
13
+ export const tool$staffMessagesDeleteStaffMessages: ToolDefinition<
14
+ typeof args
15
+ > = {
16
+ name: "staff-messages-delete-staff-messages",
17
+ description: `Delete a Staff Message
18
+
19
+
20
+
21
+ In ServiceM8, deleting a record sets its \`active\` field to \`0\`. Inactive records are still accessible on the API, but are hidden in the UI. Inactive records can be restored by setting their \`active\` field to \`1\`.
22
+
23
+
24
+
25
+ #### OAuth Scope
26
+ This endpoint requires the following OAuth scope **publish_messages**.
27
+
28
+ `,
29
+ args,
30
+ tool: async (client, args, ctx) => {
31
+ const [result, apiCall] = await staffMessagesDeleteStaffMessages(
32
+ client,
33
+ args.request,
34
+ { fetchOptions: { signal: ctx.signal } },
35
+ ).$inspect();
36
+
37
+ if (!result.ok) {
38
+ return {
39
+ content: [{ type: "text", text: result.error.message }],
40
+ isError: true,
41
+ };
42
+ }
43
+
44
+ const value = result.value;
45
+
46
+ return formatResult(value, apiCall);
47
+ },
48
+ };
@@ -0,0 +1,44 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { staffMessagesUpdateStaffMessages } from "../../funcs/staffMessagesUpdateStaffMessages.js";
6
+ import * as operations from "../../models/operations/index.js";
7
+ import { formatResult, ToolDefinition } from "../tools.js";
8
+
9
+ const args = {
10
+ request: operations.UpdateStaffMessagesRequest$inboundSchema,
11
+ };
12
+
13
+ export const tool$staffMessagesUpdateStaffMessages: ToolDefinition<
14
+ typeof args
15
+ > = {
16
+ name: "staff-messages-update-staff-messages",
17
+ description: `Update a Staff Message
18
+
19
+
20
+
21
+ #### OAuth Scope
22
+ This endpoint requires the following OAuth scope **publish_messages**.
23
+
24
+ `,
25
+ args,
26
+ tool: async (client, args, ctx) => {
27
+ const [result, apiCall] = await staffMessagesUpdateStaffMessages(
28
+ client,
29
+ args.request,
30
+ { fetchOptions: { signal: ctx.signal } },
31
+ ).$inspect();
32
+
33
+ if (!result.ok) {
34
+ return {
35
+ content: [{ type: "text", text: result.error.message }],
36
+ isError: true,
37
+ };
38
+ }
39
+
40
+ const value = result.value;
41
+
42
+ return formatResult(value, apiCall);
43
+ },
44
+ };