syllable-sdk 1.0.5 → 1.0.6

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 (162) hide show
  1. package/README.md +17 -0
  2. package/bin/mcp-server.js +1965 -849
  3. package/bin/mcp-server.js.map +35 -11
  4. package/docs/sdks/batches/README.md +4 -4
  5. package/docs/sdks/directory/README.md +590 -0
  6. package/docs/sdks/workflows/README.md +8 -8
  7. package/examples/package-lock.json +1 -1
  8. package/funcs/directoryCreate.d.ts +18 -0
  9. package/funcs/directoryCreate.d.ts.map +1 -0
  10. package/funcs/directoryCreate.js +118 -0
  11. package/funcs/directoryCreate.js.map +1 -0
  12. package/funcs/directoryDelete.d.ts +18 -0
  13. package/funcs/directoryDelete.d.ts.map +1 -0
  14. package/funcs/directoryDelete.js +124 -0
  15. package/funcs/directoryDelete.js.map +1 -0
  16. package/funcs/directoryDirectoryMemberBulkLoad.d.ts +18 -0
  17. package/funcs/directoryDirectoryMemberBulkLoad.d.ts.map +1 -0
  18. package/funcs/directoryDirectoryMemberBulkLoad.js +136 -0
  19. package/funcs/directoryDirectoryMemberBulkLoad.js.map +1 -0
  20. package/funcs/directoryDirectoryMemberDownload.d.ts +16 -0
  21. package/funcs/directoryDirectoryMemberDownload.d.ts.map +1 -0
  22. package/funcs/directoryDirectoryMemberDownload.js +104 -0
  23. package/funcs/directoryDirectoryMemberDownload.js.map +1 -0
  24. package/funcs/directoryGetById.d.ts +19 -0
  25. package/funcs/directoryGetById.d.ts.map +1 -0
  26. package/funcs/directoryGetById.js +124 -0
  27. package/funcs/directoryGetById.js.map +1 -0
  28. package/funcs/directoryList.d.ts +19 -0
  29. package/funcs/directoryList.d.ts.map +1 -0
  30. package/funcs/directoryList.js +130 -0
  31. package/funcs/directoryList.js.map +1 -0
  32. package/funcs/directoryUpdate.d.ts +19 -0
  33. package/funcs/directoryUpdate.d.ts.map +1 -0
  34. package/funcs/directoryUpdate.js +125 -0
  35. package/funcs/directoryUpdate.js.map +1 -0
  36. package/jsr.json +1 -1
  37. package/lib/config.d.ts +3 -3
  38. package/lib/config.js +3 -3
  39. package/mcp-server/mcp-server.js +1 -1
  40. package/mcp-server/server.d.ts.map +1 -1
  41. package/mcp-server/server.js +15 -1
  42. package/mcp-server/server.js.map +1 -1
  43. package/mcp-server/tools/directoryCreate.d.ts +8 -0
  44. package/mcp-server/tools/directoryCreate.d.ts.map +1 -0
  45. package/mcp-server/tools/directoryCreate.js +64 -0
  46. package/mcp-server/tools/directoryCreate.js.map +1 -0
  47. package/mcp-server/tools/directoryDelete.d.ts +8 -0
  48. package/mcp-server/tools/directoryDelete.d.ts.map +1 -0
  49. package/mcp-server/tools/directoryDelete.js +64 -0
  50. package/mcp-server/tools/directoryDelete.js.map +1 -0
  51. package/mcp-server/tools/directoryDirectoryMemberBulkLoad.d.ts +8 -0
  52. package/mcp-server/tools/directoryDirectoryMemberBulkLoad.d.ts.map +1 -0
  53. package/mcp-server/tools/directoryDirectoryMemberBulkLoad.js +64 -0
  54. package/mcp-server/tools/directoryDirectoryMemberBulkLoad.js.map +1 -0
  55. package/mcp-server/tools/directoryDirectoryMemberDownload.d.ts +3 -0
  56. package/mcp-server/tools/directoryDirectoryMemberDownload.d.ts.map +1 -0
  57. package/mcp-server/tools/directoryDirectoryMemberDownload.js +26 -0
  58. package/mcp-server/tools/directoryDirectoryMemberDownload.js.map +1 -0
  59. package/mcp-server/tools/directoryGetById.d.ts +8 -0
  60. package/mcp-server/tools/directoryGetById.d.ts.map +1 -0
  61. package/mcp-server/tools/directoryGetById.js +64 -0
  62. package/mcp-server/tools/directoryGetById.js.map +1 -0
  63. package/mcp-server/tools/directoryList.d.ts +8 -0
  64. package/mcp-server/tools/directoryList.d.ts.map +1 -0
  65. package/mcp-server/tools/directoryList.js +64 -0
  66. package/mcp-server/tools/directoryList.js.map +1 -0
  67. package/mcp-server/tools/directoryUpdate.d.ts +8 -0
  68. package/mcp-server/tools/directoryUpdate.d.ts.map +1 -0
  69. package/mcp-server/tools/directoryUpdate.js +64 -0
  70. package/mcp-server/tools/directoryUpdate.js.map +1 -0
  71. package/models/components/bodydirectorymemberbulkload.d.ts +56 -0
  72. package/models/components/bodydirectorymemberbulkload.d.ts.map +1 -0
  73. package/models/components/bodydirectorymemberbulkload.js +109 -0
  74. package/models/components/bodydirectorymemberbulkload.js.map +1 -0
  75. package/models/components/directoryextension.d.ts +52 -0
  76. package/models/components/directoryextension.d.ts.map +1 -0
  77. package/models/components/directoryextension.js +94 -0
  78. package/models/components/directoryextension.js.map +1 -0
  79. package/models/components/directorymember.d.ts +78 -0
  80. package/models/components/directorymember.d.ts.map +1 -0
  81. package/models/components/directorymember.js +118 -0
  82. package/models/components/directorymember.js.map +1 -0
  83. package/models/components/directorymembercreate.d.ts +73 -0
  84. package/models/components/directorymembercreate.d.ts.map +1 -0
  85. package/models/components/directorymembercreate.js +116 -0
  86. package/models/components/directorymembercreate.js.map +1 -0
  87. package/models/components/directorymemberproperties.d.ts +40 -0
  88. package/models/components/directorymemberproperties.d.ts.map +1 -0
  89. package/models/components/directorymemberproperties.js +64 -0
  90. package/models/components/directorymemberproperties.js.map +1 -0
  91. package/models/components/index.d.ts +6 -0
  92. package/models/components/index.d.ts.map +1 -1
  93. package/models/components/index.js +6 -0
  94. package/models/components/index.js.map +1 -1
  95. package/models/components/listresponsedirectorymember.d.ts +53 -0
  96. package/models/components/listresponsedirectorymember.d.ts.map +1 -0
  97. package/models/components/listresponsedirectorymember.js +91 -0
  98. package/models/components/listresponsedirectorymember.js.map +1 -0
  99. package/models/components/toolparametertransformcondition.js +1 -1
  100. package/models/components/toolparametertransformcondition.js.map +1 -1
  101. package/models/operations/directorymemberdelete.d.ts +29 -0
  102. package/models/operations/directorymemberdelete.d.ts.map +1 -0
  103. package/models/operations/directorymemberdelete.js +78 -0
  104. package/models/operations/directorymemberdelete.js.map +1 -0
  105. package/models/operations/directorymembergetbyid.d.ts +29 -0
  106. package/models/operations/directorymembergetbyid.d.ts.map +1 -0
  107. package/models/operations/directorymembergetbyid.js +78 -0
  108. package/models/operations/directorymembergetbyid.js.map +1 -0
  109. package/models/operations/directorymemberlist.d.ts +73 -0
  110. package/models/operations/directorymemberlist.d.ts.map +1 -0
  111. package/models/operations/directorymemberlist.js +111 -0
  112. package/models/operations/directorymemberlist.js.map +1 -0
  113. package/models/operations/directorymemberupdate.d.ts +32 -0
  114. package/models/operations/directorymemberupdate.d.ts.map +1 -0
  115. package/models/operations/directorymemberupdate.js +83 -0
  116. package/models/operations/directorymemberupdate.js.map +1 -0
  117. package/models/operations/index.d.ts +4 -0
  118. package/models/operations/index.d.ts.map +1 -1
  119. package/models/operations/index.js +4 -0
  120. package/models/operations/index.js.map +1 -1
  121. package/openapi.json +40 -47
  122. package/package.json +1 -1
  123. package/sdk/directory.d.ts +55 -0
  124. package/sdk/directory.d.ts.map +1 -0
  125. package/sdk/directory.js +82 -0
  126. package/sdk/directory.js.map +1 -0
  127. package/sdk/sdk.d.ts +3 -0
  128. package/sdk/sdk.d.ts.map +1 -1
  129. package/sdk/sdk.js +4 -0
  130. package/sdk/sdk.js.map +1 -1
  131. package/src/funcs/directoryCreate.ts +169 -0
  132. package/src/funcs/directoryDelete.ts +177 -0
  133. package/src/funcs/directoryDirectoryMemberBulkLoad.ts +195 -0
  134. package/src/funcs/directoryDirectoryMemberDownload.ts +142 -0
  135. package/src/funcs/directoryGetById.ts +177 -0
  136. package/src/funcs/directoryList.ts +183 -0
  137. package/src/funcs/directoryUpdate.ts +178 -0
  138. package/src/lib/config.ts +3 -3
  139. package/src/mcp-server/mcp-server.ts +1 -1
  140. package/src/mcp-server/server.ts +15 -1
  141. package/src/mcp-server/tools/directoryCreate.ts +37 -0
  142. package/src/mcp-server/tools/directoryDelete.ts +37 -0
  143. package/src/mcp-server/tools/directoryDirectoryMemberBulkLoad.ts +39 -0
  144. package/src/mcp-server/tools/directoryDirectoryMemberDownload.ts +30 -0
  145. package/src/mcp-server/tools/directoryGetById.ts +37 -0
  146. package/src/mcp-server/tools/directoryList.ts +37 -0
  147. package/src/mcp-server/tools/directoryUpdate.ts +37 -0
  148. package/src/models/components/bodydirectorymemberbulkload.ts +145 -0
  149. package/src/models/components/directoryextension.ts +113 -0
  150. package/src/models/components/directorymember.ts +170 -0
  151. package/src/models/components/directorymembercreate.ts +175 -0
  152. package/src/models/components/directorymemberproperties.ts +39 -0
  153. package/src/models/components/index.ts +6 -0
  154. package/src/models/components/listresponsedirectorymember.ts +118 -0
  155. package/src/models/components/toolparametertransformcondition.ts +1 -1
  156. package/src/models/operations/directorymemberdelete.ts +77 -0
  157. package/src/models/operations/directorymembergetbyid.ts +77 -0
  158. package/src/models/operations/directorymemberlist.ts +155 -0
  159. package/src/models/operations/directorymemberupdate.ts +84 -0
  160. package/src/models/operations/index.ts +4 -0
  161. package/src/sdk/directory.ts +134 -0
  162. package/src/sdk/sdk.ts +6 -0
@@ -0,0 +1,177 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { SyllableSDKCore } 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 { SyllableSDKError } from "../models/errors/syllablesdkerror.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
+ * Get Directory Member By Id
31
+ *
32
+ * @remarks
33
+ * Get a DirectoryMember by ID.
34
+ */
35
+ export function directoryGetById(
36
+ client: SyllableSDKCore,
37
+ request: operations.DirectoryMemberGetByIdRequest,
38
+ options?: RequestOptions,
39
+ ): APIPromise<
40
+ Result<
41
+ components.DirectoryMember,
42
+ | errors.HTTPValidationError
43
+ | SyllableSDKError
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: SyllableSDKCore,
62
+ request: operations.DirectoryMemberGetByIdRequest,
63
+ options?: RequestOptions,
64
+ ): Promise<
65
+ [
66
+ Result<
67
+ components.DirectoryMember,
68
+ | errors.HTTPValidationError
69
+ | SyllableSDKError
70
+ | ResponseValidationError
71
+ | ConnectionError
72
+ | RequestAbortedError
73
+ | RequestTimeoutError
74
+ | InvalidRequestError
75
+ | UnexpectedClientError
76
+ | SDKValidationError
77
+ >,
78
+ APICall,
79
+ ]
80
+ > {
81
+ const parsed = safeParse(
82
+ request,
83
+ (value) =>
84
+ operations.DirectoryMemberGetByIdRequest$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 = null;
92
+
93
+ const pathParams = {
94
+ member_id: encodeSimple("member_id", payload.member_id, {
95
+ explode: false,
96
+ charEncoding: "percent",
97
+ }),
98
+ };
99
+
100
+ const path = pathToFunc("/api/v1/directory_members/{member_id}")(pathParams);
101
+
102
+ const headers = new Headers(compactMap({
103
+ Accept: "application/json",
104
+ }));
105
+
106
+ const secConfig = await extractSecurity(client._options.apiKeyHeader);
107
+ const securityInput = secConfig == null ? {} : { apiKeyHeader: secConfig };
108
+ const requestSecurity = resolveGlobalSecurity(securityInput);
109
+
110
+ const context = {
111
+ options: client._options,
112
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
113
+ operationID: "directory_member_get_by_id",
114
+ oAuth2Scopes: null,
115
+
116
+ resolvedSecurity: requestSecurity,
117
+
118
+ securitySource: client._options.apiKeyHeader,
119
+ retryConfig: options?.retries
120
+ || client._options.retryConfig
121
+ || { strategy: "none" },
122
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
123
+ };
124
+
125
+ const requestRes = client._createRequest(context, {
126
+ security: requestSecurity,
127
+ method: "GET",
128
+ baseURL: options?.serverURL,
129
+ path: path,
130
+ headers: headers,
131
+ body: body,
132
+ userAgent: client._options.userAgent,
133
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
134
+ }, options);
135
+ if (!requestRes.ok) {
136
+ return [requestRes, { status: "invalid" }];
137
+ }
138
+ const req = requestRes.value;
139
+
140
+ const doResult = await client._do(req, {
141
+ context,
142
+ errorCodes: ["422", "4XX", "5XX"],
143
+ retryConfig: context.retryConfig,
144
+ retryCodes: context.retryCodes,
145
+ });
146
+ if (!doResult.ok) {
147
+ return [doResult, { status: "request-error", request: req }];
148
+ }
149
+ const response = doResult.value;
150
+
151
+ const responseFields = {
152
+ HttpMeta: { Response: response, Request: req },
153
+ };
154
+
155
+ const [result] = await M.match<
156
+ components.DirectoryMember,
157
+ | errors.HTTPValidationError
158
+ | SyllableSDKError
159
+ | ResponseValidationError
160
+ | ConnectionError
161
+ | RequestAbortedError
162
+ | RequestTimeoutError
163
+ | InvalidRequestError
164
+ | UnexpectedClientError
165
+ | SDKValidationError
166
+ >(
167
+ M.json(200, components.DirectoryMember$inboundSchema),
168
+ M.jsonErr(422, errors.HTTPValidationError$inboundSchema),
169
+ M.fail("4XX"),
170
+ M.fail("5XX"),
171
+ )(response, req, { extraFields: responseFields });
172
+ if (!result.ok) {
173
+ return [result, { status: "complete", request: req, response }];
174
+ }
175
+
176
+ return [result, { status: "complete", request: req, response }];
177
+ }
@@ -0,0 +1,183 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { SyllableSDKCore } from "../core.js";
6
+ import { encodeFormQuery } 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 { SyllableSDKError } from "../models/errors/syllablesdkerror.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
+ * Directory Member List
31
+ *
32
+ * @remarks
33
+ * List the existing directory_members
34
+ */
35
+ export function directoryList(
36
+ client: SyllableSDKCore,
37
+ request: operations.DirectoryMemberListRequest,
38
+ options?: RequestOptions,
39
+ ): APIPromise<
40
+ Result<
41
+ components.ListResponseDirectoryMember,
42
+ | errors.HTTPValidationError
43
+ | SyllableSDKError
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: SyllableSDKCore,
62
+ request: operations.DirectoryMemberListRequest,
63
+ options?: RequestOptions,
64
+ ): Promise<
65
+ [
66
+ Result<
67
+ components.ListResponseDirectoryMember,
68
+ | errors.HTTPValidationError
69
+ | SyllableSDKError
70
+ | ResponseValidationError
71
+ | ConnectionError
72
+ | RequestAbortedError
73
+ | RequestTimeoutError
74
+ | InvalidRequestError
75
+ | UnexpectedClientError
76
+ | SDKValidationError
77
+ >,
78
+ APICall,
79
+ ]
80
+ > {
81
+ const parsed = safeParse(
82
+ request,
83
+ (value) =>
84
+ operations.DirectoryMemberListRequest$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 = null;
92
+
93
+ const path = pathToFunc("/api/v1/directory_members/")();
94
+
95
+ const query = encodeFormQuery({
96
+ "end_datetime": payload.end_datetime,
97
+ "fields": payload.fields,
98
+ "limit": payload.limit,
99
+ "order_by": payload.order_by,
100
+ "order_by_direction": payload.order_by_direction,
101
+ "page": payload.page,
102
+ "search_field_values": payload.search_field_values,
103
+ "search_fields": payload.search_fields,
104
+ "start_datetime": payload.start_datetime,
105
+ });
106
+
107
+ const headers = new Headers(compactMap({
108
+ Accept: "application/json",
109
+ }));
110
+
111
+ const secConfig = await extractSecurity(client._options.apiKeyHeader);
112
+ const securityInput = secConfig == null ? {} : { apiKeyHeader: secConfig };
113
+ const requestSecurity = resolveGlobalSecurity(securityInput);
114
+
115
+ const context = {
116
+ options: client._options,
117
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
118
+ operationID: "directory_member_list",
119
+ oAuth2Scopes: null,
120
+
121
+ resolvedSecurity: requestSecurity,
122
+
123
+ securitySource: client._options.apiKeyHeader,
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
+ query: query,
137
+ body: body,
138
+ userAgent: client._options.userAgent,
139
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
140
+ }, options);
141
+ if (!requestRes.ok) {
142
+ return [requestRes, { status: "invalid" }];
143
+ }
144
+ const req = requestRes.value;
145
+
146
+ const doResult = await client._do(req, {
147
+ context,
148
+ errorCodes: ["422", "4XX", "5XX"],
149
+ retryConfig: context.retryConfig,
150
+ retryCodes: context.retryCodes,
151
+ });
152
+ if (!doResult.ok) {
153
+ return [doResult, { status: "request-error", request: req }];
154
+ }
155
+ const response = doResult.value;
156
+
157
+ const responseFields = {
158
+ HttpMeta: { Response: response, Request: req },
159
+ };
160
+
161
+ const [result] = await M.match<
162
+ components.ListResponseDirectoryMember,
163
+ | errors.HTTPValidationError
164
+ | SyllableSDKError
165
+ | ResponseValidationError
166
+ | ConnectionError
167
+ | RequestAbortedError
168
+ | RequestTimeoutError
169
+ | InvalidRequestError
170
+ | UnexpectedClientError
171
+ | SDKValidationError
172
+ >(
173
+ M.json(200, components.ListResponseDirectoryMember$inboundSchema),
174
+ M.jsonErr(422, errors.HTTPValidationError$inboundSchema),
175
+ M.fail("4XX"),
176
+ M.fail("5XX"),
177
+ )(response, req, { extraFields: responseFields });
178
+ if (!result.ok) {
179
+ return [result, { status: "complete", request: req, response }];
180
+ }
181
+
182
+ return [result, { status: "complete", request: req, response }];
183
+ }
@@ -0,0 +1,178 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { SyllableSDKCore } 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 { SyllableSDKError } from "../models/errors/syllablesdkerror.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 Directory Member
31
+ *
32
+ * @remarks
33
+ * Update a DirectoryMember.
34
+ */
35
+ export function directoryUpdate(
36
+ client: SyllableSDKCore,
37
+ request: operations.DirectoryMemberUpdateRequest,
38
+ options?: RequestOptions,
39
+ ): APIPromise<
40
+ Result<
41
+ components.DirectoryMember,
42
+ | errors.HTTPValidationError
43
+ | SyllableSDKError
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: SyllableSDKCore,
62
+ request: operations.DirectoryMemberUpdateRequest,
63
+ options?: RequestOptions,
64
+ ): Promise<
65
+ [
66
+ Result<
67
+ components.DirectoryMember,
68
+ | errors.HTTPValidationError
69
+ | SyllableSDKError
70
+ | ResponseValidationError
71
+ | ConnectionError
72
+ | RequestAbortedError
73
+ | RequestTimeoutError
74
+ | InvalidRequestError
75
+ | UnexpectedClientError
76
+ | SDKValidationError
77
+ >,
78
+ APICall,
79
+ ]
80
+ > {
81
+ const parsed = safeParse(
82
+ request,
83
+ (value) =>
84
+ operations.DirectoryMemberUpdateRequest$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.DirectoryMember, { explode: true });
92
+
93
+ const pathParams = {
94
+ member_id: encodeSimple("member_id", payload.member_id, {
95
+ explode: false,
96
+ charEncoding: "percent",
97
+ }),
98
+ };
99
+
100
+ const path = pathToFunc("/api/v1/directory_members/{member_id}")(pathParams);
101
+
102
+ const headers = new Headers(compactMap({
103
+ "Content-Type": "application/json",
104
+ Accept: "application/json",
105
+ }));
106
+
107
+ const secConfig = await extractSecurity(client._options.apiKeyHeader);
108
+ const securityInput = secConfig == null ? {} : { apiKeyHeader: secConfig };
109
+ const requestSecurity = resolveGlobalSecurity(securityInput);
110
+
111
+ const context = {
112
+ options: client._options,
113
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
114
+ operationID: "directory_member_update",
115
+ oAuth2Scopes: null,
116
+
117
+ resolvedSecurity: requestSecurity,
118
+
119
+ securitySource: client._options.apiKeyHeader,
120
+ retryConfig: options?.retries
121
+ || client._options.retryConfig
122
+ || { strategy: "none" },
123
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
124
+ };
125
+
126
+ const requestRes = client._createRequest(context, {
127
+ security: requestSecurity,
128
+ method: "PUT",
129
+ baseURL: options?.serverURL,
130
+ path: path,
131
+ headers: headers,
132
+ body: body,
133
+ userAgent: client._options.userAgent,
134
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
135
+ }, options);
136
+ if (!requestRes.ok) {
137
+ return [requestRes, { status: "invalid" }];
138
+ }
139
+ const req = requestRes.value;
140
+
141
+ const doResult = await client._do(req, {
142
+ context,
143
+ errorCodes: ["400", "404", "412", "422", "4XX", "500", "5XX"],
144
+ retryConfig: context.retryConfig,
145
+ retryCodes: context.retryCodes,
146
+ });
147
+ if (!doResult.ok) {
148
+ return [doResult, { status: "request-error", request: req }];
149
+ }
150
+ const response = doResult.value;
151
+
152
+ const responseFields = {
153
+ HttpMeta: { Response: response, Request: req },
154
+ };
155
+
156
+ const [result] = await M.match<
157
+ components.DirectoryMember,
158
+ | errors.HTTPValidationError
159
+ | SyllableSDKError
160
+ | ResponseValidationError
161
+ | ConnectionError
162
+ | RequestAbortedError
163
+ | RequestTimeoutError
164
+ | InvalidRequestError
165
+ | UnexpectedClientError
166
+ | SDKValidationError
167
+ >(
168
+ M.json(200, components.DirectoryMember$inboundSchema),
169
+ M.jsonErr(422, errors.HTTPValidationError$inboundSchema),
170
+ M.fail([400, 404, 412, "4XX"]),
171
+ M.fail([500, "5XX"]),
172
+ )(response, req, { extraFields: responseFields });
173
+ if (!result.ok) {
174
+ return [result, { status: "complete", request: req, response }];
175
+ }
176
+
177
+ return [result, { status: "complete", request: req, response }];
178
+ }
package/src/lib/config.ts CHANGED
@@ -61,7 +61,7 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
61
61
  export const SDK_METADATA = {
62
62
  language: "typescript",
63
63
  openapiDocVersion: "0.0.2",
64
- sdkVersion: "1.0.5",
65
- genVersion: "2.729.2",
66
- userAgent: "speakeasy-sdk/typescript 1.0.5 2.729.2 0.0.2 syllable-sdk",
64
+ sdkVersion: "1.0.6",
65
+ genVersion: "2.730.0",
66
+ userAgent: "speakeasy-sdk/typescript 1.0.6 2.730.0 0.0.2 syllable-sdk",
67
67
  } as const;
@@ -19,7 +19,7 @@ const routes = buildRouteMap({
19
19
  export const app = buildApplication(routes, {
20
20
  name: "mcp",
21
21
  versionInfo: {
22
- currentVersion: "1.0.5",
22
+ currentVersion: "1.0.6",
23
23
  },
24
24
  });
25
25
 
@@ -52,6 +52,13 @@ import { tool$dataSourcesDelete } from "./tools/dataSourcesDelete.js";
52
52
  import { tool$dataSourcesGetById } from "./tools/dataSourcesGetById.js";
53
53
  import { tool$dataSourcesList } from "./tools/dataSourcesList.js";
54
54
  import { tool$dataSourcesUpdate } from "./tools/dataSourcesUpdate.js";
55
+ import { tool$directoryCreate } from "./tools/directoryCreate.js";
56
+ import { tool$directoryDelete } from "./tools/directoryDelete.js";
57
+ import { tool$directoryDirectoryMemberBulkLoad } from "./tools/directoryDirectoryMemberBulkLoad.js";
58
+ import { tool$directoryDirectoryMemberDownload } from "./tools/directoryDirectoryMemberDownload.js";
59
+ import { tool$directoryGetById } from "./tools/directoryGetById.js";
60
+ import { tool$directoryList } from "./tools/directoryList.js";
61
+ import { tool$directoryUpdate } from "./tools/directoryUpdate.js";
55
62
  import { tool$eventsList } from "./tools/eventsList.js";
56
63
  import { tool$incidentsCreate } from "./tools/incidentsCreate.js";
57
64
  import { tool$incidentsDelete } from "./tools/incidentsDelete.js";
@@ -175,7 +182,7 @@ export function createMCPServer(deps: {
175
182
  }) {
176
183
  const server = new McpServer({
177
184
  name: "SyllableSDK",
178
- version: "1.0.5",
185
+ version: "1.0.6",
179
186
  });
180
187
 
181
188
  const client = new SyllableSDKCore({
@@ -272,6 +279,13 @@ export function createMCPServer(deps: {
272
279
  tool(tool$toolsUpdate);
273
280
  tool(tool$toolsGetByName);
274
281
  tool(tool$toolsDelete);
282
+ tool(tool$directoryList);
283
+ tool(tool$directoryCreate);
284
+ tool(tool$directoryGetById);
285
+ tool(tool$directoryUpdate);
286
+ tool(tool$directoryDelete);
287
+ tool(tool$directoryDirectoryMemberBulkLoad);
288
+ tool(tool$directoryDirectoryMemberDownload);
275
289
  tool(tool$dashboardsPostListDashboard);
276
290
  tool(tool$dashboardsPostGetDashboard);
277
291
  tool(tool$dashboardsPostSessionEventsDashboard);
@@ -0,0 +1,37 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { directoryCreate } from "../../funcs/directoryCreate.js";
6
+ import * as components from "../../models/components/index.js";
7
+ import { formatResult, ToolDefinition } from "../tools.js";
8
+
9
+ const args = {
10
+ request: components.DirectoryMemberCreate$inboundSchema,
11
+ };
12
+
13
+ export const tool$directoryCreate: ToolDefinition<typeof args> = {
14
+ name: "directory-create",
15
+ description: `Create Directory Member
16
+
17
+ Create a new member in the directory`,
18
+ args,
19
+ tool: async (client, args, ctx) => {
20
+ const [result, apiCall] = await directoryCreate(
21
+ client,
22
+ args.request,
23
+ { fetchOptions: { signal: ctx.signal } },
24
+ ).$inspect();
25
+
26
+ if (!result.ok) {
27
+ return {
28
+ content: [{ type: "text", text: result.error.message }],
29
+ isError: true,
30
+ };
31
+ }
32
+
33
+ const value = result.value;
34
+
35
+ return formatResult(value, apiCall);
36
+ },
37
+ };
@@ -0,0 +1,37 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { directoryDelete } from "../../funcs/directoryDelete.js";
6
+ import * as operations from "../../models/operations/index.js";
7
+ import { formatResult, ToolDefinition } from "../tools.js";
8
+
9
+ const args = {
10
+ request: operations.DirectoryMemberDeleteRequest$inboundSchema,
11
+ };
12
+
13
+ export const tool$directoryDelete: ToolDefinition<typeof args> = {
14
+ name: "directory-delete",
15
+ description: `Delete Directory Member
16
+
17
+ Delete a DirectoryMember.`,
18
+ args,
19
+ tool: async (client, args, ctx) => {
20
+ const [result, apiCall] = await directoryDelete(
21
+ client,
22
+ args.request,
23
+ { fetchOptions: { signal: ctx.signal } },
24
+ ).$inspect();
25
+
26
+ if (!result.ok) {
27
+ return {
28
+ content: [{ type: "text", text: result.error.message }],
29
+ isError: true,
30
+ };
31
+ }
32
+
33
+ const value = result.value;
34
+
35
+ return formatResult(value, apiCall);
36
+ },
37
+ };