@gravity-rail/sdk 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -46,7 +46,7 @@ function parseOrgAuthChallenge(wwwAuthenticate) {
46
46
  const cookieNameMatch = wwwAuthenticate.match(/cookie_name="([^"]+)"/);
47
47
  const authUrlMatch = wwwAuthenticate.match(/auth_url="([^"]+)"/);
48
48
  if (!orgUuidMatch?.[1] || !cookieNameMatch?.[1] || !authUrlMatch?.[1]) {
49
- console.warn("Invalid org auth challenge header:", wwwAuthenticate);
49
+ console.warn("Invalid org auth challenge header: missing required fields");
50
50
  return null;
51
51
  }
52
52
  return {
@@ -63,8 +63,17 @@ var BaseApiClient = class {
63
63
  enhancedAuthHandler;
64
64
  enhancedAuthInProgress = null;
65
65
  orgAuthHandler;
66
+ orgAuthInProgress = null;
66
67
  actingMemberUuid;
67
68
  orgToken;
69
+ /**
70
+ * The org_uuid that issued the current orgToken. Tracked so we can detect
71
+ * a 401 challenge from a *different* org and re-fire the handler — the
72
+ * orgToken is an opaque JWE we cannot decrypt client-side, so without this
73
+ * the original guard `!this.orgToken` would prevent re-auth across orgs and
74
+ * surface as a silent 401 in multi-org CLI workflows.
75
+ */
76
+ orgTokenOrgUuid;
68
77
  constructor(apiKey, baseUrl, customFetch) {
69
78
  this.baseUrl = baseUrl;
70
79
  this.apiKey = apiKey;
@@ -114,9 +123,15 @@ var BaseApiClient = class {
114
123
  * Set the org token for cross-domain requests.
115
124
  * When set, all API requests will include the X-Org-Token header,
116
125
  * allowing org-level SSO verification without cookies.
126
+ *
127
+ * `orgUuid` is the org that issued the token; passing it lets the 401
128
+ * handler detect a stale token when a subsequent request targets a
129
+ * different org and re-fire the org-auth handler instead of silently
130
+ * 401-ing. Callers without that context (legacy / unknown) may omit it.
117
131
  */
118
- setOrgToken(token) {
132
+ setOrgToken(token, orgUuid) {
119
133
  this.orgToken = token;
134
+ this.orgTokenOrgUuid = token ? orgUuid : void 0;
120
135
  }
121
136
  async fetch(endpoint, options) {
122
137
  try {
@@ -164,29 +179,61 @@ var BaseApiClient = class {
164
179
  return await this.fetch(endpoint, options);
165
180
  } catch (retryError) {
166
181
  this.orgToken = void 0;
182
+ this.orgTokenOrgUuid = void 0;
167
183
  throw retryError;
168
184
  }
169
185
  }
170
186
  if (response.status === 401) {
171
187
  const orgAuthInfo = parseOrgAuthChallenge(response.headers.get("WWW-Authenticate"));
188
+ if (orgAuthInfo && this.orgToken && this.orgTokenOrgUuid && this.orgTokenOrgUuid !== orgAuthInfo.orgUuid) {
189
+ this.orgToken = void 0;
190
+ this.orgTokenOrgUuid = void 0;
191
+ }
172
192
  if (orgAuthInfo && !this.orgToken) {
173
193
  const requestCookieName = orgAuthInfo.cookieName.replace(
174
- "orgToken",
194
+ /^orgToken/,
175
195
  "requestOrgToken"
176
196
  );
177
197
  const cachedOrgToken = getCookieValue(requestCookieName);
178
198
  if (cachedOrgToken) {
179
199
  this.orgToken = cachedOrgToken;
200
+ this.orgTokenOrgUuid = orgAuthInfo.orgUuid;
180
201
  try {
181
202
  return await this.fetch(endpoint, options);
182
203
  } catch (retryError) {
183
204
  this.orgToken = void 0;
205
+ this.orgTokenOrgUuid = void 0;
184
206
  throw retryError;
185
207
  }
186
208
  }
187
209
  if (this.orgAuthHandler) {
188
- await this.orgAuthHandler(orgAuthInfo);
189
- throw new ApiError("Organization authentication required", 401);
210
+ if (!this.orgAuthInProgress) {
211
+ const handler = this.orgAuthHandler;
212
+ this.orgAuthInProgress = (async () => {
213
+ try {
214
+ await handler(orgAuthInfo);
215
+ } finally {
216
+ this.orgAuthInProgress = null;
217
+ }
218
+ })();
219
+ }
220
+ await this.orgAuthInProgress;
221
+ const postHandlerToken = getCookieValue(requestCookieName) ?? this.orgToken;
222
+ if (!postHandlerToken) {
223
+ throw new ApiError(
224
+ "Organization authentication did not issue a token",
225
+ 401
226
+ );
227
+ }
228
+ this.orgToken = postHandlerToken;
229
+ this.orgTokenOrgUuid = orgAuthInfo.orgUuid;
230
+ try {
231
+ return await this.fetch(endpoint, options);
232
+ } catch (retryError) {
233
+ this.orgToken = void 0;
234
+ this.orgTokenOrgUuid = void 0;
235
+ throw retryError;
236
+ }
190
237
  }
191
238
  }
192
239
  }
@@ -243,7 +290,7 @@ ${formattedErrors}`, response.status);
243
290
  throw error;
244
291
  }
245
292
  }
246
- async fetchRaw(endpoint, options) {
293
+ async fetchRaw(endpoint, options, allowedErrorStatuses = []) {
247
294
  try {
248
295
  const headers = new Headers({
249
296
  ...options?.headers || {}
@@ -282,35 +329,70 @@ ${formattedErrors}`, response.status);
282
329
  }
283
330
  }
284
331
  try {
285
- return await this.fetchRaw(endpoint, options);
332
+ return await this.fetchRaw(endpoint, options, allowedErrorStatuses);
286
333
  } catch (retryError) {
287
334
  this.orgToken = void 0;
335
+ this.orgTokenOrgUuid = void 0;
288
336
  throw retryError;
289
337
  }
290
338
  }
291
339
  if (response.status === 401) {
292
340
  const orgAuthInfo = parseOrgAuthChallenge(response.headers.get("WWW-Authenticate"));
341
+ if (orgAuthInfo && this.orgToken && this.orgTokenOrgUuid && this.orgTokenOrgUuid !== orgAuthInfo.orgUuid) {
342
+ this.orgToken = void 0;
343
+ this.orgTokenOrgUuid = void 0;
344
+ }
293
345
  if (orgAuthInfo && !this.orgToken) {
294
346
  const requestCookieName = orgAuthInfo.cookieName.replace(
295
- "orgToken",
347
+ /^orgToken/,
296
348
  "requestOrgToken"
297
349
  );
298
350
  const cachedOrgToken = getCookieValue(requestCookieName);
299
351
  if (cachedOrgToken) {
300
352
  this.orgToken = cachedOrgToken;
353
+ this.orgTokenOrgUuid = orgAuthInfo.orgUuid;
301
354
  try {
302
- return await this.fetchRaw(endpoint, options);
355
+ return await this.fetchRaw(endpoint, options, allowedErrorStatuses);
303
356
  } catch (retryError) {
304
357
  this.orgToken = void 0;
358
+ this.orgTokenOrgUuid = void 0;
305
359
  throw retryError;
306
360
  }
307
361
  }
308
362
  if (this.orgAuthHandler) {
309
- await this.orgAuthHandler(orgAuthInfo);
310
- throw new ApiError("Organization authentication required", 401);
363
+ if (!this.orgAuthInProgress) {
364
+ const handler = this.orgAuthHandler;
365
+ this.orgAuthInProgress = (async () => {
366
+ try {
367
+ await handler(orgAuthInfo);
368
+ } finally {
369
+ this.orgAuthInProgress = null;
370
+ }
371
+ })();
372
+ }
373
+ await this.orgAuthInProgress;
374
+ const postHandlerToken = getCookieValue(requestCookieName) ?? this.orgToken;
375
+ if (!postHandlerToken) {
376
+ throw new ApiError(
377
+ "Organization authentication did not issue a token",
378
+ 401
379
+ );
380
+ }
381
+ this.orgToken = postHandlerToken;
382
+ this.orgTokenOrgUuid = orgAuthInfo.orgUuid;
383
+ try {
384
+ return await this.fetchRaw(endpoint, options, allowedErrorStatuses);
385
+ } catch (retryError) {
386
+ this.orgToken = void 0;
387
+ this.orgTokenOrgUuid = void 0;
388
+ throw retryError;
389
+ }
311
390
  }
312
391
  }
313
392
  }
393
+ if (allowedErrorStatuses.includes(response.status)) {
394
+ return response;
395
+ }
314
396
  const errorText = await response.text().catch(() => "");
315
397
  throw new ApiError(errorText || response.statusText, response.status);
316
398
  }
@@ -380,7 +462,7 @@ var AbilitiesApi = class extends BaseApiClient {
380
462
  }
381
463
  };
382
464
 
383
- // src/api/accessGrants.ts
465
+ // src/api/access-grants.ts
384
466
  var AccessGrantsApi = class extends BaseApiClient {
385
467
  /** List access grants received by the current member. */
386
468
  async getMyReceivedGrants(wid, params) {
@@ -451,39 +533,6 @@ var AccessGrantsApi = class extends BaseApiClient {
451
533
  }
452
534
  };
453
535
 
454
- // src/api/agent-jobs.ts
455
- var AgentJobsApi = class extends BaseApiClient {
456
- async listAgentJobs(wid, params) {
457
- const searchParams = new URLSearchParams();
458
- if (params?.jobType) searchParams.set("jobType", params.jobType);
459
- if (params?.status) searchParams.set("status", params.status);
460
- if (params?.chatId) searchParams.set("chatId", String(params.chatId));
461
- const qs = searchParams.toString();
462
- return this.fetch(`w/${wid}/agent-jobs${qs ? `?${qs}` : ""}`);
463
- }
464
- async getAgentJob(wid, jobId) {
465
- return this.fetch(`w/${wid}/agent-jobs/${jobId}`);
466
- }
467
- async createAgentJob(wid, data) {
468
- return this.fetch(`w/${wid}/agent-jobs`, {
469
- method: "POST",
470
- body: JSON.stringify(data)
471
- });
472
- }
473
- async updateAgentJob(wid, jobId, data) {
474
- return this.fetch(`w/${wid}/agent-jobs/${jobId}`, {
475
- method: "PUT",
476
- body: JSON.stringify(data)
477
- });
478
- }
479
- async deleteAgentJob(wid, jobId) {
480
- await this.fetchRaw(`w/${wid}/agent-jobs/${jobId}`, { method: "DELETE" });
481
- }
482
- async getAgentJobRuns(wid, jobId) {
483
- return this.fetch(`w/${wid}/agent-jobs/${jobId}/runs`);
484
- }
485
- };
486
-
487
536
  // src/api/agent-tasks.ts
488
537
  var AgentTasksApi = class extends BaseApiClient {
489
538
  async getAgentTasks(wid, params) {
@@ -570,7 +619,7 @@ var AgentsApi = class extends BaseApiClient {
570
619
  }
571
620
  };
572
621
 
573
- // src/api/aiModels.ts
622
+ // src/api/ai-models.ts
574
623
  var AIModelsApi = class extends BaseApiClient {
575
624
  /**
576
625
  * Get available chat AI models
@@ -646,7 +695,7 @@ var AIModelsApi = class extends BaseApiClient {
646
695
  }
647
696
  };
648
697
 
649
- // src/api/apiKeys.ts
698
+ // src/api/api-keys.ts
650
699
  var ApiKeysApi = class extends BaseApiClient {
651
700
  // Workspace-specific API key methods
652
701
  /** List all API keys for a workspace. */
@@ -760,7 +809,8 @@ var AssignmentsApi = class extends BaseApiClient {
760
809
  if (options.sortOrder) params.append("sortOrder", options.sortOrder);
761
810
  if (options.mine) params.append("mine", options.mine.toString());
762
811
  if (options.taskId) params.append("taskId", options.taskId.toString());
763
- if (options.memberId) params.append("memberId", options.memberId.toString());
812
+ if (options.memberId !== void 0)
813
+ params.append("memberId", options.memberId.toString());
764
814
  if (options.status) params.append("status", options.status);
765
815
  return this.fetch(
766
816
  `w/${wid}/assignments${params.toString() ? `?${params.toString()}` : ""}`
@@ -993,6 +1043,13 @@ var AuthApi = class extends BaseApiClient {
993
1043
  body: JSON.stringify({ token })
994
1044
  });
995
1045
  }
1046
+ /** Exchange a global Account login for an opaque org-scoped session handle. */
1047
+ async exchangeSession(request) {
1048
+ return this.fetch("auth/session-exchange", {
1049
+ method: "POST",
1050
+ body: JSON.stringify(request)
1051
+ });
1052
+ }
996
1053
  /** Get the organization and workspace mapping for a custom domain. */
997
1054
  async getDomainMapping(customDomain) {
998
1055
  return this.fetch(`s/mapping/${customDomain}`);
@@ -1559,6 +1616,8 @@ var ChatsApi = class extends BaseApiClient {
1559
1616
  if (options.filters && options.filters.length > 0) {
1560
1617
  params.append("filters", JSON.stringify(options.filters));
1561
1618
  }
1619
+ if (options.createdAfter) params.append("createdAfter", options.createdAfter);
1620
+ if (options.createdBefore) params.append("createdBefore", options.createdBefore);
1562
1621
  return params;
1563
1622
  }
1564
1623
  /** List chats with optional filtering, sorting, and pagination. */
@@ -1828,6 +1887,10 @@ var ChatsApi = class extends BaseApiClient {
1828
1887
  method: "DELETE"
1829
1888
  });
1830
1889
  }
1890
+ /** Get the count of chats matching a saved filter. */
1891
+ async getChatFilterCount(wid, filterId) {
1892
+ return this.fetch(`w/${wid}/chat-filters/${filterId}/count`);
1893
+ }
1831
1894
  /** Get phone calls associated with a chat. */
1832
1895
  async getChatPhoneCalls(wid, chatId) {
1833
1896
  return this.fetch(`w/${wid}/chats/${chatId}/phone-calls`);
@@ -1898,7 +1961,7 @@ var ConfluenceApi = class extends BaseApiClient {
1898
1961
  }
1899
1962
  };
1900
1963
 
1901
- // src/api/customToolkits.ts
1964
+ // src/api/custom-toolkits.ts
1902
1965
  var CustomToolkitsApi = class extends BaseApiClient {
1903
1966
  /**
1904
1967
  * List all custom toolkits in a workspace
@@ -1985,7 +2048,7 @@ var CustomToolkitsApi = class extends BaseApiClient {
1985
2048
  }
1986
2049
  };
1987
2050
 
1988
- // src/api/dataTypes.ts
2051
+ // src/api/data-types.ts
1989
2052
  var DataTypesApi = class extends BaseApiClient {
1990
2053
  /** List all data types for a workspace, optionally filtering by archived status. */
1991
2054
  async getDataTypes(wid, options) {
@@ -2046,7 +2109,7 @@ var DataTypesApi = class extends BaseApiClient {
2046
2109
  /** List data records for a data type with optional filtering and pagination. */
2047
2110
  async getDataRecords(wid, dataTypeId, options) {
2048
2111
  const params = new URLSearchParams();
2049
- if (options?.memberId) params.append("member_id", options.memberId.toString());
2112
+ if (options?.memberId !== void 0) params.append("member_id", options.memberId.toString());
2050
2113
  if (options?.search) params.append("search", options.search);
2051
2114
  if (options?.searchField) params.append("search_field", options.searchField);
2052
2115
  if (options?.page) params.append("page", options.page.toString());
@@ -2091,7 +2154,9 @@ var DataTypesApi = class extends BaseApiClient {
2091
2154
  method: "POST",
2092
2155
  body: JSON.stringify({
2093
2156
  externalId,
2094
- fieldValues: data.fieldValues
2157
+ fieldValues: data.fieldValues,
2158
+ memberId: data.memberId,
2159
+ memberExternalId: data.memberExternalId
2095
2160
  })
2096
2161
  });
2097
2162
  }
@@ -2833,6 +2898,40 @@ var HealthieApi = class extends BaseApiClient {
2833
2898
  method: "DELETE"
2834
2899
  });
2835
2900
  }
2901
+ async listHealthieAppointmentTypes(wid, providerId) {
2902
+ const query = new URLSearchParams();
2903
+ if (providerId) query.set("provider_id", providerId);
2904
+ const qs = query.toString() ? `?${query.toString()}` : "";
2905
+ return this.fetch(
2906
+ `w/${wid}/app-connections/healthie/appointment-types${qs}`
2907
+ );
2908
+ }
2909
+ async listHealthiePatients(wid, keywords) {
2910
+ const query = new URLSearchParams();
2911
+ if (keywords?.trim()) query.set("keywords", keywords.trim());
2912
+ const qs = query.toString() ? `?${query.toString()}` : "";
2913
+ return this.fetch(
2914
+ `w/${wid}/app-connections/healthie/patients${qs}`
2915
+ );
2916
+ }
2917
+ async getHealthieAvailableSlots(wid, request) {
2918
+ return this.fetch(
2919
+ `w/${wid}/app-connections/healthie/scheduling/available-slots`,
2920
+ {
2921
+ method: "POST",
2922
+ body: JSON.stringify(request)
2923
+ }
2924
+ );
2925
+ }
2926
+ async bookHealthieAppointment(wid, request) {
2927
+ return this.fetch(
2928
+ `w/${wid}/app-connections/healthie/scheduling/book`,
2929
+ {
2930
+ method: "POST",
2931
+ body: JSON.stringify(request)
2932
+ }
2933
+ );
2934
+ }
2836
2935
  };
2837
2936
 
2838
2937
  // src/api/files.ts
@@ -3100,10 +3199,17 @@ var InboxesApi = class extends BaseApiClient {
3100
3199
  method: "POST"
3101
3200
  });
3102
3201
  }
3202
+ /** Reply to an email from the inbox. */
3203
+ async replyToEmail(wid, inboxId, emailId, content) {
3204
+ return this.fetch(`w/${wid}/inboxes/${inboxId}/emails/${emailId}/reply`, {
3205
+ method: "POST",
3206
+ body: JSON.stringify({ content })
3207
+ });
3208
+ }
3103
3209
  /** Convert an email to text, markdown, or PDF format. */
3104
- async convertEmail(wid, emailId, format = "pdf") {
3210
+ async convertEmail(wid, inboxId, emailId, format = "pdf") {
3105
3211
  return this.fetch(
3106
- `w/${wid}/inboxes/emails/${emailId}/convert?format=${format}`,
3212
+ `w/${wid}/inboxes/${inboxId}/emails/${emailId}/convert?format=${format}`,
3107
3213
  {
3108
3214
  method: "POST"
3109
3215
  }
@@ -3155,6 +3261,16 @@ var InquiriesApi = class extends BaseApiClient {
3155
3261
  body: JSON.stringify(data)
3156
3262
  });
3157
3263
  }
3264
+ /**
3265
+ * Enrich an existing inquiry with additional fields (public endpoint).
3266
+ * Uses the inquiry UUID (from cookie) to identify the inquiry.
3267
+ */
3268
+ async enrichInquiry(inquiryUuid, data) {
3269
+ return this.fetch(`inquiries/enrich/${inquiryUuid}`, {
3270
+ method: "PATCH",
3271
+ body: JSON.stringify(data)
3272
+ });
3273
+ }
3158
3274
  /**
3159
3275
  * List all inquiries (superuser only)
3160
3276
  */
@@ -3212,7 +3328,7 @@ var InquiriesApi = class extends BaseApiClient {
3212
3328
  }
3213
3329
  };
3214
3330
 
3215
- // src/api/appConnections.ts
3331
+ // src/api/app-connections.ts
3216
3332
  var AppConnectionsApi = class extends BaseApiClient {
3217
3333
  /**
3218
3334
  * List all app connection definitions the workspace can access.
@@ -3268,9 +3384,22 @@ var AppConnectionsApi = class extends BaseApiClient {
3268
3384
  { method: "DELETE" }
3269
3385
  );
3270
3386
  }
3387
+ /**
3388
+ * List distinct ``MemberField.key`` values scoped to a connection
3389
+ * (GRA-2920). Drives the Monday custom-match "Custom fields" picker.
3390
+ *
3391
+ * Returns only the set of keys already in use on this connection;
3392
+ * values are intentionally never exposed. Operators can also add a
3393
+ * new key via the UI's "Add custom field key" free-text action.
3394
+ */
3395
+ async listConnectionMemberFieldKeys(wid, connectionId) {
3396
+ return this.fetch(
3397
+ `w/${wid}/app-connections/${connectionId}/member-field-keys`
3398
+ );
3399
+ }
3271
3400
  };
3272
3401
 
3273
- // src/api/mcpServers.ts
3402
+ // src/api/mcp-servers.ts
3274
3403
  var McpServersApi = class extends BaseApiClient {
3275
3404
  /**
3276
3405
  * List all MCP servers in a workspace
@@ -3807,18 +3936,26 @@ var MembersApi = class extends BaseApiClient {
3807
3936
  // ===== Member Memories =====
3808
3937
  async getMemberMemories(wid, memberId, options) {
3809
3938
  const params = new URLSearchParams();
3810
- if (options?.strategy) params.append("strategy", options.strategy);
3939
+ if (options?.type) params.append("type", options.type);
3811
3940
  if (options?.query) params.append("query", options.query);
3812
3941
  if (options?.limit) params.append("limit", options.limit.toString());
3813
- if (options?.offset) params.append("offset", options.offset.toString());
3814
3942
  const qs = params.toString();
3815
3943
  return this.fetch(
3816
3944
  `w/${wid}/members/${memberId}/memories${qs ? `?${qs}` : ""}`
3817
3945
  );
3818
3946
  }
3819
- async deleteMemberMemory(wid, memberId, memoryKey, strategy) {
3947
+ async createMemberMemory(wid, memberId, body) {
3948
+ return this.fetch(`w/${wid}/members/${memberId}/memories`, {
3949
+ method: "POST",
3950
+ body: JSON.stringify(body)
3951
+ });
3952
+ }
3953
+ async deleteMemberMemory(wid, memberId, memoryKey, options) {
3954
+ const params = new URLSearchParams();
3955
+ if (options?.type) params.append("type", options.type);
3956
+ const qs = params.toString();
3820
3957
  await this.fetch(
3821
- `w/${wid}/members/${memberId}/memories/${encodeURIComponent(memoryKey)}?strategy=${encodeURIComponent(strategy)}`,
3958
+ `w/${wid}/members/${memberId}/memories/${encodeURIComponent(memoryKey)}${qs ? `?${qs}` : ""}`,
3822
3959
  { method: "DELETE" }
3823
3960
  );
3824
3961
  }
@@ -3882,33 +4019,6 @@ var MondayIntegrationApi = class extends BaseApiClient {
3882
4019
  );
3883
4020
  return { columns };
3884
4021
  }
3885
- /**
3886
- * Create a webhook in Monday.com
3887
- */
3888
- async createWebhook(wid, params) {
3889
- return this.fetch(`w/${wid}/app-connections/monday/webhooks`, {
3890
- method: "POST",
3891
- body: JSON.stringify(params)
3892
- });
3893
- }
3894
- /**
3895
- * Delete a webhook from Monday.com
3896
- */
3897
- async deleteWebhook(wid, webhookId) {
3898
- return this.fetch(
3899
- `w/${wid}/app-connections/monday/webhooks/${webhookId}`,
3900
- { method: "DELETE" }
3901
- );
3902
- }
3903
- /**
3904
- * Get details of a specific webhook from Monday.com
3905
- * Returns 404 if the webhook no longer exists
3906
- */
3907
- async getWebhook(wid, boardId, webhookId) {
3908
- return this.fetch(
3909
- `w/${wid}/app-connections/monday/boards/${boardId}/webhooks/${webhookId}`
3910
- );
3911
- }
3912
4022
  /**
3913
4023
  * Get groups for a specific Monday.com board
3914
4024
  */
@@ -4043,7 +4153,7 @@ var MondayIntegrationApi = class extends BaseApiClient {
4043
4153
  }
4044
4154
  };
4045
4155
 
4046
- // src/api/notificationRules.ts
4156
+ // src/api/notification-rules.ts
4047
4157
  var NotificationRulesApi = class extends BaseApiClient {
4048
4158
  /** List all notification rules in a workspace. */
4049
4159
  async getNotificationRules(wid) {
@@ -4182,15 +4292,6 @@ var OrgApi = class extends BaseApiClient {
4182
4292
  if (options?.pageSize) params.append("pageSize", options.pageSize.toString());
4183
4293
  return this.fetch(`o/${orgIdOrUuid}/members?${params.toString()}`);
4184
4294
  }
4185
- /**
4186
- * Add an account to an organization.
4187
- */
4188
- async addAccountToOrganization(orgIdOrUuid, data) {
4189
- return this.fetch(`o/${orgIdOrUuid}/members`, {
4190
- method: "POST",
4191
- body: JSON.stringify(data)
4192
- });
4193
- }
4194
4295
  /**
4195
4296
  * Check if an account is already a member of an organization.
4196
4297
  */
@@ -4382,6 +4483,125 @@ var OrgApi = class extends BaseApiClient {
4382
4483
  });
4383
4484
  }
4384
4485
  // ============================================================================
4486
+ // Organization Domains API
4487
+ // ============================================================================
4488
+ /**
4489
+ * List domains registered to an organization.
4490
+ */
4491
+ async listOrgDomains(orgIdOrUuid) {
4492
+ return this.fetch(`o/${orgIdOrUuid}/domains`);
4493
+ }
4494
+ /**
4495
+ * Register a domain with an organization and return the TXT ownership proof.
4496
+ */
4497
+ async registerOrgDomain(orgIdOrUuid, domain) {
4498
+ return this.fetch(`o/${orgIdOrUuid}/domains`, {
4499
+ method: "POST",
4500
+ body: JSON.stringify({ domain })
4501
+ });
4502
+ }
4503
+ /**
4504
+ * Get a registered organization domain by UUID.
4505
+ */
4506
+ async getOrgDomain(orgIdOrUuid, domainUuid) {
4507
+ return this.fetch(`o/${orgIdOrUuid}/domains/${domainUuid}`);
4508
+ }
4509
+ /**
4510
+ * Verify domain ownership by checking the _gravity-verify TXT record.
4511
+ */
4512
+ async verifyOrgDomainOwnership(orgIdOrUuid, domainUuid) {
4513
+ return this.fetch(
4514
+ `o/${orgIdOrUuid}/domains/${domainUuid}/verify-ownership`,
4515
+ { method: "POST" }
4516
+ );
4517
+ }
4518
+ /**
4519
+ * Delete a registered organization domain.
4520
+ */
4521
+ async deleteOrgDomain(orgIdOrUuid, domainUuid) {
4522
+ await this.fetch(`o/${orgIdOrUuid}/domains/${domainUuid}`, { method: "DELETE" });
4523
+ }
4524
+ /**
4525
+ * Enable email DNS provisioning for a verified org domain.
4526
+ */
4527
+ async enableOrgDomainEmail(orgIdOrUuid, domainUuid) {
4528
+ return this.fetch(`o/${orgIdOrUuid}/domains/${domainUuid}/email`, {
4529
+ method: "POST"
4530
+ });
4531
+ }
4532
+ /**
4533
+ * Get email DNS provisioning and verification status for an org domain.
4534
+ */
4535
+ async getOrgDomainEmail(orgIdOrUuid, domainUuid) {
4536
+ return this.fetch(
4537
+ `o/${orgIdOrUuid}/domains/${domainUuid}/email`
4538
+ );
4539
+ }
4540
+ /**
4541
+ * Verify email DNS records, including MX.
4542
+ */
4543
+ async verifyOrgDomainEmail(orgIdOrUuid, domainUuid) {
4544
+ return this.fetch(
4545
+ `o/${orgIdOrUuid}/domains/${domainUuid}/email/verify`,
4546
+ { method: "POST" }
4547
+ );
4548
+ }
4549
+ /**
4550
+ * Disable email support for an org domain.
4551
+ */
4552
+ async disableOrgDomainEmail(orgIdOrUuid, domainUuid, confirm = false) {
4553
+ const query = `?confirm=${confirm ? "true" : "false"}`;
4554
+ const response = await this.fetchRaw(
4555
+ `o/${orgIdOrUuid}/domains/${domainUuid}/email${query}`,
4556
+ { method: "DELETE" },
4557
+ [409]
4558
+ );
4559
+ if (response.status === 409) {
4560
+ const impact = await response.json();
4561
+ return { ok: false, impact };
4562
+ }
4563
+ return { ok: true };
4564
+ }
4565
+ /**
4566
+ * Enable custom site routing for a verified org domain.
4567
+ */
4568
+ async enableOrgDomainSite(orgIdOrUuid, domainUuid) {
4569
+ return this.fetch(`o/${orgIdOrUuid}/domains/${domainUuid}/site`, {
4570
+ method: "POST"
4571
+ });
4572
+ }
4573
+ /**
4574
+ * Get site CNAME provisioning and verification status for an org domain.
4575
+ */
4576
+ async getOrgDomainSite(orgIdOrUuid, domainUuid) {
4577
+ return this.fetch(`o/${orgIdOrUuid}/domains/${domainUuid}/site`);
4578
+ }
4579
+ /**
4580
+ * Verify the site CNAME points at the Gravity Rail sites domain.
4581
+ */
4582
+ async verifyOrgDomainSite(orgIdOrUuid, domainUuid) {
4583
+ return this.fetch(
4584
+ `o/${orgIdOrUuid}/domains/${domainUuid}/site/verify`,
4585
+ { method: "POST" }
4586
+ );
4587
+ }
4588
+ /**
4589
+ * Disable custom site routing for an org domain.
4590
+ */
4591
+ async disableOrgDomainSite(orgIdOrUuid, domainUuid, confirm = false) {
4592
+ const query = `?confirm=${confirm ? "true" : "false"}`;
4593
+ const response = await this.fetchRaw(
4594
+ `o/${orgIdOrUuid}/domains/${domainUuid}/site${query}`,
4595
+ { method: "DELETE" },
4596
+ [409]
4597
+ );
4598
+ if (response.status === 409) {
4599
+ const impact = await response.json();
4600
+ return { ok: false, impact };
4601
+ }
4602
+ return { ok: true };
4603
+ }
4604
+ // ============================================================================
4385
4605
  // Organization A2P Brand Registration API
4386
4606
  // ============================================================================
4387
4607
  /**
@@ -4411,6 +4631,53 @@ var OrgApi = class extends BaseApiClient {
4411
4631
  body: JSON.stringify({ sampleMessages })
4412
4632
  });
4413
4633
  }
4634
+ // ============================================================================
4635
+ // Organization Business Profile API (Twilio Trust Hub Secondary CP)
4636
+ // ============================================================================
4637
+ /**
4638
+ * Live fetch of the org's Twilio Customer Profile + related entities.
4639
+ *
4640
+ * Response carries both the lifecycle `status` and the compliance
4641
+ * `evaluationStatus`. Twilio models lifecycle and evaluation as two
4642
+ * separate enums on two separate resources, so the Submit-button gate
4643
+ * is `evaluationStatus === 'compliant'` — never `status === 'compliant'`,
4644
+ * which is impossible (lifecycle status is one of `draft` /
4645
+ * `pending-review` / `in-review` / `twilio-approved` / `twilio-rejected`).
4646
+ */
4647
+ async getBusinessProfile(orgUuid) {
4648
+ return this.fetch(`o/${orgUuid}/business-profile`);
4649
+ }
4650
+ /**
4651
+ * Upsert the org's business profile. Idempotent via cached SIDs.
4652
+ * Returns a fresh BusinessProfileResponse on success — including the
4653
+ * compliance evaluation result so the frontend can immediately enable
4654
+ * Submit without a second round-trip.
4655
+ */
4656
+ async updateBusinessProfile(orgUuid, data) {
4657
+ return this.fetch(`o/${orgUuid}/business-profile`, {
4658
+ method: "PUT",
4659
+ body: JSON.stringify(data)
4660
+ });
4661
+ }
4662
+ /**
4663
+ * Submit the business profile to Twilio for review. Server re-evaluates
4664
+ * compliance live and returns 412 if the profile is not currently
4665
+ * `compliant`; returns 409 if a review is already in flight.
4666
+ */
4667
+ async submitBusinessProfile(orgUuid) {
4668
+ return this.fetch(`o/${orgUuid}/business-profile/submit`, {
4669
+ method: "POST"
4670
+ });
4671
+ }
4672
+ /**
4673
+ * Cancel an in-flight Twilio review. Resets the cached profile state
4674
+ * to `draft` so the user can edit and resubmit.
4675
+ */
4676
+ async cancelBusinessProfile(orgUuid) {
4677
+ return this.fetch(`o/${orgUuid}/business-profile/cancel`, {
4678
+ method: "POST"
4679
+ });
4680
+ }
4414
4681
  /**
4415
4682
  * List available member roles for a workspace in the organization.
4416
4683
  */
@@ -4506,7 +4773,7 @@ var OAuthApi = class extends BaseApiClient {
4506
4773
  }
4507
4774
  };
4508
4775
 
4509
- // src/api/phoneNumbers.ts
4776
+ // src/api/phone-numbers.ts
4510
4777
  var PhoneNumbersApi = class extends BaseApiClient {
4511
4778
  /** List phone numbers in a workspace, optionally including archived. */
4512
4779
  async getPhoneNumbers(wid, options) {
@@ -4762,15 +5029,15 @@ var PronunciationsApi = class extends BaseApiClient {
4762
5029
  // src/api/prompts.ts
4763
5030
  var PromptsApi = class extends BaseApiClient {
4764
5031
  /** Inspect the full composed prompt for a task (static) or chat (live). */
4765
- async inspectPrompt(wid, taskId, options = {}) {
5032
+ async inspectPrompt(wid, options) {
4766
5033
  const params = new URLSearchParams();
4767
- if (options.chatId) {
5034
+ if (options.chatId !== void 0) {
4768
5035
  params.append("chat_id", options.chatId.toString());
4769
- } else {
4770
- params.append("task_id", taskId.toString());
5036
+ } else if (options.taskId !== void 0) {
5037
+ params.append("task_id", options.taskId.toString());
4771
5038
  }
4772
5039
  if (options.channel) params.append("channel", options.channel);
4773
- if (options.turn) params.append("turn", options.turn.toString());
5040
+ if (options.turn !== void 0) params.append("turn", options.turn.toString());
4774
5041
  return this.fetch(`w/${wid}/prompts/inspect?${params}`);
4775
5042
  }
4776
5043
  };
@@ -5123,7 +5390,8 @@ var ConnectionSyncApi = class extends BaseApiClient {
5123
5390
  dryRun: options?.dryRun ?? false,
5124
5391
  resetCheckpoints: options?.resetCheckpoints ?? false,
5125
5392
  ...options?.entityType ? { entityType: options.entityType } : {},
5126
- ...options?.boardId ? { boardId: options.boardId } : {}
5393
+ ...options?.boardId ? { boardId: options.boardId } : {},
5394
+ ...typeof options?.recordLimit === "number" ? { recordLimit: options.recordLimit } : {}
5127
5395
  })
5128
5396
  });
5129
5397
  }
@@ -5142,6 +5410,19 @@ var ConnectionSyncApi = class extends BaseApiClient {
5142
5410
  `w/${wid}/app-connections/${connectionId}/sync/runs/${runId}/items?limit=${limit}`
5143
5411
  );
5144
5412
  }
5413
+ /**
5414
+ * Clear a manual-unlink exclusion for a member on a connection so
5415
+ * subsequent outbound syncs stop silently skipping them. Idempotent:
5416
+ * returns ``cleared=false`` when no matching exclusion exists.
5417
+ * ``boardId`` is only meaningful for multi-scope connectors (Monday).
5418
+ */
5419
+ async clearConnectionMemberExclusion(wid, connectionId, memberId, options) {
5420
+ const query = options?.boardId ? `?board_id=${encodeURIComponent(options.boardId)}` : "";
5421
+ return this.fetch(
5422
+ `w/${wid}/app-connections/${connectionId}/member-exclusions/${memberId}${query}`,
5423
+ { method: "DELETE" }
5424
+ );
5425
+ }
5145
5426
  };
5146
5427
 
5147
5428
  // src/api/hubspot.ts
@@ -5542,6 +5823,98 @@ var SubscriptionsApi = class extends BaseApiClient {
5542
5823
  }
5543
5824
  };
5544
5825
 
5826
+ // src/api/support-requests.ts
5827
+ function supportRequestParams(params) {
5828
+ const searchParams = new URLSearchParams();
5829
+ if (params?.page) searchParams.append("page", params.page.toString());
5830
+ if (params?.pageSize) searchParams.append("pageSize", params.pageSize.toString());
5831
+ if (params?.status) searchParams.append("status", params.status);
5832
+ if (params?.supportRequestType) {
5833
+ searchParams.append("supportRequestType", params.supportRequestType);
5834
+ }
5835
+ if (params?.severity) searchParams.append("severity", params.severity);
5836
+ if (params?.source) searchParams.append("source", params.source);
5837
+ if (params?.organizationId !== void 0) {
5838
+ searchParams.append("organizationId", params.organizationId.toString());
5839
+ }
5840
+ if (params?.workspaceId !== void 0) {
5841
+ searchParams.append("workspaceId", params.workspaceId.toString());
5842
+ }
5843
+ if (params?.linearLinked !== void 0) {
5844
+ searchParams.append("linearLinked", params.linearLinked.toString());
5845
+ }
5846
+ const query = searchParams.toString();
5847
+ return query ? `?${query}` : "";
5848
+ }
5849
+ var SupportRequestsApi = class extends BaseApiClient {
5850
+ async listSupportRequests(params) {
5851
+ return this.fetch(
5852
+ `support-requests${supportRequestParams(params)}`
5853
+ );
5854
+ }
5855
+ async getSupportRequest(uuid) {
5856
+ return this.fetch(`support-requests/${uuid}`);
5857
+ }
5858
+ async createSupportRequest(data) {
5859
+ return this.fetch("support-requests", {
5860
+ method: "POST",
5861
+ body: JSON.stringify(data)
5862
+ });
5863
+ }
5864
+ async commentOnSupportRequest(uuid, data) {
5865
+ return this.fetch(`support-requests/${uuid}/comments`, {
5866
+ method: "POST",
5867
+ body: JSON.stringify(data)
5868
+ });
5869
+ }
5870
+ async listOrgSupportRequests(orgUuid, params) {
5871
+ return this.fetch(
5872
+ `o/${orgUuid}/support-requests${supportRequestParams(params)}`
5873
+ );
5874
+ }
5875
+ async getOrgSupportRequest(orgUuid, uuid) {
5876
+ return this.fetch(`o/${orgUuid}/support-requests/${uuid}`);
5877
+ }
5878
+ async createOrgSupportRequest(orgUuid, data) {
5879
+ return this.fetch(`o/${orgUuid}/support-requests`, {
5880
+ method: "POST",
5881
+ body: JSON.stringify(data)
5882
+ });
5883
+ }
5884
+ async commentOnOrgSupportRequest(orgUuid, uuid, data) {
5885
+ return this.fetch(`o/${orgUuid}/support-requests/${uuid}/comments`, {
5886
+ method: "POST",
5887
+ body: JSON.stringify(data)
5888
+ });
5889
+ }
5890
+ async listWorkspaceSupportRequests(workspaceUuid, params) {
5891
+ return this.fetch(
5892
+ `w/${workspaceUuid}/support-requests${supportRequestParams(params)}`
5893
+ );
5894
+ }
5895
+ async getWorkspaceSupportRequest(workspaceUuid, uuid) {
5896
+ return this.fetch(`w/${workspaceUuid}/support-requests/${uuid}`);
5897
+ }
5898
+ async createWorkspaceSupportRequest(workspaceUuid, data) {
5899
+ return this.fetch(`w/${workspaceUuid}/support-requests`, {
5900
+ method: "POST",
5901
+ body: JSON.stringify(data)
5902
+ });
5903
+ }
5904
+ async commentOnWorkspaceSupportRequest(workspaceUuid, uuid, data) {
5905
+ return this.fetch(`w/${workspaceUuid}/support-requests/${uuid}/comments`, {
5906
+ method: "POST",
5907
+ body: JSON.stringify(data)
5908
+ });
5909
+ }
5910
+ async closeWorkspaceSupportRequest(workspaceUuid, uuid, data = {}) {
5911
+ return this.fetch(`w/${workspaceUuid}/support-requests/${uuid}/close`, {
5912
+ method: "POST",
5913
+ body: JSON.stringify(data)
5914
+ });
5915
+ }
5916
+ };
5917
+
5545
5918
  // src/api/customers.ts
5546
5919
  var CustomersApi = class extends BaseApiClient {
5547
5920
  async getMyCustomers() {
@@ -5556,8 +5929,8 @@ var CustomersApi = class extends BaseApiClient {
5556
5929
  async getMyCustomerSubscriptions(uuid, opts) {
5557
5930
  const params = new URLSearchParams();
5558
5931
  if (opts?.status) params.set("status", opts.status);
5559
- if (opts?.page) params.set("page", String(opts.page));
5560
- if (opts?.pageSize) params.set("page_size", String(opts.pageSize));
5932
+ if (opts?.page !== void 0) params.set("page", String(opts.page));
5933
+ if (opts?.pageSize !== void 0) params.set("page_size", String(opts.pageSize));
5561
5934
  const qs = params.toString();
5562
5935
  return this.fetch(`customers/${uuid}/subscriptions${qs ? "?" + qs : ""}`);
5563
5936
  }
@@ -5594,6 +5967,16 @@ var CustomersApi = class extends BaseApiClient {
5594
5967
  method: "PUT"
5595
5968
  });
5596
5969
  }
5970
+ async getMyCustomerCreditGrants(uuid, opts) {
5971
+ const params = new URLSearchParams();
5972
+ if (opts?.subscriptionId !== void 0) {
5973
+ params.set("subscription_id", String(opts.subscriptionId));
5974
+ }
5975
+ if (opts?.page !== void 0) params.set("page", String(opts.page));
5976
+ if (opts?.pageSize !== void 0) params.set("page_size", String(opts.pageSize));
5977
+ const qs = params.toString();
5978
+ return this.fetch(`customers/${uuid}/credit-grants${qs ? "?" + qs : ""}`);
5979
+ }
5597
5980
  };
5598
5981
 
5599
5982
  // src/api/resellers.ts
@@ -5828,6 +6211,14 @@ var JourneysApi = class extends BaseApiClient {
5828
6211
  method: "DELETE"
5829
6212
  });
5830
6213
  }
6214
+ /**
6215
+ * Get Journey Health diagnostics — authoring issues and runtime
6216
+ * failures for a single journey. PHI-safe: response carries IDs,
6217
+ * counts, error_type strings, and timestamps only.
6218
+ */
6219
+ async getJourneyHealth(wid, journeyId) {
6220
+ return this.fetch(`w/${wid}/journeys/${journeyId}/health`);
6221
+ }
5831
6222
  /** Create a step within a journey. */
5832
6223
  async createStep(wid, journeyId, data) {
5833
6224
  return this.fetch(`w/${wid}/journeys/${journeyId}/steps`, {
@@ -5895,6 +6286,13 @@ var JourneysApi = class extends BaseApiClient {
5895
6286
  if (params?.page) qs.set("page", String(params.page));
5896
6287
  if (params?.pageSize) qs.set("pageSize", String(params.pageSize));
5897
6288
  if (params?.search) qs.set("search", params.search);
6289
+ if (params?.status) qs.set("status", params.status);
6290
+ if (params?.enrolledAfter) qs.set("enrolledAfter", params.enrolledAfter);
6291
+ if (params?.enrolledBefore) qs.set("enrolledBefore", params.enrolledBefore);
6292
+ if (params?.currentTaskId !== void 0)
6293
+ qs.set("currentTaskId", String(params.currentTaskId));
6294
+ if (params?.runtimeFailureEdgeId !== void 0)
6295
+ qs.set("runtimeFailureEdgeId", String(params.runtimeFailureEdgeId));
5898
6296
  const query = qs.toString();
5899
6297
  return this.fetch(
5900
6298
  `w/${wid}/journeys/${journeyId}/members${query ? `?${query}` : ""}`
@@ -5915,10 +6313,10 @@ var JourneysApi = class extends BaseApiClient {
5915
6313
  });
5916
6314
  }
5917
6315
  /** Re-enroll a canceled member back to enrolled status. */
5918
- async reenrollMember(wid, journeyId, memberId) {
6316
+ async reenrollMember(wid, journeyId, data) {
5919
6317
  return this.fetch(`w/${wid}/journeys/${journeyId}/reenroll`, {
5920
6318
  method: "POST",
5921
- body: JSON.stringify({ memberId })
6319
+ body: JSON.stringify(data)
5922
6320
  });
5923
6321
  }
5924
6322
  /** Hard-delete a canceled enrollment so the member can be re-enrolled fresh. */
@@ -5931,6 +6329,18 @@ var JourneysApi = class extends BaseApiClient {
5931
6329
  async getMemberJourneys(wid, memberId) {
5932
6330
  return this.fetch(`w/${wid}/journeys/by-member/${memberId}`);
5933
6331
  }
6332
+ /**
6333
+ * Dry-run heartbeat CEL evaluation for an enrolled member.
6334
+ *
6335
+ * Evaluates all PENDING steps exactly as the heartbeat would, but writes no
6336
+ * state changes. Returns step-by-step results for debugging stuck members.
6337
+ */
6338
+ async testRunJourney(wid, journeyId, memberId) {
6339
+ return this.fetch(
6340
+ `w/${wid}/journeys/${journeyId}/members/${memberId}/test-run`,
6341
+ { method: "POST" }
6342
+ );
6343
+ }
5934
6344
  // ===== JOURNEY NOTES =====
5935
6345
  /** List notes for a journey. */
5936
6346
  async getJourneyNotes(wid, journeyId) {
@@ -6083,6 +6493,30 @@ var WorkflowsApi = class extends BaseApiClient {
6083
6493
  `w/${wid}/workflows/${workflowId}/validate-config`
6084
6494
  );
6085
6495
  }
6496
+ /**
6497
+ * Replay automatic routing for a Chat without performing the transition.
6498
+ *
6499
+ * Operator tool: returns a PHI-safe trace describing what the
6500
+ * automatic-edge evaluator would do at the next turn. Never returns
6501
+ * raw CEL, Form values, Member values, Chat content, or raw
6502
+ * exception strings — only IDs, status labels, and the exception
6503
+ * class name when the evaluator raises.
6504
+ *
6505
+ * Requires Workflow edit permission.
6506
+ */
6507
+ async getWorkflowRouteDryRun(wid, workflowId, args) {
6508
+ const params = new URLSearchParams();
6509
+ params.set("chat_id", String(args.chatId));
6510
+ if (args.currentTaskId !== void 0) {
6511
+ params.set("current_task_id", String(args.currentTaskId));
6512
+ }
6513
+ if (args.currentAssignmentTaskId !== void 0) {
6514
+ params.set("current_assignment_task_id", String(args.currentAssignmentTaskId));
6515
+ }
6516
+ return this.fetch(
6517
+ `w/${wid}/workflows/${workflowId}/route-dry-run?${params.toString()}`
6518
+ );
6519
+ }
6086
6520
  // Workflow Contributors API
6087
6521
  /** List all contributors for a workflow. */
6088
6522
  async getWorkflowContributors(wid, workflowId) {
@@ -6232,7 +6666,7 @@ var WorkflowNotesApi = class extends BaseApiClient {
6232
6666
  }
6233
6667
  };
6234
6668
 
6235
- // src/types/coreTypes.ts
6669
+ // src/types/core-types.ts
6236
6670
  var AccessLevel2 = /* @__PURE__ */ ((AccessLevel3) => {
6237
6671
  AccessLevel3["PRIVATE"] = "private";
6238
6672
  AccessLevel3["PUBLIC"] = "public";
@@ -6346,7 +6780,14 @@ var Scope = /* @__PURE__ */ ((Scope2) => {
6346
6780
  return Scope2;
6347
6781
  })(Scope || {});
6348
6782
 
6349
- // src/types/memberTypes.ts
6783
+ // src/types/generated/member.ts
6784
+ var BulkMemberResultStatus = {
6785
+ created: "created",
6786
+ updated: "updated",
6787
+ failed: "failed"
6788
+ };
6789
+
6790
+ // src/types/member-types.ts
6350
6791
  var MemberType = /* @__PURE__ */ ((MemberType2) => {
6351
6792
  MemberType2["ANONYMOUS"] = "anonymous";
6352
6793
  MemberType2["TEST"] = "test";
@@ -6355,7 +6796,7 @@ var MemberType = /* @__PURE__ */ ((MemberType2) => {
6355
6796
  return MemberType2;
6356
6797
  })(MemberType || {});
6357
6798
 
6358
- // src/types/mcpServerTypes.ts
6799
+ // src/types/mcp-server-types.ts
6359
6800
  var McpServerState = /* @__PURE__ */ ((McpServerState2) => {
6360
6801
  McpServerState2["REGISTER"] = "register";
6361
6802
  McpServerState2["AUTHORIZE"] = "authorize";
@@ -6363,7 +6804,7 @@ var McpServerState = /* @__PURE__ */ ((McpServerState2) => {
6363
6804
  return McpServerState2;
6364
6805
  })(McpServerState || {});
6365
6806
 
6366
- // src/types/toolkitTypes.ts
6807
+ // src/types/toolkit-types.ts
6367
6808
  var ToolkitState = /* @__PURE__ */ ((ToolkitState2) => {
6368
6809
  ToolkitState2["DISABLED"] = "disabled";
6369
6810
  ToolkitState2["ENABLED"] = "enabled";
@@ -6371,7 +6812,7 @@ var ToolkitState = /* @__PURE__ */ ((ToolkitState2) => {
6371
6812
  return ToolkitState2;
6372
6813
  })(ToolkitState || {});
6373
6814
 
6374
- // src/types/eventTypes.ts
6815
+ // src/types/event-types.ts
6375
6816
  var EventRuleObjectType = /* @__PURE__ */ ((EventRuleObjectType2) => {
6376
6817
  EventRuleObjectType2["TASK"] = "task";
6377
6818
  EventRuleObjectType2["WORKSPACE"] = "workspace";
@@ -6382,7 +6823,6 @@ var EventRuleObjectType = /* @__PURE__ */ ((EventRuleObjectType2) => {
6382
6823
  EventRuleObjectType2["WORKFLOW"] = "workflow";
6383
6824
  EventRuleObjectType2["CALENDAR"] = "calendar";
6384
6825
  EventRuleObjectType2["CALENDAR_EVENT_TYPE"] = "calendar_event_type";
6385
- EventRuleObjectType2["MONDAY"] = "monday";
6386
6826
  EventRuleObjectType2["JOURNEY"] = "journey";
6387
6827
  EventRuleObjectType2["CALL"] = "call";
6388
6828
  return EventRuleObjectType2;
@@ -6404,7 +6844,8 @@ var EventRuleEventType = /* @__PURE__ */ ((EventRuleEventType2) => {
6404
6844
  EventRuleEventType2["CALENDAR_EVENT_CANCELLED"] = "calendar_event:cancelled";
6405
6845
  EventRuleEventType2["CALENDAR_EVENT_STARTING"] = "calendar_event:starting";
6406
6846
  EventRuleEventType2["CALENDAR_EVENT_ENDED"] = "calendar_event:ended";
6407
- EventRuleEventType2["MONDAY_WEBHOOK"] = "monday:webhook";
6847
+ EventRuleEventType2["CONNECTOR_EVENT"] = "connector:event";
6848
+ EventRuleEventType2["ASSIGNMENT_CONCLUDED"] = "assignment:concluded";
6408
6849
  EventRuleEventType2["JOURNEY_STEP_EXECUTE"] = "journey_step:execute";
6409
6850
  EventRuleEventType2["JOURNEY_ENROLLED"] = "journey:enrolled";
6410
6851
  EventRuleEventType2["JOURNEY_COMPLETED"] = "journey:completed";
@@ -6424,11 +6865,10 @@ var EventRuleActionType = /* @__PURE__ */ ((EventRuleActionType2) => {
6424
6865
  EventRuleActionType2["MESSAGE_VALIDATION"] = "message:validation";
6425
6866
  EventRuleActionType2["CHAT_CREATE"] = "chat:create";
6426
6867
  EventRuleActionType2["CHAT_CONTINUE"] = "chat:continue";
6868
+ EventRuleActionType2["CHAT_PAUSE"] = "chat:pause";
6427
6869
  EventRuleActionType2["CHAT_SUMMARIZE"] = "chat:summarize";
6428
6870
  EventRuleActionType2["EMAIL_SEND"] = "email:send";
6429
6871
  EventRuleActionType2["INVOKE_CUSTOM_TOOL"] = "custom_tool:invoke";
6430
- EventRuleActionType2["INVOKE_SUPERVISOR"] = "supervisor:invoke";
6431
- EventRuleActionType2["MONDAY_CREATE_ITEM"] = "monday:create_item";
6432
6872
  EventRuleActionType2["MONDAY_UPSERT_ITEM"] = "monday:upsert_item";
6433
6873
  EventRuleActionType2["MONDAY_REFRESH"] = "monday:refresh";
6434
6874
  EventRuleActionType2["ASSIGNMENT_CONCLUDE"] = "assignment:conclude";
@@ -6437,18 +6877,24 @@ var EventRuleActionType = /* @__PURE__ */ ((EventRuleActionType2) => {
6437
6877
  EventRuleActionType2["WHATSAPP_SEND"] = "whatsapp:send";
6438
6878
  EventRuleActionType2["PHONE_CALL"] = "phone:call";
6439
6879
  EventRuleActionType2["CONNECTION_SYNC"] = "connection:sync";
6880
+ EventRuleActionType2["CONNECTOR_OPERATION"] = "connector:operation";
6440
6881
  EventRuleActionType2["ECW_REFRESH_MEMBER_ENCOUNTERS"] = "ecw:refresh_member_encounters";
6882
+ EventRuleActionType2["PLAY_AUDIO"] = "audio:play";
6441
6883
  return EventRuleActionType2;
6442
6884
  })(EventRuleActionType || {});
6885
+ function eventRuleActionParams(params) {
6886
+ return params ?? {};
6887
+ }
6443
6888
  var MASKED_SECRET_SENTINEL = "__SECRET_SET__";
6444
6889
 
6445
- // src/types/billingTypes.ts
6890
+ // src/types/billing-types.ts
6446
6891
  var WorkspaceFeature = /* @__PURE__ */ ((WorkspaceFeature2) => {
6447
6892
  WorkspaceFeature2["PHONE"] = "phone";
6448
6893
  WorkspaceFeature2["EMAIL"] = "email";
6449
6894
  WorkspaceFeature2["WHATSAPP"] = "whatsapp";
6450
6895
  WorkspaceFeature2["DISCORD"] = "discord";
6451
6896
  WorkspaceFeature2["SLACK"] = "slack";
6897
+ WorkspaceFeature2["TEAMS"] = "teams";
6452
6898
  WorkspaceFeature2["SITES"] = "sites";
6453
6899
  WorkspaceFeature2["FORMS"] = "forms";
6454
6900
  WorkspaceFeature2["MAPS"] = "maps";
@@ -6530,7 +6976,7 @@ var LIMIT_ONLY_RESOURCES = /* @__PURE__ */ new Set([
6530
6976
  "org_admin" /* ORG_ADMIN */
6531
6977
  ]);
6532
6978
 
6533
- // src/types/workspaceTypes.ts
6979
+ // src/types/workspace-types.ts
6534
6980
  var WorkspaceProvisionStatus = /* @__PURE__ */ ((WorkspaceProvisionStatus2) => {
6535
6981
  WorkspaceProvisionStatus2[WorkspaceProvisionStatus2["UNPROVISIONED"] = 0] = "UNPROVISIONED";
6536
6982
  WorkspaceProvisionStatus2[WorkspaceProvisionStatus2["PROVISIONING"] = 1] = "PROVISIONING";
@@ -6545,7 +6991,7 @@ var WorkspaceProvisionStatus = /* @__PURE__ */ ((WorkspaceProvisionStatus2) => {
6545
6991
  return WorkspaceProvisionStatus2;
6546
6992
  })(WorkspaceProvisionStatus || {});
6547
6993
 
6548
- // src/types/invitationTypes.ts
6994
+ // src/types/invitation-types.ts
6549
6995
  var InvitationStatus = /* @__PURE__ */ ((InvitationStatus2) => {
6550
6996
  InvitationStatus2["REQUESTED"] = "requested";
6551
6997
  InvitationStatus2["INVITED"] = "invited";
@@ -6556,14 +7002,38 @@ var InvitationStatus = /* @__PURE__ */ ((InvitationStatus2) => {
6556
7002
  return InvitationStatus2;
6557
7003
  })(InvitationStatus || {});
6558
7004
 
6559
- // src/types/aiModelTypes.ts
7005
+ // src/types/generated/ai_model.ts
7006
+ var ModelProvider = {
7007
+ unknown: "unknown",
7008
+ openai: "openai",
7009
+ google: "google",
7010
+ anthropic: "anthropic",
7011
+ aws: "aws",
7012
+ elevenlabs: "elevenlabs",
7013
+ deepgram: "deepgram",
7014
+ pocket: "pocket",
7015
+ xai: "xai",
7016
+ custom: "custom"
7017
+ };
7018
+ var ModelType = {
7019
+ chat: "chat",
7020
+ realtime: "realtime",
7021
+ image: "image",
7022
+ video: "video",
7023
+ stt: "stt",
7024
+ tts: "tts"
7025
+ };
7026
+
7027
+ // src/types/ai-model-types.ts
6560
7028
  var REALTIME_MODEL_OPENAI = "openai:realtime:gpt-realtime";
6561
7029
  var REALTIME_MODEL_OPENAI_MINI = "openai:realtime:gpt-realtime-mini";
7030
+ var REALTIME_MODEL_OPENAI_2 = "openai:realtime:gpt-realtime-2";
6562
7031
  var REALTIME_MODEL_GEMINI = "google:aistudio:gemini-3.1-flash-live";
6563
7032
  var REALTIME_MODEL_GEMINI_VERTEX = "google:vertex:gemini-3.1-flash-live";
6564
7033
  var REALTIME_MODEL_NOVA_SONIC = "aws:bedrock:nova-sonic-1";
6565
7034
  var REALTIME_MODEL_CUSTOM = "custom:realtime:composable";
6566
7035
  var STT_MODEL_DEEPGRAM_FLUX = "deepgram:stt:flux-general-en";
7036
+ var STT_MODEL_DEEPGRAM_FLUX_MULTI = "deepgram:stt:flux-general-multi";
6567
7037
  var STT_MODEL_ELEVENLABS_SCRIBE = "elevenlabs:stt:scribe_v2_realtime";
6568
7038
  var TTS_MODEL_ELEVENLABS_FLASH = "elevenlabs:tts:eleven_flash_v2_5";
6569
7039
  var TTS_MODEL_ELEVENLABS_TURBO = "elevenlabs:tts:eleven_turbo_v2_5";
@@ -6573,7 +7043,7 @@ var TTS_MODEL_AWS_POLLY_GENERATIVE = "aws:tts:polly-generative";
6573
7043
  var TTS_MODEL_AWS_POLLY_NEURAL = "aws:tts:polly-neural";
6574
7044
  var TTS_MODEL_POCKET = "pocket:tts:default";
6575
7045
 
6576
- // src/types/fhirConnectionTypes.ts
7046
+ // src/types/fhir-connection-types.ts
6577
7047
  var FhirVendor = /* @__PURE__ */ ((FhirVendor2) => {
6578
7048
  FhirVendor2["ECLINICALWORKS"] = "eclinicalworks";
6579
7049
  FhirVendor2["EPIC"] = "epic";
@@ -6593,7 +7063,7 @@ var FhirClientType = /* @__PURE__ */ ((FhirClientType2) => {
6593
7063
  return FhirClientType2;
6594
7064
  })(FhirClientType || {});
6595
7065
 
6596
- // src/types/qualificationTypes.ts
7066
+ // src/types/qualification-types.ts
6597
7067
  var CriterionType = /* @__PURE__ */ ((CriterionType2) => {
6598
7068
  CriterionType2["EXPRESSION"] = "expression";
6599
7069
  CriterionType2["RUBRIC"] = "rubric";
@@ -6605,13 +7075,15 @@ var DriverMode = /* @__PURE__ */ ((DriverMode2) => {
6605
7075
  return DriverMode2;
6606
7076
  })(DriverMode || {});
6607
7077
 
6608
- // src/types/accessGrantTypes.ts
7078
+ // src/types/access-grant-types.ts
6609
7079
  var AccessGrantResourceType = /* @__PURE__ */ ((AccessGrantResourceType2) => {
6610
7080
  AccessGrantResourceType2["DATA_RECORD"] = "data_record";
6611
7081
  AccessGrantResourceType2["DATA_TYPE"] = "data_type";
6612
7082
  AccessGrantResourceType2["FILE"] = "file";
6613
7083
  AccessGrantResourceType2["FOLDER"] = "folder";
6614
7084
  AccessGrantResourceType2["CALENDAR"] = "calendar";
7085
+ AccessGrantResourceType2["INBOX"] = "inbox";
7086
+ AccessGrantResourceType2["SITE"] = "site";
6615
7087
  AccessGrantResourceType2["ASSIGNMENT"] = "assignment";
6616
7088
  AccessGrantResourceType2["APP_CONNECTION"] = "app_connection";
6617
7089
  return AccessGrantResourceType2;
@@ -6641,7 +7113,15 @@ var ConsentMethod = /* @__PURE__ */ ((ConsentMethod2) => {
6641
7113
  return ConsentMethod2;
6642
7114
  })(ConsentMethod || {});
6643
7115
 
6644
- // src/api/workspaceInvitations.ts
7116
+ // src/types/agent-task-types.ts
7117
+ var TERMINAL_TASK_STATES = [
7118
+ "TASK_STATE_COMPLETED",
7119
+ "TASK_STATE_FAILED",
7120
+ "TASK_STATE_CANCELED",
7121
+ "TASK_STATE_REJECTED"
7122
+ ];
7123
+
7124
+ // src/api/workspace-invitations.ts
6645
7125
  var WorkspaceInvitationsApi = class extends BaseApiClient {
6646
7126
  /**
6647
7127
  * List user's own invitations (both org and workspace).
@@ -6826,6 +7306,17 @@ var WorkspacesApi = class extends BaseApiClient {
6826
7306
  body: JSON.stringify(defaults)
6827
7307
  });
6828
7308
  }
7309
+ /** Get the full first-run onboarding state for a workspace. */
7310
+ async getFirstRunState(wid) {
7311
+ return this.fetch(`w/${wid}/first-run-state`);
7312
+ }
7313
+ /** Update the first-run onboarding state for a workspace. */
7314
+ async updateFirstRunState(wid, state) {
7315
+ return this.fetch(`w/${wid}/first-run-state`, {
7316
+ method: "PUT",
7317
+ body: JSON.stringify(state)
7318
+ });
7319
+ }
6829
7320
  /** Get entity counts (members, tasks, workflows, etc.) for a workspace. */
6830
7321
  async getWorkspaceCounts(wid) {
6831
7322
  return this.fetch(`w/${wid}/counts`);
@@ -6907,6 +7398,14 @@ var WorkspacesApi = class extends BaseApiClient {
6907
7398
  async listPushSubscriptions(wid) {
6908
7399
  return this.fetch(`w/${wid}/push-subscriptions`);
6909
7400
  }
7401
+ /** List org domains available for workspace email inbox routing. */
7402
+ async getWorkspaceEmailDomains(wid) {
7403
+ return this.fetch(`w/${wid}/domains/for-email`);
7404
+ }
7405
+ /** List org domains available for workspace custom site routing. */
7406
+ async getWorkspaceSiteDomains(wid) {
7407
+ return this.fetch(`w/${wid}/domains/for-site`);
7408
+ }
6910
7409
  /** List client workspaces managed by this reseller workspace, paginated. */
6911
7410
  async getResellerWorkspaces(wid, params) {
6912
7411
  const query = new URLSearchParams();
@@ -6957,6 +7456,10 @@ var WorkspacesApi = class extends BaseApiClient {
6957
7456
  async getProduct(id) {
6958
7457
  return this.fetch(`products/${id}`);
6959
7458
  }
7459
+ /** Get a product from a reseller workspace. Requires workspace admin scope. */
7460
+ async getWorkspaceProduct(wid, id) {
7461
+ return this.fetch(`w/${wid}/reseller/products/${id}`);
7462
+ }
6960
7463
  /** List public products for a workspace's storefront. No auth required. */
6961
7464
  async getPublicProducts(workspaceUuid, featured) {
6962
7465
  const params = new URLSearchParams({ workspace_uuid: workspaceUuid });
@@ -7076,6 +7579,68 @@ var WorkspacesApi = class extends BaseApiClient {
7076
7579
  }
7077
7580
  };
7078
7581
 
7582
+ // src/api/teams-apps.ts
7583
+ var TeamsAppsApi = class extends BaseApiClient {
7584
+ /**
7585
+ * List all Teams apps configured for a workspace.
7586
+ */
7587
+ async getTeamsApps(wid, options = {}) {
7588
+ const params = new URLSearchParams();
7589
+ if (options.page) params.append("page", options.page.toString());
7590
+ if (options.pageSize) params.append("pageSize", options.pageSize.toString());
7591
+ if (options.sortBy) params.append("sortBy", options.sortBy);
7592
+ if (options.sortOrder) params.append("sortOrder", options.sortOrder);
7593
+ if (options.search) params.append("search", options.search);
7594
+ return this.fetch(
7595
+ `w/${wid}/app-connections/teams/apps${params.toString() ? `?${params.toString()}` : ""}`
7596
+ );
7597
+ }
7598
+ async getTeamsApp(wid, appId) {
7599
+ return this.fetch(`w/${wid}/app-connections/teams/apps/${appId}`);
7600
+ }
7601
+ async createTeamsApp(wid, data) {
7602
+ return this.fetch(`w/${wid}/app-connections/teams/apps`, {
7603
+ method: "POST",
7604
+ body: JSON.stringify(data)
7605
+ });
7606
+ }
7607
+ async updateTeamsApp(wid, appId, data) {
7608
+ return this.fetch(`w/${wid}/app-connections/teams/apps/${appId}`, {
7609
+ method: "PUT",
7610
+ body: JSON.stringify(data)
7611
+ });
7612
+ }
7613
+ async deleteTeamsApp(wid, appId) {
7614
+ return this.fetch(`w/${wid}/app-connections/teams/apps/${appId}`, {
7615
+ method: "DELETE"
7616
+ });
7617
+ }
7618
+ async getTeamsConversations(wid, appId, options = {}) {
7619
+ const params = new URLSearchParams();
7620
+ if (options.page) params.append("page", options.page.toString());
7621
+ if (options.pageSize) params.append("pageSize", options.pageSize.toString());
7622
+ return this.fetch(
7623
+ `w/${wid}/app-connections/teams/apps/${appId}/conversations${params.toString() ? `?${params.toString()}` : ""}`
7624
+ );
7625
+ }
7626
+ async getTeamsInstallations(wid, appId, options = {}) {
7627
+ const params = new URLSearchParams();
7628
+ if (options.page) params.append("page", options.page.toString());
7629
+ if (options.pageSize) params.append("pageSize", options.pageSize.toString());
7630
+ return this.fetch(
7631
+ `w/${wid}/app-connections/teams/apps/${appId}/installations${params.toString() ? `?${params.toString()}` : ""}`
7632
+ );
7633
+ }
7634
+ async getTeamsAppAccounts(wid, appId, options = {}) {
7635
+ const params = new URLSearchParams();
7636
+ if (options.page) params.append("page", options.page.toString());
7637
+ if (options.pageSize) params.append("pageSize", options.pageSize.toString());
7638
+ return this.fetch(
7639
+ `w/${wid}/app-connections/teams/apps/${appId}/accounts${params.toString() ? `?${params.toString()}` : ""}`
7640
+ );
7641
+ }
7642
+ };
7643
+
7079
7644
  // src/app-context.ts
7080
7645
  function formatAppContextAsMarkdown(context) {
7081
7646
  if (!context) {
@@ -7144,7 +7709,6 @@ function createApiModules(apiKey, baseUrl, customFetch) {
7144
7709
  return {
7145
7710
  abilities: new AbilitiesApi(apiKey, baseUrl, customFetch),
7146
7711
  accessGrants: new AccessGrantsApi(apiKey, baseUrl, customFetch),
7147
- agentJobs: new AgentJobsApi(apiKey, baseUrl, customFetch),
7148
7712
  agentTasks: new AgentTasksApi(apiKey, baseUrl, customFetch),
7149
7713
  agents: new AgentsApi(apiKey, baseUrl, customFetch),
7150
7714
  aiModels: new AIModelsApi(apiKey, baseUrl, customFetch),
@@ -7163,6 +7727,7 @@ function createApiModules(apiKey, baseUrl, customFetch) {
7163
7727
  dataTypes: new DataTypesApi(apiKey, baseUrl, customFetch),
7164
7728
  discordBots: new DiscordBotsApi(apiKey, baseUrl, customFetch),
7165
7729
  slackApps: new SlackAppsApi(apiKey, baseUrl, customFetch),
7730
+ teamsApps: new TeamsAppsApi(apiKey, baseUrl, customFetch),
7166
7731
  events: new EventsApi(apiKey, baseUrl, customFetch),
7167
7732
  fhirConnections: new FhirConnectionsApi(apiKey, baseUrl, customFetch),
7168
7733
  healthie: new HealthieApi(apiKey, baseUrl, customFetch),
@@ -7182,6 +7747,7 @@ function createApiModules(apiKey, baseUrl, customFetch) {
7182
7747
  notificationRules: new NotificationRulesApi(apiKey, baseUrl, customFetch),
7183
7748
  oauth: new OAuthApi(apiKey, baseUrl, customFetch),
7184
7749
  operatorGroups: new OperatorApi(apiKey, baseUrl, customFetch),
7750
+ org: new OrgApi(apiKey, baseUrl, customFetch),
7185
7751
  oauthConnections: new OAuthConnectionsApi(apiKey, baseUrl, customFetch),
7186
7752
  phoneNumbers: new PhoneNumbersApi(apiKey, baseUrl, customFetch),
7187
7753
  pronunciations: new PronunciationsApi(apiKey, baseUrl, customFetch),
@@ -7191,6 +7757,7 @@ function createApiModules(apiKey, baseUrl, customFetch) {
7191
7757
  salesforce: new SalesforceApi(apiKey, baseUrl, customFetch),
7192
7758
  sites: new SitesApi(apiKey, baseUrl, customFetch),
7193
7759
  subscriptions: new SubscriptionsApi(apiKey, baseUrl, customFetch),
7760
+ supportRequests: new SupportRequestsApi(apiKey, baseUrl, customFetch),
7194
7761
  supervisors: new SupervisorsApi(apiKey, baseUrl, customFetch),
7195
7762
  tasks: new TasksApi(apiKey, baseUrl, customFetch),
7196
7763
  templates: new TemplatesApi(apiKey, baseUrl, customFetch),
@@ -7216,16 +7783,6 @@ function bindAccessGrantsMethods(target, accessGrants) {
7216
7783
  target.getMemberGrants = accessGrants.getMemberGrants.bind(accessGrants);
7217
7784
  }
7218
7785
 
7219
- // src/client/bindings/agent-jobs.ts
7220
- function bindAgentJobsMethods(target, api) {
7221
- target.listAgentJobs = api.listAgentJobs.bind(api);
7222
- target.getAgentJob = api.getAgentJob.bind(api);
7223
- target.createAgentJob = api.createAgentJob.bind(api);
7224
- target.updateAgentJob = api.updateAgentJob.bind(api);
7225
- target.deleteAgentJob = api.deleteAgentJob.bind(api);
7226
- target.getAgentJobRuns = api.getAgentJobRuns.bind(api);
7227
- }
7228
-
7229
7786
  // src/client/bindings/agent-tasks.ts
7230
7787
  function bindAgentTasksMethods(target, api) {
7231
7788
  target.getAgentTasks = api.getAgentTasks.bind(api);
@@ -7301,6 +7858,7 @@ function bindChatsMethods(target, chats) {
7301
7858
  target.createChatFilter = chats.createChatFilter.bind(chats);
7302
7859
  target.updateChatFilter = chats.updateChatFilter.bind(chats);
7303
7860
  target.deleteChatFilter = chats.deleteChatFilter.bind(chats);
7861
+ target.getChatFilterCount = chats.getChatFilterCount.bind(chats);
7304
7862
  }
7305
7863
 
7306
7864
  // src/client/bindings/calls.ts
@@ -7383,6 +7941,7 @@ function bindMembersMethods(target, members) {
7383
7941
  target.resolveAnonymousMember = members.resolveAnonymousMember.bind(members);
7384
7942
  target.expireAnonymousMember = members.expireAnonymousMember.bind(members);
7385
7943
  target.getMemberMemories = members.getMemberMemories.bind(members);
7944
+ target.createMemberMemory = members.createMemberMemory.bind(members);
7386
7945
  target.deleteMemberMemory = members.deleteMemberMemory.bind(members);
7387
7946
  }
7388
7947
 
@@ -7397,6 +7956,8 @@ function bindWorkspacesMethods(target, workspaces, signupRequests) {
7397
7956
  target.leaveWorkspace = workspaces.leaveWorkspace.bind(workspaces);
7398
7957
  target.getWorkspaceDefaults = workspaces.getWorkspaceDefaults.bind(workspaces);
7399
7958
  target.updateWorkspaceDefaults = workspaces.updateWorkspaceDefaults.bind(workspaces);
7959
+ target.getFirstRunState = workspaces.getFirstRunState.bind(workspaces);
7960
+ target.updateFirstRunState = workspaces.updateFirstRunState.bind(workspaces);
7400
7961
  target.getWorkspaceCounts = workspaces.getWorkspaceCounts.bind(workspaces);
7401
7962
  target.getBusinessHoursStatus = workspaces.getBusinessHoursStatus.bind(workspaces);
7402
7963
  target.getAvailableWorkspaceFeatures = workspaces.getAvailableWorkspaceFeatures.bind(workspaces);
@@ -7415,6 +7976,7 @@ function bindWorkspacesMethods(target, workspaces, signupRequests) {
7415
7976
  target.provisionClientWorkspace = workspaces.provisionClientWorkspace.bind(workspaces);
7416
7977
  target.getProducts = workspaces.getProducts.bind(workspaces);
7417
7978
  target.getProduct = workspaces.getProduct.bind(workspaces);
7979
+ target.getWorkspaceProduct = workspaces.getWorkspaceProduct.bind(workspaces);
7418
7980
  target.getPublicProducts = workspaces.getPublicProducts.bind(workspaces);
7419
7981
  target.getPublicProduct = workspaces.getPublicProduct.bind(workspaces);
7420
7982
  target.createProduct = workspaces.createProduct.bind(workspaces);
@@ -7433,6 +7995,8 @@ function bindWorkspacesMethods(target, workspaces, signupRequests) {
7433
7995
  target.registerPushSubscription = workspaces.registerPushSubscription.bind(workspaces);
7434
7996
  target.unregisterPushSubscription = workspaces.unregisterPushSubscription.bind(workspaces);
7435
7997
  target.listPushSubscriptions = workspaces.listPushSubscriptions.bind(workspaces);
7998
+ target.getWorkspaceEmailDomains = workspaces.getWorkspaceEmailDomains.bind(workspaces);
7999
+ target.getWorkspaceSiteDomains = workspaces.getWorkspaceSiteDomains.bind(workspaces);
7436
8000
  target.listWorkspaceInvitations = signupRequests.listWorkspaceInvitations.bind(signupRequests);
7437
8001
  target.listWorkspaceInvitationsAdmin = signupRequests.listWorkspaceInvitationsAdmin.bind(signupRequests);
7438
8002
  target.getWorkspaceInvitation = signupRequests.getWorkspaceInvitation.bind(signupRequests);
@@ -7722,6 +8286,7 @@ function bindCommunicationsMethods(target, phoneNumbers, inboxes, notificationRu
7722
8286
  target.getInboxThreads = inboxes.getInboxThreads.bind(inboxes);
7723
8287
  target.getThreadEmails = inboxes.getThreadEmails.bind(inboxes);
7724
8288
  target.getChatEmails = inboxes.getChatEmails.bind(inboxes);
8289
+ target.replyToEmail = inboxes.replyToEmail.bind(inboxes);
7725
8290
  target.getNotificationRules = notificationRules.getNotificationRules.bind(notificationRules);
7726
8291
  target.createNotificationRule = notificationRules.createNotificationRule.bind(notificationRules);
7727
8292
  target.updateNotificationRule = notificationRules.updateNotificationRule.bind(notificationRules);
@@ -7806,6 +8371,7 @@ function bindAppsMethods(target, apps, builders, inquiries, oauth, oauthConnecti
7806
8371
  target.updateBuilder = builders.updateBuilder.bind(builders);
7807
8372
  target.deleteBuilder = builders.deleteBuilder.bind(builders);
7808
8373
  target.createInquiry = inquiries.createInquiry.bind(inquiries);
8374
+ target.enrichInquiry = inquiries.enrichInquiry.bind(inquiries);
7809
8375
  target.listInquiries = inquiries.listInquiries.bind(inquiries);
7810
8376
  target.getInquiry = inquiries.getInquiry.bind(inquiries);
7811
8377
  target.updateInquiry = inquiries.updateInquiry.bind(inquiries);
@@ -7820,13 +8386,10 @@ function bindAppsMethods(target, apps, builders, inquiries, oauth, oauthConnecti
7820
8386
  }
7821
8387
 
7822
8388
  // src/client/bindings/integrations.ts
7823
- function bindIntegrationsMethods(target, mondayIntegration, discordBots, slackApps, fhirConnections, healthie, salesforce, hubspot, appConnections, connectionSync, confluence) {
8389
+ function bindIntegrationsMethods(target, mondayIntegration, discordBots, slackApps, teamsApps, fhirConnections, healthie, salesforce, hubspot, appConnections, connectionSync, confluence) {
7824
8390
  target.getMondayBoards = mondayIntegration.getBoards.bind(mondayIntegration);
7825
8391
  target.getMondayBoardColumns = mondayIntegration.getBoardColumns.bind(mondayIntegration);
7826
8392
  target.getMondayBoardGroups = mondayIntegration.getBoardGroups.bind(mondayIntegration);
7827
- target.createMondayWebhook = mondayIntegration.createWebhook.bind(mondayIntegration);
7828
- target.deleteMondayWebhook = mondayIntegration.deleteWebhook.bind(mondayIntegration);
7829
- target.getMondayWebhook = mondayIntegration.getWebhook.bind(mondayIntegration);
7830
8393
  target.getMondayCurrentUserInfo = mondayIntegration.getCurrentUserInfo.bind(mondayIntegration);
7831
8394
  target.configureMondayConnection = mondayIntegration.configureMondayConnection.bind(mondayIntegration);
7832
8395
  target.getMondayConnectionStatus = mondayIntegration.getMondayConnectionStatus.bind(mondayIntegration);
@@ -7870,6 +8433,14 @@ function bindIntegrationsMethods(target, mondayIntegration, discordBots, slackAp
7870
8433
  target.getSlackThreads = slackApps.getSlackThreads.bind(slackApps);
7871
8434
  target.getSlackInstallations = slackApps.getSlackInstallations.bind(slackApps);
7872
8435
  target.getSlackAppAccounts = slackApps.getSlackAppAccounts.bind(slackApps);
8436
+ target.getTeamsApps = teamsApps.getTeamsApps.bind(teamsApps);
8437
+ target.getTeamsApp = teamsApps.getTeamsApp.bind(teamsApps);
8438
+ target.createTeamsApp = teamsApps.createTeamsApp.bind(teamsApps);
8439
+ target.updateTeamsApp = teamsApps.updateTeamsApp.bind(teamsApps);
8440
+ target.deleteTeamsApp = teamsApps.deleteTeamsApp.bind(teamsApps);
8441
+ target.getTeamsConversations = teamsApps.getTeamsConversations.bind(teamsApps);
8442
+ target.getTeamsInstallations = teamsApps.getTeamsInstallations.bind(teamsApps);
8443
+ target.getTeamsAppAccounts = teamsApps.getTeamsAppAccounts.bind(teamsApps);
7873
8444
  target.getFhirConnections = fhirConnections.getFhirConnections.bind(fhirConnections);
7874
8445
  target.getFhirConnection = fhirConnections.getFhirConnection.bind(fhirConnections);
7875
8446
  target.getFhirConnectionByUuid = fhirConnections.getFhirConnectionByUuid.bind(fhirConnections);
@@ -7910,6 +8481,10 @@ function bindIntegrationsMethods(target, mondayIntegration, discordBots, slackAp
7910
8481
  target.getHealthieReconciliationMatches = healthie.getHealthieReconciliationMatches.bind(healthie);
7911
8482
  target.linkMemberToHealthie = healthie.linkMemberToHealthie.bind(healthie);
7912
8483
  target.unlinkMemberFromHealthie = healthie.unlinkMemberFromHealthie.bind(healthie);
8484
+ target.listHealthieAppointmentTypes = healthie.listHealthieAppointmentTypes.bind(healthie);
8485
+ target.listHealthiePatients = healthie.listHealthiePatients.bind(healthie);
8486
+ target.getHealthieAvailableSlots = healthie.getHealthieAvailableSlots.bind(healthie);
8487
+ target.bookHealthieAppointment = healthie.bookHealthieAppointment.bind(healthie);
7913
8488
  target.configureConfluence = confluence.configureConfluence.bind(confluence);
7914
8489
  target.startConfluenceOAuth = confluence.startConfluenceOAuth.bind(confluence);
7915
8490
  target.getConfluenceStatus = confluence.getConfluenceStatus.bind(confluence);
@@ -7962,12 +8537,14 @@ function bindIntegrationsMethods(target, mondayIntegration, discordBots, slackAp
7962
8537
  target.getSyncRuns = connectionSync.getSyncRuns.bind(connectionSync);
7963
8538
  target.getSyncRunItems = connectionSync.getSyncRunItems.bind(connectionSync);
7964
8539
  target.getMemberSyncSummary = connectionSync.getMemberSyncSummary.bind(connectionSync);
8540
+ target.clearConnectionMemberExclusion = connectionSync.clearConnectionMemberExclusion.bind(connectionSync);
7965
8541
  target.listAvailableAppConnections = appConnections.listAvailableAppConnections.bind(appConnections);
7966
8542
  target.listAppConnections = appConnections.listAppConnections.bind(appConnections);
7967
8543
  target.enablePlatformApp = appConnections.enablePlatformApp.bind(appConnections);
7968
8544
  target.getPlatformApp = appConnections.getPlatformApp.bind(appConnections);
7969
8545
  target.updatePlatformApp = appConnections.updatePlatformApp.bind(appConnections);
7970
8546
  target.deletePlatformApp = appConnections.deletePlatformApp.bind(appConnections);
8547
+ target.listConnectionMemberFieldKeys = appConnections.listConnectionMemberFieldKeys.bind(appConnections);
7971
8548
  }
7972
8549
 
7973
8550
  // src/client/bindings/operator-groups.ts
@@ -7986,6 +8563,27 @@ function bindOperatorMethods(target, operatorGroups) {
7986
8563
  target.sendOperatorMessage = operatorGroups.sendOperatorMessage.bind(operatorGroups);
7987
8564
  }
7988
8565
 
8566
+ // src/client/bindings/org.ts
8567
+ function bindOrgMethods(target, org) {
8568
+ target.listOrgDomains = org.listOrgDomains.bind(org);
8569
+ target.registerOrgDomain = org.registerOrgDomain.bind(org);
8570
+ target.getOrgDomain = org.getOrgDomain.bind(org);
8571
+ target.verifyOrgDomainOwnership = org.verifyOrgDomainOwnership.bind(org);
8572
+ target.deleteOrgDomain = org.deleteOrgDomain.bind(org);
8573
+ target.enableOrgDomainEmail = org.enableOrgDomainEmail.bind(org);
8574
+ target.getOrgDomainEmail = org.getOrgDomainEmail.bind(org);
8575
+ target.verifyOrgDomainEmail = org.verifyOrgDomainEmail.bind(org);
8576
+ target.disableOrgDomainEmail = org.disableOrgDomainEmail.bind(org);
8577
+ target.enableOrgDomainSite = org.enableOrgDomainSite.bind(org);
8578
+ target.getOrgDomainSite = org.getOrgDomainSite.bind(org);
8579
+ target.verifyOrgDomainSite = org.verifyOrgDomainSite.bind(org);
8580
+ target.disableOrgDomainSite = org.disableOrgDomainSite.bind(org);
8581
+ target.getBusinessProfile = org.getBusinessProfile.bind(org);
8582
+ target.updateBusinessProfile = org.updateBusinessProfile.bind(org);
8583
+ target.submitBusinessProfile = org.submitBusinessProfile.bind(org);
8584
+ target.cancelBusinessProfile = org.cancelBusinessProfile.bind(org);
8585
+ }
8586
+
7989
8587
  // src/client/bindings/pronunciations.ts
7990
8588
  function bindPronunciationsMethods(target, pronunciations) {
7991
8589
  target.getPronunciationEntries = pronunciations.getPronunciationEntries.bind(pronunciations);
@@ -8007,6 +8605,7 @@ function bindPronunciationsMethods(target, pronunciations) {
8007
8605
  function bindJourneysMethods(target, journeys) {
8008
8606
  target.getJourneys = journeys.getJourneys.bind(journeys);
8009
8607
  target.getJourney = journeys.getJourney.bind(journeys);
8608
+ target.getJourneyHealth = journeys.getJourneyHealth.bind(journeys);
8010
8609
  target.createJourney = journeys.createJourney.bind(journeys);
8011
8610
  target.updateJourney = journeys.updateJourney.bind(journeys);
8012
8611
  target.archiveJourney = journeys.archiveJourney.bind(journeys);
@@ -8025,6 +8624,7 @@ function bindJourneysMethods(target, journeys) {
8025
8624
  target.reenrollMember = journeys.reenrollMember.bind(journeys);
8026
8625
  target.deleteEnrollment = journeys.deleteEnrollment.bind(journeys);
8027
8626
  target.getMemberJourneys = journeys.getMemberJourneys.bind(journeys);
8627
+ target.testRunJourney = journeys.testRunJourney.bind(journeys);
8028
8628
  target.getJourneyNotes = journeys.getJourneyNotes.bind(journeys);
8029
8629
  target.createJourneyNote = journeys.createJourneyNote.bind(journeys);
8030
8630
  target.updateJourneyNote = journeys.updateJourneyNote.bind(journeys);
@@ -8070,6 +8670,7 @@ function bindCustomersMethods(target, customers) {
8070
8670
  target.attachMyCustomerPaymentMethod = customers.attachMyCustomerPaymentMethod.bind(customers);
8071
8671
  target.detachMyCustomerPaymentMethod = customers.detachMyCustomerPaymentMethod.bind(customers);
8072
8672
  target.setDefaultMyCustomerPaymentMethod = customers.setDefaultMyCustomerPaymentMethod.bind(customers);
8673
+ target.getMyCustomerCreditGrants = customers.getMyCustomerCreditGrants.bind(customers);
8073
8674
  }
8074
8675
 
8075
8676
  // src/client/bindings/resellers.ts
@@ -8087,6 +8688,23 @@ function bindPromptsMethods(target, prompts) {
8087
8688
  target.inspectPrompt = prompts.inspectPrompt.bind(prompts);
8088
8689
  }
8089
8690
 
8691
+ // src/client/bindings/support-requests.ts
8692
+ function bindSupportRequestMethods(target, supportRequests) {
8693
+ target.listSupportRequests = supportRequests.listSupportRequests.bind(supportRequests);
8694
+ target.getSupportRequest = supportRequests.getSupportRequest.bind(supportRequests);
8695
+ target.createSupportRequest = supportRequests.createSupportRequest.bind(supportRequests);
8696
+ target.commentOnSupportRequest = supportRequests.commentOnSupportRequest.bind(supportRequests);
8697
+ target.listOrgSupportRequests = supportRequests.listOrgSupportRequests.bind(supportRequests);
8698
+ target.getOrgSupportRequest = supportRequests.getOrgSupportRequest.bind(supportRequests);
8699
+ target.createOrgSupportRequest = supportRequests.createOrgSupportRequest.bind(supportRequests);
8700
+ target.commentOnOrgSupportRequest = supportRequests.commentOnOrgSupportRequest.bind(supportRequests);
8701
+ target.listWorkspaceSupportRequests = supportRequests.listWorkspaceSupportRequests.bind(supportRequests);
8702
+ target.getWorkspaceSupportRequest = supportRequests.getWorkspaceSupportRequest.bind(supportRequests);
8703
+ target.createWorkspaceSupportRequest = supportRequests.createWorkspaceSupportRequest.bind(supportRequests);
8704
+ target.commentOnWorkspaceSupportRequest = supportRequests.commentOnWorkspaceSupportRequest.bind(supportRequests);
8705
+ target.closeWorkspaceSupportRequest = supportRequests.closeWorkspaceSupportRequest.bind(supportRequests);
8706
+ }
8707
+
8090
8708
  // src/client/client.ts
8091
8709
  var GravityRailClient = class {
8092
8710
  // WorkspaceInvitations is exposed publicly for backward compatibility
@@ -8145,6 +8763,7 @@ var GravityRailClient = class {
8145
8763
  createChatFilter;
8146
8764
  updateChatFilter;
8147
8765
  deleteChatFilter;
8766
+ getChatFilterCount;
8148
8767
  // Calls API
8149
8768
  initiateCall;
8150
8769
  getVoiceToken;
@@ -8222,14 +8841,8 @@ var GravityRailClient = class {
8222
8841
  expireAnonymousMember;
8223
8842
  // Member Memories
8224
8843
  getMemberMemories;
8844
+ createMemberMemory;
8225
8845
  deleteMemberMemory;
8226
- // Agent Jobs API
8227
- listAgentJobs;
8228
- getAgentJob;
8229
- createAgentJob;
8230
- updateAgentJob;
8231
- deleteAgentJob;
8232
- getAgentJobRuns;
8233
8846
  // Agent Tasks API (operator-facing async sub-agent inspection/cancel)
8234
8847
  getAgentTasks;
8235
8848
  getAgentTask;
@@ -8266,6 +8879,7 @@ var GravityRailClient = class {
8266
8879
  // Journeys API
8267
8880
  getJourneys;
8268
8881
  getJourney;
8882
+ getJourneyHealth;
8269
8883
  createJourney;
8270
8884
  updateJourney;
8271
8885
  archiveJourney;
@@ -8284,6 +8898,7 @@ var GravityRailClient = class {
8284
8898
  reenrollMember;
8285
8899
  deleteEnrollment;
8286
8900
  getMemberJourneys;
8901
+ testRunJourney;
8287
8902
  getJourneyNotes;
8288
8903
  createJourneyNote;
8289
8904
  updateJourneyNote;
@@ -8322,6 +8937,8 @@ var GravityRailClient = class {
8322
8937
  leaveWorkspace;
8323
8938
  getWorkspaceDefaults;
8324
8939
  updateWorkspaceDefaults;
8940
+ getFirstRunState;
8941
+ updateFirstRunState;
8325
8942
  getWorkspaceCounts;
8326
8943
  getBusinessHoursStatus;
8327
8944
  getAvailableWorkspaceFeatures;
@@ -8340,6 +8957,7 @@ var GravityRailClient = class {
8340
8957
  provisionClientWorkspace;
8341
8958
  getProducts;
8342
8959
  getProduct;
8960
+ getWorkspaceProduct;
8343
8961
  getPublicProducts;
8344
8962
  getPublicProduct;
8345
8963
  createProduct;
@@ -8354,6 +8972,26 @@ var GravityRailClient = class {
8354
8972
  getWorkspaceBySlug;
8355
8973
  getWorkspaceScopes;
8356
8974
  getUsageDashboard;
8975
+ getWorkspaceEmailDomains;
8976
+ getWorkspaceSiteDomains;
8977
+ // Org API
8978
+ listOrgDomains;
8979
+ registerOrgDomain;
8980
+ getOrgDomain;
8981
+ verifyOrgDomainOwnership;
8982
+ deleteOrgDomain;
8983
+ enableOrgDomainEmail;
8984
+ getOrgDomainEmail;
8985
+ verifyOrgDomainEmail;
8986
+ disableOrgDomainEmail;
8987
+ enableOrgDomainSite;
8988
+ getOrgDomainSite;
8989
+ verifyOrgDomainSite;
8990
+ disableOrgDomainSite;
8991
+ getBusinessProfile;
8992
+ updateBusinessProfile;
8993
+ submitBusinessProfile;
8994
+ cancelBusinessProfile;
8357
8995
  getVapidPublicKey;
8358
8996
  registerPushSubscription;
8359
8997
  unregisterPushSubscription;
@@ -8627,6 +9265,7 @@ var GravityRailClient = class {
8627
9265
  getInboxThreads;
8628
9266
  getThreadEmails;
8629
9267
  getChatEmails;
9268
+ replyToEmail;
8630
9269
  getNotificationRules;
8631
9270
  createNotificationRule;
8632
9271
  updateNotificationRule;
@@ -8702,6 +9341,7 @@ var GravityRailClient = class {
8702
9341
  updateBuilder;
8703
9342
  deleteBuilder;
8704
9343
  createInquiry;
9344
+ enrichInquiry;
8705
9345
  listInquiries;
8706
9346
  getInquiry;
8707
9347
  updateInquiry;
@@ -8717,9 +9357,6 @@ var GravityRailClient = class {
8717
9357
  getMondayBoards;
8718
9358
  getMondayBoardColumns;
8719
9359
  getMondayBoardGroups;
8720
- createMondayWebhook;
8721
- deleteMondayWebhook;
8722
- getMondayWebhook;
8723
9360
  getMondayCurrentUserInfo;
8724
9361
  // Monday.com Connection API
8725
9362
  configureMondayConnection;
@@ -8766,6 +9403,15 @@ var GravityRailClient = class {
8766
9403
  getSlackThreads;
8767
9404
  getSlackInstallations;
8768
9405
  getSlackAppAccounts;
9406
+ // Teams Apps API
9407
+ getTeamsApps;
9408
+ getTeamsApp;
9409
+ createTeamsApp;
9410
+ updateTeamsApp;
9411
+ deleteTeamsApp;
9412
+ getTeamsConversations;
9413
+ getTeamsInstallations;
9414
+ getTeamsAppAccounts;
8769
9415
  // FHIR Connections API
8770
9416
  getFhirConnections;
8771
9417
  getFhirConnection;
@@ -8808,6 +9454,10 @@ var GravityRailClient = class {
8808
9454
  getHealthieReconciliationMatches;
8809
9455
  linkMemberToHealthie;
8810
9456
  unlinkMemberFromHealthie;
9457
+ listHealthieAppointmentTypes;
9458
+ listHealthiePatients;
9459
+ getHealthieAvailableSlots;
9460
+ bookHealthieAppointment;
8811
9461
  // Confluence API
8812
9462
  configureConfluence;
8813
9463
  startConfluenceOAuth;
@@ -8864,6 +9514,7 @@ var GravityRailClient = class {
8864
9514
  getSyncRuns;
8865
9515
  getSyncRunItems;
8866
9516
  getMemberSyncSummary;
9517
+ clearConnectionMemberExclusion;
8867
9518
  // App Connections API
8868
9519
  listAvailableAppConnections;
8869
9520
  listAppConnections;
@@ -8871,6 +9522,7 @@ var GravityRailClient = class {
8871
9522
  getPlatformApp;
8872
9523
  updatePlatformApp;
8873
9524
  deletePlatformApp;
9525
+ listConnectionMemberFieldKeys;
8874
9526
  // Pronunciations API
8875
9527
  getPronunciationEntries;
8876
9528
  createPronunciationEntry;
@@ -8897,6 +9549,7 @@ var GravityRailClient = class {
8897
9549
  attachMyCustomerPaymentMethod;
8898
9550
  detachMyCustomerPaymentMethod;
8899
9551
  setDefaultMyCustomerPaymentMethod;
9552
+ getMyCustomerCreditGrants;
8900
9553
  // Resellers API (self-service reseller portal)
8901
9554
  getMyResellers;
8902
9555
  getMyReseller;
@@ -8904,6 +9557,20 @@ var GravityRailClient = class {
8904
9557
  getMyResellerProducts;
8905
9558
  getMyResellerSubscriptions;
8906
9559
  updateMyReseller;
9560
+ // Support Requests API
9561
+ listSupportRequests;
9562
+ getSupportRequest;
9563
+ createSupportRequest;
9564
+ commentOnSupportRequest;
9565
+ listOrgSupportRequests;
9566
+ getOrgSupportRequest;
9567
+ createOrgSupportRequest;
9568
+ commentOnOrgSupportRequest;
9569
+ listWorkspaceSupportRequests;
9570
+ getWorkspaceSupportRequest;
9571
+ createWorkspaceSupportRequest;
9572
+ commentOnWorkspaceSupportRequest;
9573
+ closeWorkspaceSupportRequest;
8907
9574
  constructor(apiKey, baseUrl, customFetch) {
8908
9575
  const apis = createApiModules(apiKey, baseUrl, customFetch);
8909
9576
  this.apis = apis;
@@ -8913,13 +9580,13 @@ var GravityRailClient = class {
8913
9580
  bindCallsMethods(this, apis.calls, apis.cel);
8914
9581
  bindDataTypesMethods(this, apis.dataTypes);
8915
9582
  bindMembersMethods(this, apis.members);
8916
- bindAgentJobsMethods(this, apis.agentJobs);
8917
9583
  bindAgentTasksMethods(this, apis.agentTasks);
8918
9584
  bindAgentsMethods(this, apis.agents);
8919
9585
  bindQualificationsMethods(this, apis.qualifications);
8920
9586
  bindPersonasMethods(this, apis.personas);
8921
9587
  bindJourneysMethods(this, apis.journeys);
8922
9588
  bindOperatorMethods(this, apis.operatorGroups);
9589
+ bindOrgMethods(this, apis.org);
8923
9590
  bindAccessGrantsMethods(this, apis.accessGrants);
8924
9591
  bindPromptsMethods(this, apis.prompts);
8925
9592
  bindWorkspacesMethods(this, apis.workspaces, apis.workspaceInvitations);
@@ -8953,6 +9620,7 @@ var GravityRailClient = class {
8953
9620
  apis.mondayIntegration,
8954
9621
  apis.discordBots,
8955
9622
  apis.slackApps,
9623
+ apis.teamsApps,
8956
9624
  apis.fhirConnections,
8957
9625
  apis.healthie,
8958
9626
  apis.salesforce,
@@ -8964,6 +9632,7 @@ var GravityRailClient = class {
8964
9632
  bindPronunciationsMethods(this, apis.pronunciations);
8965
9633
  bindCustomersMethods(this, apis.customers);
8966
9634
  bindResellersMethods(this, apis.resellers);
9635
+ bindSupportRequestMethods(this, apis.supportRequests);
8967
9636
  }
8968
9637
  /**
8969
9638
  * Set the handler for enhanced authentication requirements (RFC 9470 Step-Up Auth).
@@ -8991,6 +9660,24 @@ var GravityRailClient = class {
8991
9660
  }
8992
9661
  });
8993
9662
  }
9663
+ /**
9664
+ * Set the org token for cross-domain / non-browser clients (e.g. CLI).
9665
+ * When set, all API requests include the X-Org-Token header so the backend
9666
+ * accepts the request without requiring a browser cookie.
9667
+ *
9668
+ * `orgUuid` is the org that issued the token. Pass it so the SDK can
9669
+ * detect a stale token (e.g. switching orgs mid-session) and re-fire the
9670
+ * org-auth handler instead of silently 401-ing.
9671
+ *
9672
+ * Propagates to all API modules.
9673
+ */
9674
+ setOrgToken(token, orgUuid) {
9675
+ Object.values(this.apis).forEach((api) => {
9676
+ if (typeof api.setOrgToken === "function") {
9677
+ api.setOrgToken(token, orgUuid);
9678
+ }
9679
+ });
9680
+ }
8994
9681
  /**
8995
9682
  * Update the API key across all modules.
8996
9683
  * Used after successful re-authentication.
@@ -9030,7 +9717,7 @@ var GravityRailClient = class {
9030
9717
  }
9031
9718
  };
9032
9719
 
9033
- // src/types/abilityTypes.ts
9720
+ // src/types/ability-types.ts
9034
9721
  var AbilityTypeSlugs = {
9035
9722
  // Tools
9036
9723
  TOOLKITS: "tools:toolkits",
@@ -9047,19 +9734,19 @@ var AbilityTypeSlugs = {
9047
9734
  SEND_SMS: "communication:send_sms",
9048
9735
  MEMBER_ACCESS: "communication:member_access",
9049
9736
  AUDIO_PLAYBACK: "communication:audio_playback",
9050
- // Memory
9051
- AGENT_MEMORY: "memory:agent_memory",
9052
9737
  // Oversight
9053
9738
  SUPERVISOR: "oversight:supervisor",
9054
9739
  SUPERVISOR_ACTIONS: "oversight:supervisor_actions",
9055
9740
  ESCALATION: "oversight:escalation",
9741
+ // Identity
9742
+ MEMBER_FIELD_VERIFICATION: "identity:member_field_verification",
9056
9743
  // System (auto-injected, hidden from users)
9057
9744
  USER_MESSAGE_RULES: "system:user_message_rules",
9058
9745
  ASSISTANT_MESSAGE_RULES: "chat:assistant_message_rules",
9059
9746
  CEL_ROUTING: "system:cel_routing"
9060
9747
  };
9061
9748
 
9062
- // src/types/modelConfigTypes.ts
9749
+ // src/types/model-config-types.ts
9063
9750
  var DEFAULT_THINKING_SPEECH_PHRASES = [
9064
9751
  "One moment please",
9065
9752
  "I'll be right with you",
@@ -9075,7 +9762,8 @@ var TTS_PREVIEW_PROVIDERS = [
9075
9762
  "google",
9076
9763
  "aws",
9077
9764
  "pocket",
9078
- "deepgram"
9765
+ "deepgram",
9766
+ "xai"
9079
9767
  ];
9080
9768
  function getVoiceModelId(entity) {
9081
9769
  const config = entity.realtimeModelConfig;
@@ -9088,6 +9776,129 @@ function canPreviewVoice(entity) {
9088
9776
  return TTS_PREVIEW_PROVIDERS.includes(provider);
9089
9777
  }
9090
9778
 
9779
+ // src/types/chat-types.ts
9780
+ var SMS_DELIVERY_FAILURE_STATUSES = /* @__PURE__ */ new Set([
9781
+ "failed",
9782
+ "undelivered"
9783
+ ]);
9784
+ function isSMSDeliveryFailureStatus(status) {
9785
+ return status != null && SMS_DELIVERY_FAILURE_STATUSES.has(status);
9786
+ }
9787
+
9788
+ // src/types/generated/organization.ts
9789
+ var BusinessIndustry = {
9790
+ AGRICULTURE: "AGRICULTURE",
9791
+ AUTOMOTIVE: "AUTOMOTIVE",
9792
+ BANKING: "BANKING",
9793
+ CONSUMER: "CONSUMER",
9794
+ EDUCATION: "EDUCATION",
9795
+ ELECTRONICS: "ELECTRONICS",
9796
+ ENERGY: "ENERGY",
9797
+ ENGINEERING: "ENGINEERING",
9798
+ FAST_MOVING_CONSUMER_GOODS: "FAST_MOVING_CONSUMER_GOODS",
9799
+ FINANCIAL: "FINANCIAL",
9800
+ FINTECH: "FINTECH",
9801
+ FOOD_AND_BEVERAGE: "FOOD_AND_BEVERAGE",
9802
+ GOVERNMENT: "GOVERNMENT",
9803
+ HEALTHCARE: "HEALTHCARE",
9804
+ HOSPITALITY: "HOSPITALITY",
9805
+ INSURANCE: "INSURANCE",
9806
+ JEWELRY: "JEWELRY",
9807
+ LEGAL: "LEGAL",
9808
+ MANUFACTURING: "MANUFACTURING",
9809
+ MEDIA: "MEDIA",
9810
+ NOT_FOR_PROFIT: "NOT_FOR_PROFIT",
9811
+ OIL_AND_GAS: "OIL_AND_GAS",
9812
+ ONLINE: "ONLINE",
9813
+ RAW_MATERIALS: "RAW_MATERIALS",
9814
+ REAL_ESTATE: "REAL_ESTATE",
9815
+ RELIGION: "RELIGION",
9816
+ RETAIL: "RETAIL",
9817
+ TECHNOLOGY: "TECHNOLOGY",
9818
+ TELECOMMUNICATIONS: "TELECOMMUNICATIONS",
9819
+ TRANSPORTATION: "TRANSPORTATION",
9820
+ TRAVEL: "TRAVEL"
9821
+ };
9822
+ var BusinessType = {
9823
+ Sole_Proprietorship: "Sole Proprietorship",
9824
+ Partnership: "Partnership",
9825
+ Limited_Liability_Corporation: "Limited Liability Corporation",
9826
+ "Co-operative": "Co-operative",
9827
+ "Non-profit_Corporation": "Non-profit Corporation",
9828
+ Corporation: "Corporation"
9829
+ };
9830
+ var EmailDnsRecordType = {
9831
+ TXT: "TXT",
9832
+ CNAME: "CNAME",
9833
+ MX: "MX"
9834
+ };
9835
+ var JobPosition = {
9836
+ Director: "Director",
9837
+ GM: "GM",
9838
+ VP: "VP",
9839
+ CEO: "CEO",
9840
+ CFO: "CFO",
9841
+ General_Counsel: "General Counsel",
9842
+ Other: "Other"
9843
+ };
9844
+ var OIDCAdminConfigViewProviderType = {
9845
+ azure_ad: "azure_ad",
9846
+ okta: "okta",
9847
+ auth0: "auth0",
9848
+ generic: "generic"
9849
+ };
9850
+ var Region = {
9851
+ AFRICA: "AFRICA",
9852
+ ASIA: "ASIA",
9853
+ EUROPE: "EUROPE",
9854
+ LATIN_AMERICA: "LATIN_AMERICA",
9855
+ USA_AND_CANADA: "USA_AND_CANADA",
9856
+ AUSTRALIA: "AUSTRALIA"
9857
+ };
9858
+ var RegistrationIdentifier = {
9859
+ EIN: "EIN",
9860
+ CBN: "CBN",
9861
+ CN: "CN",
9862
+ ACN: "ACN",
9863
+ CIN: "CIN",
9864
+ VAT: "VAT",
9865
+ VATRN: "VATRN",
9866
+ RN: "RN",
9867
+ DUNS: "DUNS",
9868
+ Other: "Other"
9869
+ };
9870
+ var SiteDnsRecordType = {
9871
+ CNAME: "CNAME",
9872
+ A: "A",
9873
+ TXT: "TXT"
9874
+ };
9875
+
9876
+ // src/types/generated/site.ts
9877
+ var MenuItemResponseItemType = {
9878
+ page: "page",
9879
+ url: "url",
9880
+ products: "products",
9881
+ none: "none"
9882
+ };
9883
+
9884
+ // src/types/generated/task.ts
9885
+ var AbilityConfigIssueCode = {
9886
+ missing_resource: "missing_resource",
9887
+ invalid_state: "invalid_state",
9888
+ feature_disabled: "feature_disabled",
9889
+ external_drift: "external_drift"
9890
+ };
9891
+ var AbilityConfigIssueSeverity = {
9892
+ warning: "warning",
9893
+ error: "error"
9894
+ };
9895
+ var WorkflowAccessWarningResourceType = {
9896
+ form: "form",
9897
+ file: "file",
9898
+ folder: "folder",
9899
+ calendar: "calendar"
9900
+ };
9901
+
9091
9902
  // src/features/registry.ts
9092
9903
  var FeatureCategory = /* @__PURE__ */ ((FeatureCategory2) => {
9093
9904
  FeatureCategory2["COMMUNICATION"] = "communication";
@@ -9185,7 +9996,7 @@ function clearRegistry() {
9185
9996
  _features = {};
9186
9997
  }
9187
9998
 
9188
- // src/constants/chatTypes.ts
9999
+ // src/constants/chat-types.ts
9189
10000
  var CHAT_TYPES = {
9190
10001
  ASSIGNMENT: "assignment",
9191
10002
  MANAGER: "manager",
@@ -9218,9 +10029,10 @@ function isChatType(value) {
9218
10029
 
9219
10030
  // src/constants/models.ts
9220
10031
  var DEFAULT_CHAT_MODEL = "aws:bedrock:claude-4-5-haiku";
10032
+ var DEFAULT_VOICE_INFERENCE_MODEL = "google:vertex:gemini-3-flash";
9221
10033
  var DEFAULT_CUSTOM_VOICE_MODEL = "elevenlabs:voice:river";
9222
10034
 
9223
- // src/types/resourceMetadata.ts
10035
+ // src/types/resource-metadata.ts
9224
10036
  var RESOURCE_METADATA = {
9225
10037
  ["credit" /* CREDIT */]: {
9226
10038
  label: "Credits",
@@ -9985,7 +10797,6 @@ export {
9985
10797
  BaseApiClient,
9986
10798
  AbilitiesApi,
9987
10799
  AccessGrantsApi,
9988
- AgentJobsApi,
9989
10800
  AgentTasksApi,
9990
10801
  AgentsApi,
9991
10802
  AIModelsApi,
@@ -10033,6 +10844,7 @@ export {
10033
10844
  SitesApi,
10034
10845
  SnippetsApi,
10035
10846
  SubscriptionsApi,
10847
+ SupportRequestsApi,
10036
10848
  CustomersApi,
10037
10849
  ResellersApi,
10038
10850
  SupervisorsApi,
@@ -10056,12 +10868,14 @@ export {
10056
10868
  decodePermissions,
10057
10869
  encodePermissions,
10058
10870
  Scope,
10871
+ BulkMemberResultStatus,
10059
10872
  MemberType,
10060
10873
  McpServerState,
10061
10874
  ToolkitState,
10062
10875
  EventRuleObjectType,
10063
10876
  EventRuleEventType,
10064
10877
  EventRuleActionType,
10878
+ eventRuleActionParams,
10065
10879
  MASKED_SECRET_SENTINEL,
10066
10880
  WorkspaceFeature,
10067
10881
  MemberFeature,
@@ -10072,13 +10886,17 @@ export {
10072
10886
  LIMIT_ONLY_RESOURCES,
10073
10887
  WorkspaceProvisionStatus,
10074
10888
  InvitationStatus,
10889
+ ModelProvider,
10890
+ ModelType,
10075
10891
  REALTIME_MODEL_OPENAI,
10076
10892
  REALTIME_MODEL_OPENAI_MINI,
10893
+ REALTIME_MODEL_OPENAI_2,
10077
10894
  REALTIME_MODEL_GEMINI,
10078
10895
  REALTIME_MODEL_GEMINI_VERTEX,
10079
10896
  REALTIME_MODEL_NOVA_SONIC,
10080
10897
  REALTIME_MODEL_CUSTOM,
10081
10898
  STT_MODEL_DEEPGRAM_FLUX,
10899
+ STT_MODEL_DEEPGRAM_FLUX_MULTI,
10082
10900
  STT_MODEL_ELEVENLABS_SCRIBE,
10083
10901
  TTS_MODEL_ELEVENLABS_FLASH,
10084
10902
  TTS_MODEL_ELEVENLABS_TURBO,
@@ -10096,12 +10914,12 @@ export {
10096
10914
  AccessGrantStatus,
10097
10915
  AccessGrantTrigger,
10098
10916
  ConsentMethod,
10917
+ TERMINAL_TASK_STATES,
10099
10918
  WorkspaceInvitationsApi,
10100
10919
  WorkspacesApi,
10101
10920
  formatAppContextAsMarkdown,
10102
10921
  createApiModules,
10103
10922
  bindAccessGrantsMethods,
10104
- bindAgentJobsMethods,
10105
10923
  bindAgentTasksMethods,
10106
10924
  bindAgentsMethods,
10107
10925
  bindTasksMethods,
@@ -10122,6 +10940,7 @@ export {
10122
10940
  bindAppsMethods,
10123
10941
  bindIntegrationsMethods,
10124
10942
  bindOperatorMethods,
10943
+ bindOrgMethods,
10125
10944
  bindPronunciationsMethods,
10126
10945
  bindJourneysMethods,
10127
10946
  bindQualificationsMethods,
@@ -10129,6 +10948,7 @@ export {
10129
10948
  bindCustomersMethods,
10130
10949
  bindResellersMethods,
10131
10950
  bindPromptsMethods,
10951
+ bindSupportRequestMethods,
10132
10952
  GravityRailClient,
10133
10953
  AbilityTypeSlugs,
10134
10954
  DEFAULT_THINKING_SPEECH_PHRASES,
@@ -10136,6 +10956,20 @@ export {
10136
10956
  TTS_PREVIEW_PROVIDERS,
10137
10957
  getVoiceModelId,
10138
10958
  canPreviewVoice,
10959
+ SMS_DELIVERY_FAILURE_STATUSES,
10960
+ isSMSDeliveryFailureStatus,
10961
+ BusinessIndustry,
10962
+ BusinessType,
10963
+ EmailDnsRecordType,
10964
+ JobPosition,
10965
+ OIDCAdminConfigViewProviderType,
10966
+ Region,
10967
+ RegistrationIdentifier,
10968
+ SiteDnsRecordType,
10969
+ MenuItemResponseItemType,
10970
+ AbilityConfigIssueCode,
10971
+ AbilityConfigIssueSeverity,
10972
+ WorkflowAccessWarningResourceType,
10139
10973
  FeatureCategory,
10140
10974
  FeatureVisibility,
10141
10975
  initializeFeatures,
@@ -10157,6 +10991,7 @@ export {
10157
10991
  requiresAssistantParticipant,
10158
10992
  isChatType,
10159
10993
  DEFAULT_CHAT_MODEL,
10994
+ DEFAULT_VOICE_INFERENCE_MODEL,
10160
10995
  DEFAULT_CUSTOM_VOICE_MODEL,
10161
10996
  getResourceMetadata,
10162
10997
  getAllResourceSlugs,
@@ -10168,4 +11003,4 @@ export {
10168
11003
  ScopeManager,
10169
11004
  SCOPE_PRESETS
10170
11005
  };
10171
- //# sourceMappingURL=chunk-DNTCSBEW.js.map
11006
+ //# sourceMappingURL=chunk-QZC4QPP2.js.map