syllable-sdk 1.0.7-rc.3 → 1.0.7-rc.5

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 (64) hide show
  1. package/README.md +2 -0
  2. package/bin/mcp-server.js +932 -774
  3. package/bin/mcp-server.js.map +14 -10
  4. package/docs/sdks/batches/README.md +4 -4
  5. package/docs/sdks/directory/README.md +85 -0
  6. package/docs/sdks/workflows/README.md +8 -8
  7. package/examples/package-lock.json +1 -1
  8. package/funcs/directoryDirectoryMemberTestExtension.d.ts +19 -0
  9. package/funcs/directoryDirectoryMemberTestExtension.d.ts.map +1 -0
  10. package/funcs/directoryDirectoryMemberTestExtension.js +129 -0
  11. package/funcs/directoryDirectoryMemberTestExtension.js.map +1 -0
  12. package/jsr.json +1 -1
  13. package/lib/config.d.ts +3 -3
  14. package/lib/config.js +3 -3
  15. package/mcp-server/mcp-server.js +1 -1
  16. package/mcp-server/server.d.ts.map +1 -1
  17. package/mcp-server/server.js +3 -1
  18. package/mcp-server/server.js.map +1 -1
  19. package/mcp-server/tools/directoryDirectoryMemberTestExtension.d.ts +8 -0
  20. package/mcp-server/tools/directoryDirectoryMemberTestExtension.d.ts.map +1 -0
  21. package/mcp-server/tools/directoryDirectoryMemberTestExtension.js +64 -0
  22. package/mcp-server/tools/directoryDirectoryMemberTestExtension.js.map +1 -0
  23. package/models/components/directorymember.d.ts +13 -4
  24. package/models/components/directorymember.d.ts.map +1 -1
  25. package/models/components/directorymember.js +4 -4
  26. package/models/components/directorymember.js.map +1 -1
  27. package/models/components/directorymembercreate.d.ts +3 -4
  28. package/models/components/directorymembercreate.d.ts.map +1 -1
  29. package/models/components/directorymembercreate.js +0 -8
  30. package/models/components/directorymembercreate.js.map +1 -1
  31. package/models/components/directorymembertestresponse.d.ts +32 -0
  32. package/models/components/directorymembertestresponse.d.ts.map +1 -0
  33. package/models/components/directorymembertestresponse.js +69 -0
  34. package/models/components/directorymembertestresponse.js.map +1 -0
  35. package/models/components/index.d.ts +1 -0
  36. package/models/components/index.d.ts.map +1 -1
  37. package/models/components/index.js +1 -0
  38. package/models/components/index.js.map +1 -1
  39. package/models/operations/directorymembertestextension.d.ts +40 -0
  40. package/models/operations/directorymembertestextension.d.ts.map +1 -0
  41. package/models/operations/directorymembertestextension.js +85 -0
  42. package/models/operations/directorymembertestextension.js.map +1 -0
  43. package/models/operations/index.d.ts +1 -0
  44. package/models/operations/index.d.ts.map +1 -1
  45. package/models/operations/index.js +1 -0
  46. package/models/operations/index.js.map +1 -1
  47. package/openapi.json +160 -77
  48. package/package.json +1 -1
  49. package/sdk/directory.d.ts +7 -0
  50. package/sdk/directory.d.ts.map +1 -1
  51. package/sdk/directory.js +10 -0
  52. package/sdk/directory.js.map +1 -1
  53. package/src/funcs/directoryDirectoryMemberTestExtension.ts +187 -0
  54. package/src/lib/config.ts +3 -3
  55. package/src/mcp-server/mcp-server.ts +1 -1
  56. package/src/mcp-server/server.ts +3 -1
  57. package/src/mcp-server/tools/directoryDirectoryMemberTestExtension.ts +39 -0
  58. package/src/models/components/directorymember.ts +17 -10
  59. package/src/models/components/directorymembercreate.ts +3 -14
  60. package/src/models/components/directorymembertestresponse.ts +71 -0
  61. package/src/models/components/index.ts +1 -0
  62. package/src/models/operations/directorymembertestextension.ts +97 -0
  63. package/src/models/operations/index.ts +1 -0
  64. package/src/sdk/directory.ts +18 -0
@@ -0,0 +1,187 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { SyllableSDKCore } 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 * 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
+ * Test Directory Member Extension
31
+ *
32
+ * @remarks
33
+ * Test directory member extension at a specific timestamp and language.
34
+ */
35
+ export function directoryDirectoryMemberTestExtension(
36
+ client: SyllableSDKCore,
37
+ request: operations.DirectoryMemberTestExtensionRequest,
38
+ options?: RequestOptions,
39
+ ): APIPromise<
40
+ Result<
41
+ components.DirectoryMemberTestResponse,
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.DirectoryMemberTestExtensionRequest,
63
+ options?: RequestOptions,
64
+ ): Promise<
65
+ [
66
+ Result<
67
+ components.DirectoryMemberTestResponse,
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.DirectoryMemberTestExtensionRequest$outboundSchema.parse(
85
+ value,
86
+ ),
87
+ "Input validation failed",
88
+ );
89
+ if (!parsed.ok) {
90
+ return [parsed, { status: "invalid" }];
91
+ }
92
+ const payload = parsed.value;
93
+ const body = null;
94
+
95
+ const pathParams = {
96
+ member_id: encodeSimple("member_id", payload.member_id, {
97
+ explode: false,
98
+ charEncoding: "percent",
99
+ }),
100
+ };
101
+
102
+ const path = pathToFunc("/api/v1/directory_members/{member_id}/test")(
103
+ pathParams,
104
+ );
105
+
106
+ const query = encodeFormQuery({
107
+ "language_code": payload.language_code,
108
+ "timestamp": payload.timestamp,
109
+ });
110
+
111
+ const headers = new Headers(compactMap({
112
+ Accept: "application/json",
113
+ }));
114
+
115
+ const secConfig = await extractSecurity(client._options.apiKeyHeader);
116
+ const securityInput = secConfig == null ? {} : { apiKeyHeader: secConfig };
117
+ const requestSecurity = resolveGlobalSecurity(securityInput);
118
+
119
+ const context = {
120
+ options: client._options,
121
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
122
+ operationID: "directory_member_test_extension",
123
+ oAuth2Scopes: null,
124
+
125
+ resolvedSecurity: requestSecurity,
126
+
127
+ securitySource: client._options.apiKeyHeader,
128
+ retryConfig: options?.retries
129
+ || client._options.retryConfig
130
+ || { strategy: "none" },
131
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
132
+ };
133
+
134
+ const requestRes = client._createRequest(context, {
135
+ security: requestSecurity,
136
+ method: "GET",
137
+ baseURL: options?.serverURL,
138
+ path: path,
139
+ headers: headers,
140
+ query: query,
141
+ body: body,
142
+ userAgent: client._options.userAgent,
143
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
144
+ }, options);
145
+ if (!requestRes.ok) {
146
+ return [requestRes, { status: "invalid" }];
147
+ }
148
+ const req = requestRes.value;
149
+
150
+ const doResult = await client._do(req, {
151
+ context,
152
+ errorCodes: ["422", "4XX", "5XX"],
153
+ retryConfig: context.retryConfig,
154
+ retryCodes: context.retryCodes,
155
+ });
156
+ if (!doResult.ok) {
157
+ return [doResult, { status: "request-error", request: req }];
158
+ }
159
+ const response = doResult.value;
160
+
161
+ const responseFields = {
162
+ HttpMeta: { Response: response, Request: req },
163
+ };
164
+
165
+ const [result] = await M.match<
166
+ components.DirectoryMemberTestResponse,
167
+ | errors.HTTPValidationError
168
+ | SyllableSDKError
169
+ | ResponseValidationError
170
+ | ConnectionError
171
+ | RequestAbortedError
172
+ | RequestTimeoutError
173
+ | InvalidRequestError
174
+ | UnexpectedClientError
175
+ | SDKValidationError
176
+ >(
177
+ M.json(200, components.DirectoryMemberTestResponse$inboundSchema),
178
+ M.jsonErr(422, errors.HTTPValidationError$inboundSchema),
179
+ M.fail("4XX"),
180
+ M.fail("5XX"),
181
+ )(response, req, { extraFields: responseFields });
182
+ if (!result.ok) {
183
+ return [result, { status: "complete", request: req, response }];
184
+ }
185
+
186
+ return [result, { status: "complete", request: req, response }];
187
+ }
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.7-rc.3",
65
- genVersion: "2.730.5",
66
- userAgent: "speakeasy-sdk/typescript 1.0.7-rc.3 2.730.5 0.0.2 syllable-sdk",
64
+ sdkVersion: "1.0.7-rc.5",
65
+ genVersion: "2.731.4",
66
+ userAgent: "speakeasy-sdk/typescript 1.0.7-rc.5 2.731.4 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.7-rc.3",
22
+ currentVersion: "1.0.7-rc.5",
23
23
  },
24
24
  });
25
25
 
@@ -56,6 +56,7 @@ import { tool$directoryCreate } from "./tools/directoryCreate.js";
56
56
  import { tool$directoryDelete } from "./tools/directoryDelete.js";
57
57
  import { tool$directoryDirectoryMemberBulkLoad } from "./tools/directoryDirectoryMemberBulkLoad.js";
58
58
  import { tool$directoryDirectoryMemberDownload } from "./tools/directoryDirectoryMemberDownload.js";
59
+ import { tool$directoryDirectoryMemberTestExtension } from "./tools/directoryDirectoryMemberTestExtension.js";
59
60
  import { tool$directoryGetById } from "./tools/directoryGetById.js";
60
61
  import { tool$directoryList } from "./tools/directoryList.js";
61
62
  import { tool$directoryUpdate } from "./tools/directoryUpdate.js";
@@ -182,7 +183,7 @@ export function createMCPServer(deps: {
182
183
  }) {
183
184
  const server = new McpServer({
184
185
  name: "SyllableSDK",
185
- version: "1.0.7-rc.3",
186
+ version: "1.0.7-rc.5",
186
187
  });
187
188
 
188
189
  const client = new SyllableSDKCore({
@@ -284,6 +285,7 @@ export function createMCPServer(deps: {
284
285
  tool(tool$directoryGetById);
285
286
  tool(tool$directoryUpdate);
286
287
  tool(tool$directoryDelete);
288
+ tool(tool$directoryDirectoryMemberTestExtension);
287
289
  tool(tool$directoryDirectoryMemberBulkLoad);
288
290
  tool(tool$directoryDirectoryMemberDownload);
289
291
  tool(tool$dashboardsPostListDashboard);
@@ -0,0 +1,39 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { directoryDirectoryMemberTestExtension } from "../../funcs/directoryDirectoryMemberTestExtension.js";
6
+ import * as operations from "../../models/operations/index.js";
7
+ import { formatResult, ToolDefinition } from "../tools.js";
8
+
9
+ const args = {
10
+ request: operations.DirectoryMemberTestExtensionRequest$inboundSchema,
11
+ };
12
+
13
+ export const tool$directoryDirectoryMemberTestExtension: ToolDefinition<
14
+ typeof args
15
+ > = {
16
+ name: "directory-directory-member-test-extension",
17
+ description: `Test Directory Member Extension
18
+
19
+ Test directory member extension at a specific timestamp and language.`,
20
+ args,
21
+ tool: async (client, args, ctx) => {
22
+ const [result, apiCall] = await directoryDirectoryMemberTestExtension(
23
+ client,
24
+ args.request,
25
+ { fetchOptions: { signal: ctx.signal } },
26
+ ).$inspect();
27
+
28
+ if (!result.ok) {
29
+ return {
30
+ content: [{ type: "text", text: result.error.message }],
31
+ isError: true,
32
+ };
33
+ }
34
+
35
+ const value = result.value;
36
+
37
+ return formatResult(value, apiCall);
38
+ },
39
+ };
@@ -32,13 +32,22 @@ export type DirectoryMember = {
32
32
  * List of extensions for the directory member
33
33
  */
34
34
  extensions?: Array<DirectoryExtension> | null | undefined;
35
+ /**
36
+ * Tags for the directory member
37
+ */
35
38
  contactTags?: ContactTags | null | undefined;
36
- updatedAt?: Date | null | undefined;
37
- lastUpdatedBy?: string | null | undefined;
38
39
  /**
39
40
  * Internal ID of the directory member
40
41
  */
41
42
  id?: number | null | undefined;
43
+ /**
44
+ * Timestamp of most recent update
45
+ */
46
+ updatedAt: Date;
47
+ /**
48
+ * Email of the user who last updated the directory member
49
+ */
50
+ lastUpdatedBy?: string | null | undefined;
42
51
  };
43
52
 
44
53
  /** @internal */
@@ -95,11 +104,9 @@ export const DirectoryMember$inboundSchema: z.ZodType<
95
104
  type: z.string(),
96
105
  extensions: z.nullable(z.array(DirectoryExtension$inboundSchema)).optional(),
97
106
  contact_tags: z.nullable(z.lazy(() => ContactTags$inboundSchema)).optional(),
98
- updated_at: z.nullable(
99
- z.string().datetime({ offset: true }).transform(v => new Date(v)),
100
- ).optional(),
101
- last_updated_by: z.nullable(z.string()).optional(),
102
107
  id: z.nullable(z.number().int()).optional(),
108
+ updated_at: z.string().datetime({ offset: true }).transform(v => new Date(v)),
109
+ last_updated_by: z.nullable(z.string()).optional(),
103
110
  }).transform((v) => {
104
111
  return remap$(v, {
105
112
  "contact_tags": "contactTags",
@@ -114,9 +121,9 @@ export type DirectoryMember$Outbound = {
114
121
  type: string;
115
122
  extensions?: Array<DirectoryExtension$Outbound> | null | undefined;
116
123
  contact_tags?: ContactTags$Outbound | null | undefined;
117
- updated_at?: string | null | undefined;
118
- last_updated_by?: string | null | undefined;
119
124
  id?: number | null | undefined;
125
+ updated_at: string;
126
+ last_updated_by?: string | null | undefined;
120
127
  };
121
128
 
122
129
  /** @internal */
@@ -129,9 +136,9 @@ export const DirectoryMember$outboundSchema: z.ZodType<
129
136
  type: z.string(),
130
137
  extensions: z.nullable(z.array(DirectoryExtension$outboundSchema)).optional(),
131
138
  contactTags: z.nullable(z.lazy(() => ContactTags$outboundSchema)).optional(),
132
- updatedAt: z.nullable(z.date().transform(v => v.toISOString())).optional(),
133
- lastUpdatedBy: z.nullable(z.string()).optional(),
134
139
  id: z.nullable(z.number().int()).optional(),
140
+ updatedAt: z.date().transform(v => v.toISOString()),
141
+ lastUpdatedBy: z.nullable(z.string()).optional(),
135
142
  }).transform((v) => {
136
143
  return remap$(v, {
137
144
  contactTags: "contact_tags",
@@ -32,9 +32,10 @@ export type DirectoryMemberCreate = {
32
32
  * List of extensions for the directory member
33
33
  */
34
34
  extensions?: Array<DirectoryExtension> | null | undefined;
35
+ /**
36
+ * Tags for the directory member
37
+ */
35
38
  contactTags?: DirectoryMemberCreateContactTags | null | undefined;
36
- updatedAt?: Date | null | undefined;
37
- lastUpdatedBy?: string | null | undefined;
38
39
  };
39
40
 
40
41
  /** @internal */
@@ -99,15 +100,9 @@ export const DirectoryMemberCreate$inboundSchema: z.ZodType<
99
100
  contact_tags: z.nullable(
100
101
  z.lazy(() => DirectoryMemberCreateContactTags$inboundSchema),
101
102
  ).optional(),
102
- updated_at: z.nullable(
103
- z.string().datetime({ offset: true }).transform(v => new Date(v)),
104
- ).optional(),
105
- last_updated_by: z.nullable(z.string()).optional(),
106
103
  }).transform((v) => {
107
104
  return remap$(v, {
108
105
  "contact_tags": "contactTags",
109
- "updated_at": "updatedAt",
110
- "last_updated_by": "lastUpdatedBy",
111
106
  });
112
107
  });
113
108
 
@@ -117,8 +112,6 @@ export type DirectoryMemberCreate$Outbound = {
117
112
  type: string;
118
113
  extensions?: Array<DirectoryExtension$Outbound> | null | undefined;
119
114
  contact_tags?: DirectoryMemberCreateContactTags$Outbound | null | undefined;
120
- updated_at?: string | null | undefined;
121
- last_updated_by?: string | null | undefined;
122
115
  };
123
116
 
124
117
  /** @internal */
@@ -133,13 +126,9 @@ export const DirectoryMemberCreate$outboundSchema: z.ZodType<
133
126
  contactTags: z.nullable(
134
127
  z.lazy(() => DirectoryMemberCreateContactTags$outboundSchema),
135
128
  ).optional(),
136
- updatedAt: z.nullable(z.date().transform(v => v.toISOString())).optional(),
137
- lastUpdatedBy: z.nullable(z.string()).optional(),
138
129
  }).transform((v) => {
139
130
  return remap$(v, {
140
131
  contactTags: "contact_tags",
141
- updatedAt: "updated_at",
142
- lastUpdatedBy: "last_updated_by",
143
132
  });
144
133
  });
145
134
 
@@ -0,0 +1,71 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { safeParse } from "../../lib/schemas.js";
7
+ import { Result as SafeParseResult } from "../../types/fp.js";
8
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
9
+
10
+ export type DirectoryMemberTestResponse = {
11
+ /**
12
+ * Extension to which the user will be transferred if they call at the provided timestamp in the given language
13
+ */
14
+ extension?: string | null | undefined;
15
+ };
16
+
17
+ /** @internal */
18
+ export const DirectoryMemberTestResponse$inboundSchema: z.ZodType<
19
+ DirectoryMemberTestResponse,
20
+ z.ZodTypeDef,
21
+ unknown
22
+ > = z.object({
23
+ extension: z.nullable(z.string()).optional(),
24
+ });
25
+
26
+ /** @internal */
27
+ export type DirectoryMemberTestResponse$Outbound = {
28
+ extension?: string | null | undefined;
29
+ };
30
+
31
+ /** @internal */
32
+ export const DirectoryMemberTestResponse$outboundSchema: z.ZodType<
33
+ DirectoryMemberTestResponse$Outbound,
34
+ z.ZodTypeDef,
35
+ DirectoryMemberTestResponse
36
+ > = z.object({
37
+ extension: z.nullable(z.string()).optional(),
38
+ });
39
+
40
+ /**
41
+ * @internal
42
+ * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
43
+ */
44
+ export namespace DirectoryMemberTestResponse$ {
45
+ /** @deprecated use `DirectoryMemberTestResponse$inboundSchema` instead. */
46
+ export const inboundSchema = DirectoryMemberTestResponse$inboundSchema;
47
+ /** @deprecated use `DirectoryMemberTestResponse$outboundSchema` instead. */
48
+ export const outboundSchema = DirectoryMemberTestResponse$outboundSchema;
49
+ /** @deprecated use `DirectoryMemberTestResponse$Outbound` instead. */
50
+ export type Outbound = DirectoryMemberTestResponse$Outbound;
51
+ }
52
+
53
+ export function directoryMemberTestResponseToJSON(
54
+ directoryMemberTestResponse: DirectoryMemberTestResponse,
55
+ ): string {
56
+ return JSON.stringify(
57
+ DirectoryMemberTestResponse$outboundSchema.parse(
58
+ directoryMemberTestResponse,
59
+ ),
60
+ );
61
+ }
62
+
63
+ export function directoryMemberTestResponseFromJSON(
64
+ jsonString: string,
65
+ ): SafeParseResult<DirectoryMemberTestResponse, SDKValidationError> {
66
+ return safeParse(
67
+ jsonString,
68
+ (x) => DirectoryMemberTestResponse$inboundSchema.parse(JSON.parse(x)),
69
+ `Failed to parse 'DirectoryMemberTestResponse' from JSON`,
70
+ );
71
+ }
@@ -70,6 +70,7 @@ export * from "./directoryextension.js";
70
70
  export * from "./directorymember.js";
71
71
  export * from "./directorymembercreate.js";
72
72
  export * from "./directorymemberproperties.js";
73
+ export * from "./directorymembertestresponse.js";
73
74
  export * from "./event.js";
74
75
  export * from "./eventproperties.js";
75
76
  export * from "./folderdetails.js";
@@ -0,0 +1,97 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { remap as remap$ } from "../../lib/primitives.js";
7
+ import { safeParse } from "../../lib/schemas.js";
8
+ import { Result as SafeParseResult } from "../../types/fp.js";
9
+ import * as components from "../components/index.js";
10
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
11
+
12
+ export type DirectoryMemberTestExtensionRequest = {
13
+ memberId: number;
14
+ /**
15
+ * Timestamp for test
16
+ */
17
+ timestamp: Date;
18
+ /**
19
+ * Optional language code for test
20
+ */
21
+ languageCode?: components.LanguageCode | null | undefined;
22
+ };
23
+
24
+ /** @internal */
25
+ export const DirectoryMemberTestExtensionRequest$inboundSchema: z.ZodType<
26
+ DirectoryMemberTestExtensionRequest,
27
+ z.ZodTypeDef,
28
+ unknown
29
+ > = z.object({
30
+ member_id: z.number().int(),
31
+ timestamp: z.string().datetime({ offset: true }).transform(v => new Date(v)),
32
+ language_code: z.nullable(components.LanguageCode$inboundSchema).optional(),
33
+ }).transform((v) => {
34
+ return remap$(v, {
35
+ "member_id": "memberId",
36
+ "language_code": "languageCode",
37
+ });
38
+ });
39
+
40
+ /** @internal */
41
+ export type DirectoryMemberTestExtensionRequest$Outbound = {
42
+ member_id: number;
43
+ timestamp: string;
44
+ language_code?: string | null | undefined;
45
+ };
46
+
47
+ /** @internal */
48
+ export const DirectoryMemberTestExtensionRequest$outboundSchema: z.ZodType<
49
+ DirectoryMemberTestExtensionRequest$Outbound,
50
+ z.ZodTypeDef,
51
+ DirectoryMemberTestExtensionRequest
52
+ > = z.object({
53
+ memberId: z.number().int(),
54
+ timestamp: z.date().transform(v => v.toISOString()),
55
+ languageCode: z.nullable(components.LanguageCode$outboundSchema).optional(),
56
+ }).transform((v) => {
57
+ return remap$(v, {
58
+ memberId: "member_id",
59
+ languageCode: "language_code",
60
+ });
61
+ });
62
+
63
+ /**
64
+ * @internal
65
+ * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
66
+ */
67
+ export namespace DirectoryMemberTestExtensionRequest$ {
68
+ /** @deprecated use `DirectoryMemberTestExtensionRequest$inboundSchema` instead. */
69
+ export const inboundSchema =
70
+ DirectoryMemberTestExtensionRequest$inboundSchema;
71
+ /** @deprecated use `DirectoryMemberTestExtensionRequest$outboundSchema` instead. */
72
+ export const outboundSchema =
73
+ DirectoryMemberTestExtensionRequest$outboundSchema;
74
+ /** @deprecated use `DirectoryMemberTestExtensionRequest$Outbound` instead. */
75
+ export type Outbound = DirectoryMemberTestExtensionRequest$Outbound;
76
+ }
77
+
78
+ export function directoryMemberTestExtensionRequestToJSON(
79
+ directoryMemberTestExtensionRequest: DirectoryMemberTestExtensionRequest,
80
+ ): string {
81
+ return JSON.stringify(
82
+ DirectoryMemberTestExtensionRequest$outboundSchema.parse(
83
+ directoryMemberTestExtensionRequest,
84
+ ),
85
+ );
86
+ }
87
+
88
+ export function directoryMemberTestExtensionRequestFromJSON(
89
+ jsonString: string,
90
+ ): SafeParseResult<DirectoryMemberTestExtensionRequest, SDKValidationError> {
91
+ return safeParse(
92
+ jsonString,
93
+ (x) =>
94
+ DirectoryMemberTestExtensionRequest$inboundSchema.parse(JSON.parse(x)),
95
+ `Failed to parse 'DirectoryMemberTestExtensionRequest' from JSON`,
96
+ );
97
+ }
@@ -26,6 +26,7 @@ export * from "./datasourceslist.js";
26
26
  export * from "./directorymemberdelete.js";
27
27
  export * from "./directorymembergetbyid.js";
28
28
  export * from "./directorymemberlist.js";
29
+ export * from "./directorymembertestextension.js";
29
30
  export * from "./directorymemberupdate.js";
30
31
  export * from "./eventslist.js";
31
32
  export * from "./generatesessionrecordingurls.js";
@@ -6,6 +6,7 @@ import { directoryCreate } from "../funcs/directoryCreate.js";
6
6
  import { directoryDelete } from "../funcs/directoryDelete.js";
7
7
  import { directoryDirectoryMemberBulkLoad } from "../funcs/directoryDirectoryMemberBulkLoad.js";
8
8
  import { directoryDirectoryMemberDownload } from "../funcs/directoryDirectoryMemberDownload.js";
9
+ import { directoryDirectoryMemberTestExtension } from "../funcs/directoryDirectoryMemberTestExtension.js";
9
10
  import { directoryGetById } from "../funcs/directoryGetById.js";
10
11
  import { directoryList } from "../funcs/directoryList.js";
11
12
  import { directoryUpdate } from "../funcs/directoryUpdate.js";
@@ -100,6 +101,23 @@ export class Directory extends ClientSDK {
100
101
  ));
101
102
  }
102
103
 
104
+ /**
105
+ * Test Directory Member Extension
106
+ *
107
+ * @remarks
108
+ * Test directory member extension at a specific timestamp and language.
109
+ */
110
+ async directoryMemberTestExtension(
111
+ request: operations.DirectoryMemberTestExtensionRequest,
112
+ options?: RequestOptions,
113
+ ): Promise<components.DirectoryMemberTestResponse> {
114
+ return unwrapAsync(directoryDirectoryMemberTestExtension(
115
+ this,
116
+ request,
117
+ options,
118
+ ));
119
+ }
120
+
103
121
  /**
104
122
  * Bulk Load Directory Members
105
123
  *