@gravity-rail/sdk 0.4.0 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-RJ5TGOOB.js → chunk-QS6ZRQUZ.js} +15 -12
- package/dist/chunk-QS6ZRQUZ.js.map +1 -0
- package/dist/{chunk-3BG2GMJZ.js → chunk-XRKRVY46.js} +732 -62
- package/dist/chunk-XRKRVY46.js.map +1 -0
- package/dist/{index-BXdVk_yu.d.cts → index-BhUZfOAG.d.cts} +7314 -5415
- package/dist/{index-MwOlcqFm.d.ts → index-fPswHAIF.d.ts} +7314 -5415
- package/dist/index.cjs +758 -72
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +44 -2
- package/dist/inquiries-DiTDrTG2.d.cts +3536 -0
- package/dist/inquiries-DiTDrTG2.d.ts +3536 -0
- package/dist/internal.cjs +772 -72
- package/dist/internal.cjs.map +1 -1
- package/dist/internal.d.cts +108 -64
- package/dist/internal.d.ts +108 -64
- package/dist/internal.js +50 -2
- package/dist/schemas.cjs +87 -19
- package/dist/schemas.cjs.map +1 -1
- package/dist/schemas.d.cts +183 -39
- package/dist/schemas.d.ts +183 -39
- package/dist/schemas.js +72 -9
- package/dist/schemas.js.map +1 -1
- package/package.json +9 -4
- package/dist/chunk-3BG2GMJZ.js.map +0 -1
- package/dist/chunk-RJ5TGOOB.js.map +0 -1
- package/dist/inquiries-s_RbhMsE.d.cts +0 -1941
- package/dist/inquiries-s_RbhMsE.d.ts +0 -1941
|
@@ -0,0 +1,3536 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
interface PaginatedResponse<T> {
|
|
4
|
+
items: T[];
|
|
5
|
+
total: number;
|
|
6
|
+
page: number;
|
|
7
|
+
pageSize: number;
|
|
8
|
+
totalPages: number;
|
|
9
|
+
}
|
|
10
|
+
interface CursorPaginatedResponse<T> {
|
|
11
|
+
items: T[];
|
|
12
|
+
nextCursor: string | null;
|
|
13
|
+
hasMore: boolean;
|
|
14
|
+
pageSize: number;
|
|
15
|
+
}
|
|
16
|
+
type SortOrder = 'asc' | 'desc';
|
|
17
|
+
declare enum AccessLevel {
|
|
18
|
+
PRIVATE = "private",
|
|
19
|
+
PUBLIC = "public",
|
|
20
|
+
WORKSPACE = "workspace"
|
|
21
|
+
}
|
|
22
|
+
declare const PERMISSION_NONE = 0;
|
|
23
|
+
declare const PERMISSION_USE = 1;
|
|
24
|
+
declare const PERMISSION_EDIT = 2;
|
|
25
|
+
declare const PERMISSION_CREATE = 4;
|
|
26
|
+
declare const PERMISSION_LIST = 8;
|
|
27
|
+
declare const PERMISSION_ADMIN = 16;
|
|
28
|
+
declare const PERMISSION_VERIFY = 32;
|
|
29
|
+
declare const PERMISSION_GEOLOCATE = 128;
|
|
30
|
+
declare const PERMISSION_LIST_ALL = 256;
|
|
31
|
+
declare const PERMISSION_DELETE = 512;
|
|
32
|
+
interface ObjectPermissionFlags {
|
|
33
|
+
use: boolean;
|
|
34
|
+
edit: boolean;
|
|
35
|
+
create: boolean;
|
|
36
|
+
list: boolean;
|
|
37
|
+
verify: boolean;
|
|
38
|
+
geolocate: boolean;
|
|
39
|
+
listAll: boolean;
|
|
40
|
+
delete: boolean;
|
|
41
|
+
}
|
|
42
|
+
declare function decodePermissions(accessMode: number): ObjectPermissionFlags;
|
|
43
|
+
declare function encodePermissions(permissions: ObjectPermissionFlags): number;
|
|
44
|
+
type ObjectPermission = 'use' | 'edit' | 'create' | 'list' | 'verify' | 'geolocate' | 'listAll' | 'delete';
|
|
45
|
+
/**
|
|
46
|
+
* Permission scopes for workspace access control.
|
|
47
|
+
* Maps to lib/context/scopes.py - keep in sync.
|
|
48
|
+
*
|
|
49
|
+
* Naming convention: NAMESPACE_ACTION
|
|
50
|
+
* Actions: READ, WRITE, ADMIN
|
|
51
|
+
*/
|
|
52
|
+
declare enum Scope {
|
|
53
|
+
WORKSPACE_READ = "workspace:read",
|
|
54
|
+
WORKSPACE_WRITE = "workspace:write",
|
|
55
|
+
WORKSPACE_ADMIN = "workspace:admin",
|
|
56
|
+
MEMBERS_READ = "members:read",
|
|
57
|
+
MEMBERS_WRITE = "members:write",
|
|
58
|
+
MEMBERS_ADMIN = "members:admin",
|
|
59
|
+
MEMBER_ROLES_READ = "member_roles:read",
|
|
60
|
+
MEMBER_ROLES_WRITE = "member_roles:write",
|
|
61
|
+
MEMBER_ROLES_ADMIN = "member_roles:admin",
|
|
62
|
+
CHATS_READ = "chats:read",
|
|
63
|
+
CHATS_WRITE = "chats:write",
|
|
64
|
+
CHATS_ADMIN = "chats:admin",
|
|
65
|
+
DIRECT_MESSAGES_READ = "dm:read",
|
|
66
|
+
DIRECT_MESSAGES_WRITE = "dm:write",
|
|
67
|
+
DIRECT_MESSAGES_ADMIN = "dm:admin",
|
|
68
|
+
JOURNEYS_READ = "journeys:read",
|
|
69
|
+
JOURNEYS_WRITE = "journeys:write",
|
|
70
|
+
JOURNEYS_ADMIN = "journeys:admin",
|
|
71
|
+
WORKFLOWS_READ = "workflows:read",
|
|
72
|
+
WORKFLOWS_WRITE = "workflows:write",
|
|
73
|
+
WORKFLOWS_ADMIN = "workflows:admin",
|
|
74
|
+
ASSIGNMENTS_READ = "assignments:read",
|
|
75
|
+
ASSIGNMENTS_WRITE = "assignments:write",
|
|
76
|
+
ASSIGNMENTS_ADMIN = "assignments:admin",
|
|
77
|
+
AUTOMATIONS_READ = "automations:read",
|
|
78
|
+
AUTOMATIONS_WRITE = "automations:write",
|
|
79
|
+
AUTOMATIONS_ADMIN = "automations:admin",
|
|
80
|
+
DATATYPES_READ = "datatypes:read",
|
|
81
|
+
DATATYPES_WRITE = "datatypes:write",
|
|
82
|
+
DATATYPES_ADMIN = "datatypes:admin",
|
|
83
|
+
RECORDS_READ = "records:read",
|
|
84
|
+
RECORDS_WRITE = "records:write",
|
|
85
|
+
RECORDS_ADMIN = "records:admin",
|
|
86
|
+
FILES_READ = "files:read",
|
|
87
|
+
FILES_WRITE = "files:write",
|
|
88
|
+
FILES_ADMIN = "files:admin",
|
|
89
|
+
SITES_READ = "sites:read",
|
|
90
|
+
SITES_WRITE = "sites:write",
|
|
91
|
+
SITES_ADMIN = "sites:admin",
|
|
92
|
+
AGENTS_READ = "agents:read",
|
|
93
|
+
AGENTS_WRITE = "agents:write",
|
|
94
|
+
AGENTS_ADMIN = "agents:admin",
|
|
95
|
+
CALENDARS_READ = "calendars:read",
|
|
96
|
+
CALENDARS_WRITE = "calendars:write",
|
|
97
|
+
CALENDARS_ADMIN = "calendars:admin",
|
|
98
|
+
INBOXES_READ = "inboxes:read",
|
|
99
|
+
INBOXES_WRITE = "inboxes:write",
|
|
100
|
+
INBOXES_ADMIN = "inboxes:admin",
|
|
101
|
+
PHONES_READ = "phones:read",
|
|
102
|
+
PHONES_WRITE = "phones:write",
|
|
103
|
+
PHONES_ADMIN = "phones:admin",
|
|
104
|
+
WEBHOOKS_READ = "webhooks:read",
|
|
105
|
+
WEBHOOKS_WRITE = "webhooks:write",
|
|
106
|
+
WEBHOOKS_ADMIN = "webhooks:admin",
|
|
107
|
+
WEBHOOKS_RAW = "webhooks:raw",// Access to raw webhook payloads
|
|
108
|
+
APPS_READ = "apps:read",
|
|
109
|
+
APPS_WRITE = "apps:write",
|
|
110
|
+
APPS_ADMIN = "apps:admin",
|
|
111
|
+
LABELS_READ = "labels:read",
|
|
112
|
+
/** @deprecated Use parent resource write scope (MEMBERS_WRITE, CHATS_WRITE, FILES_WRITE) */
|
|
113
|
+
LABELS_WRITE = "labels:write",
|
|
114
|
+
ANALYTICS_READ = "analytics:read",
|
|
115
|
+
OPERATOR_READ = "operator:read",
|
|
116
|
+
OPERATOR_WRITE = "operator:write",
|
|
117
|
+
ORG_INFO = "org:info",
|
|
118
|
+
ORG_READ = "org:read",
|
|
119
|
+
ORG_WRITE = "org:write",
|
|
120
|
+
ORG_ADMIN = "org:admin",
|
|
121
|
+
ORG_BILLING = "org:billing",
|
|
122
|
+
ORG_DELETE = "org:delete"
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
type ChatSortField = 'createdAt' | 'updatedAt' | 'title' | 'mostRecentMessage';
|
|
126
|
+
type AssignmentSortField = 'createdAt' | 'updatedAt';
|
|
127
|
+
type MemberSortField = 'createdAt' | 'updatedAt' | 'name' | 'email';
|
|
128
|
+
type SiteSortField = 'createdAt' | 'updatedAt' | 'name';
|
|
129
|
+
type FileSortField = 'createdAt' | 'updatedAt' | 'name';
|
|
130
|
+
type PageSortField = 'createdAt' | 'updatedAt' | 'title';
|
|
131
|
+
type WebhookLogSortField = 'createdAt';
|
|
132
|
+
type RuleExecutionSortField = 'createdAt' | 'completedAt' | 'durationMs' | 'status';
|
|
133
|
+
type RoutineSortField = 'createdAt' | 'updatedAt' | 'name' | 'scheduledTime';
|
|
134
|
+
type EventRunSortField = 'createdAt';
|
|
135
|
+
type MilestoneSortField = 'name' | 'createdAt' | 'updatedAt' | 'targetDate';
|
|
136
|
+
type AccountSortField = 'createdAt' | 'updatedAt' | 'name' | 'email';
|
|
137
|
+
type WorkspaceSortField = 'createdAt' | 'updatedAt' | 'name';
|
|
138
|
+
type AdminWorkspaceSortField = 'name' | 'slug' | 'createdAt';
|
|
139
|
+
type BotSortField = 'createdAt' | 'updatedAt' | 'name';
|
|
140
|
+
type AgentSortField = 'createdAt' | 'updatedAt' | 'name';
|
|
141
|
+
type WorkflowSortField = 'name' | 'updatedAt' | 'createdAt';
|
|
142
|
+
type TaskSortField = 'name' | 'createdAt' | 'workflowId';
|
|
143
|
+
type QualificationSortField = 'name' | 'createdAt';
|
|
144
|
+
type JourneySortField = 'name' | 'createdAt';
|
|
145
|
+
type McpServerSortField = 'name' | 'createdAt' | 'state';
|
|
146
|
+
type DataTypeSortField = 'name' | 'createdAt';
|
|
147
|
+
type CalendarEventSortField = 'startTime' | 'createdAt';
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* Generated by Orval (filtered by scripts/types-codegen/allowlist.txt and
|
|
151
|
+
* grouped by scripts/types-codegen/group_generated.ts). Do not edit manually.
|
|
152
|
+
* Group: account
|
|
153
|
+
*/
|
|
154
|
+
/**
|
|
155
|
+
* Base account response for non-admin endpoints.
|
|
156
|
+
*
|
|
157
|
+
* Note: With Verified Credential Architecture, if email/phone is set,
|
|
158
|
+
* it's verified by construction. The *_verified_at timestamps record when.
|
|
159
|
+
* Credentials are IMMUTABLE once set.
|
|
160
|
+
*/
|
|
161
|
+
interface AccountResponse {
|
|
162
|
+
id: number;
|
|
163
|
+
uuid: string;
|
|
164
|
+
loggedIn: boolean;
|
|
165
|
+
avatarUrl: string | null;
|
|
166
|
+
email: string | null;
|
|
167
|
+
phone: string | null;
|
|
168
|
+
emailVerifiedAt: string | null;
|
|
169
|
+
phoneVerifiedAt: string | null;
|
|
170
|
+
name: string | null;
|
|
171
|
+
createdAt: string;
|
|
172
|
+
isSuperuser: boolean;
|
|
173
|
+
enabled: boolean;
|
|
174
|
+
signupWorkspaceId: number | null;
|
|
175
|
+
tosAccepted: boolean;
|
|
176
|
+
optedOut: boolean;
|
|
177
|
+
stripeCustomerId: string | null;
|
|
178
|
+
locale: string | null;
|
|
179
|
+
timezone: string | null;
|
|
180
|
+
}
|
|
181
|
+
interface AdminAccountMembershipResponse$1 {
|
|
182
|
+
workspaceUuid: string;
|
|
183
|
+
workspaceName: string;
|
|
184
|
+
role: string;
|
|
185
|
+
createdAt: string;
|
|
186
|
+
tosAccepted: boolean;
|
|
187
|
+
memberRoleId: number;
|
|
188
|
+
memberId: number;
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Response for an account's organization membership.
|
|
192
|
+
*/
|
|
193
|
+
interface AdminAccountOrgMembershipResponse {
|
|
194
|
+
organizationId: number;
|
|
195
|
+
organizationUuid: string;
|
|
196
|
+
organizationName: string;
|
|
197
|
+
organizationSlug: string;
|
|
198
|
+
organizationLogoUrl: string | null;
|
|
199
|
+
role: string;
|
|
200
|
+
name: string | null;
|
|
201
|
+
accountName: string | null;
|
|
202
|
+
externalId: string | null;
|
|
203
|
+
createdAt: string;
|
|
204
|
+
updatedAt: string;
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Detailed account response for admin endpoints including related entities
|
|
208
|
+
*/
|
|
209
|
+
interface AdminAccountResponse {
|
|
210
|
+
id: number;
|
|
211
|
+
uuid: string;
|
|
212
|
+
loggedIn: boolean;
|
|
213
|
+
avatarUrl: string | null;
|
|
214
|
+
email: string | null;
|
|
215
|
+
phone: string | null;
|
|
216
|
+
emailVerifiedAt: string | null;
|
|
217
|
+
phoneVerifiedAt: string | null;
|
|
218
|
+
name: string | null;
|
|
219
|
+
createdAt: string;
|
|
220
|
+
isSuperuser: boolean;
|
|
221
|
+
enabled: boolean;
|
|
222
|
+
signupWorkspaceId: number | null;
|
|
223
|
+
tosAccepted: boolean;
|
|
224
|
+
optedOut: boolean;
|
|
225
|
+
stripeCustomerId: string | null;
|
|
226
|
+
locale: string | null;
|
|
227
|
+
timezone: string | null;
|
|
228
|
+
workspaceUuids: string[];
|
|
229
|
+
customerId?: number | null;
|
|
230
|
+
customerName?: string | null;
|
|
231
|
+
pendingDeletion?: boolean;
|
|
232
|
+
deletionRequestedAt?: string | null;
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Response model for when a new API key is created, including the full key.
|
|
236
|
+
*/
|
|
237
|
+
interface ApiKeyCreatedResponse {
|
|
238
|
+
id: number;
|
|
239
|
+
uuid: string;
|
|
240
|
+
name: string;
|
|
241
|
+
keyPrefix: string;
|
|
242
|
+
createdAt: string;
|
|
243
|
+
expiresAt?: string | null;
|
|
244
|
+
lastUsedAt?: string | null;
|
|
245
|
+
enabled: boolean;
|
|
246
|
+
scopes: string[];
|
|
247
|
+
appId?: number | null;
|
|
248
|
+
key: string;
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Response model for API key information.
|
|
252
|
+
*/
|
|
253
|
+
interface ApiKeyResponse {
|
|
254
|
+
id: number;
|
|
255
|
+
uuid: string;
|
|
256
|
+
name: string;
|
|
257
|
+
keyPrefix: string;
|
|
258
|
+
createdAt: string;
|
|
259
|
+
expiresAt?: string | null;
|
|
260
|
+
lastUsedAt?: string | null;
|
|
261
|
+
enabled: boolean;
|
|
262
|
+
scopes: string[];
|
|
263
|
+
appId?: number | null;
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Response after canceling a credential change invitation.
|
|
267
|
+
*/
|
|
268
|
+
interface CancelCredentialChangeInviteResponse {
|
|
269
|
+
success: boolean;
|
|
270
|
+
message: string;
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Response after canceling a credential change request.
|
|
274
|
+
*/
|
|
275
|
+
interface CancelCredentialChangeResponse {
|
|
276
|
+
success: boolean;
|
|
277
|
+
message: string;
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Response after confirming a credential change invitation.
|
|
281
|
+
*/
|
|
282
|
+
interface CredentialChangeInviteConfirmResponse {
|
|
283
|
+
success: boolean;
|
|
284
|
+
message: string;
|
|
285
|
+
credentialType?: 'email' | 'phone' | null;
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Response with details of a credential change invitation.
|
|
289
|
+
*
|
|
290
|
+
* Used for the confirmation page to show what change is being proposed.
|
|
291
|
+
*/
|
|
292
|
+
interface CredentialChangeInviteDetailsResponse {
|
|
293
|
+
id: number;
|
|
294
|
+
credentialType: CredentialChangeInviteDetailsResponseCredentialType;
|
|
295
|
+
newValue: string;
|
|
296
|
+
workspaceName: string;
|
|
297
|
+
workspaceUuid: string;
|
|
298
|
+
initiatedByName: string | null;
|
|
299
|
+
createdAt: string;
|
|
300
|
+
expiresAt: string;
|
|
301
|
+
isExpired: boolean;
|
|
302
|
+
isValid: boolean;
|
|
303
|
+
}
|
|
304
|
+
type CredentialChangeInviteDetailsResponseCredentialType = (typeof CredentialChangeInviteDetailsResponseCredentialType)[keyof typeof CredentialChangeInviteDetailsResponseCredentialType];
|
|
305
|
+
declare const CredentialChangeInviteDetailsResponseCredentialType: {
|
|
306
|
+
readonly email: "email";
|
|
307
|
+
readonly phone: "phone";
|
|
308
|
+
};
|
|
309
|
+
/**
|
|
310
|
+
* Response after creating a credential change invitation.
|
|
311
|
+
*/
|
|
312
|
+
interface CredentialChangeInviteResponse {
|
|
313
|
+
id: number;
|
|
314
|
+
credentialType: CredentialChangeInviteResponseCredentialType;
|
|
315
|
+
maskedNewValue: string;
|
|
316
|
+
expiresAt: string;
|
|
317
|
+
message: string;
|
|
318
|
+
}
|
|
319
|
+
type CredentialChangeInviteResponseCredentialType = (typeof CredentialChangeInviteResponseCredentialType)[keyof typeof CredentialChangeInviteResponseCredentialType];
|
|
320
|
+
declare const CredentialChangeInviteResponseCredentialType: {
|
|
321
|
+
readonly email: "email";
|
|
322
|
+
readonly phone: "phone";
|
|
323
|
+
};
|
|
324
|
+
/**
|
|
325
|
+
* Response after requesting a credential change.
|
|
326
|
+
*/
|
|
327
|
+
interface CredentialChangeRequestResponse {
|
|
328
|
+
id: number;
|
|
329
|
+
credential_type: CredentialChangeRequestResponseCredentialType;
|
|
330
|
+
expires_at: string;
|
|
331
|
+
message: string;
|
|
332
|
+
}
|
|
333
|
+
type CredentialChangeRequestResponseCredentialType = (typeof CredentialChangeRequestResponseCredentialType)[keyof typeof CredentialChangeRequestResponseCredentialType];
|
|
334
|
+
declare const CredentialChangeRequestResponseCredentialType: {
|
|
335
|
+
readonly email: "email";
|
|
336
|
+
readonly phone: "phone";
|
|
337
|
+
};
|
|
338
|
+
/**
|
|
339
|
+
* Response after verifying a credential change.
|
|
340
|
+
*/
|
|
341
|
+
interface CredentialChangeVerifyResponse {
|
|
342
|
+
success: boolean;
|
|
343
|
+
message: string;
|
|
344
|
+
credential_type?: 'email' | 'phone' | null;
|
|
345
|
+
}
|
|
346
|
+
interface LoginResponse {
|
|
347
|
+
token: string;
|
|
348
|
+
accountId: number;
|
|
349
|
+
accountName?: string | null;
|
|
350
|
+
accountUuid?: string | null;
|
|
351
|
+
requiresTwoFactor?: boolean | null;
|
|
352
|
+
availableTwoFactorMethods?: unknown[] | null;
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* Response for a pending credential change invitation.
|
|
356
|
+
*/
|
|
357
|
+
interface PendingCredentialChangeInviteResponse {
|
|
358
|
+
id: number;
|
|
359
|
+
credentialType: PendingCredentialChangeInviteResponseCredentialType;
|
|
360
|
+
maskedNewValue: string;
|
|
361
|
+
workspaceName: string;
|
|
362
|
+
initiatedByName: string | null;
|
|
363
|
+
createdAt: string;
|
|
364
|
+
expiresAt: string;
|
|
365
|
+
isExpired: boolean;
|
|
366
|
+
status: string;
|
|
367
|
+
}
|
|
368
|
+
type PendingCredentialChangeInviteResponseCredentialType = (typeof PendingCredentialChangeInviteResponseCredentialType)[keyof typeof PendingCredentialChangeInviteResponseCredentialType];
|
|
369
|
+
declare const PendingCredentialChangeInviteResponseCredentialType: {
|
|
370
|
+
readonly email: "email";
|
|
371
|
+
readonly phone: "phone";
|
|
372
|
+
};
|
|
373
|
+
/**
|
|
374
|
+
* Response for a pending credential change request.
|
|
375
|
+
*/
|
|
376
|
+
interface PendingCredentialChangeResponse {
|
|
377
|
+
id: number;
|
|
378
|
+
credential_type: PendingCredentialChangeResponseCredentialType;
|
|
379
|
+
masked_new_value: string;
|
|
380
|
+
created_at: string;
|
|
381
|
+
expires_at: string;
|
|
382
|
+
is_expired: boolean;
|
|
383
|
+
attempts: number;
|
|
384
|
+
}
|
|
385
|
+
type PendingCredentialChangeResponseCredentialType = (typeof PendingCredentialChangeResponseCredentialType)[keyof typeof PendingCredentialChangeResponseCredentialType];
|
|
386
|
+
declare const PendingCredentialChangeResponseCredentialType: {
|
|
387
|
+
readonly email: "email";
|
|
388
|
+
readonly phone: "phone";
|
|
389
|
+
};
|
|
390
|
+
/**
|
|
391
|
+
* Response model for recovery codes
|
|
392
|
+
*/
|
|
393
|
+
interface RecoveryCodeResponse {
|
|
394
|
+
/** List of recovery codes (only shown once) */
|
|
395
|
+
codes: string[];
|
|
396
|
+
/** When the codes were generated */
|
|
397
|
+
generatedAt: string;
|
|
398
|
+
warning?: string;
|
|
399
|
+
}
|
|
400
|
+
interface SendLoginCodeResponse {
|
|
401
|
+
success: boolean;
|
|
402
|
+
message?: string | null;
|
|
403
|
+
}
|
|
404
|
+
/**
|
|
405
|
+
* Response for TOTP setup initiation
|
|
406
|
+
*/
|
|
407
|
+
interface TOTPSetupResponse {
|
|
408
|
+
/** Session ID for completing setup */
|
|
409
|
+
setupId: string;
|
|
410
|
+
/** Base32 encoded TOTP secret */
|
|
411
|
+
secret: string;
|
|
412
|
+
/** QR code URL for easy setup */
|
|
413
|
+
qrCodeUrl: string;
|
|
414
|
+
/** Manual entry key for authenticator apps */
|
|
415
|
+
manualEntryKey: string;
|
|
416
|
+
/** Issuer name for TOTP */
|
|
417
|
+
issuer: string;
|
|
418
|
+
}
|
|
419
|
+
/**
|
|
420
|
+
* Response model for 2FA method details
|
|
421
|
+
*/
|
|
422
|
+
interface TwoFactorMethodResponse$1 {
|
|
423
|
+
id: number;
|
|
424
|
+
methodType: string;
|
|
425
|
+
name: string;
|
|
426
|
+
enabled: boolean;
|
|
427
|
+
createdAt: string;
|
|
428
|
+
lastUsedAt?: string | null;
|
|
429
|
+
}
|
|
430
|
+
/**
|
|
431
|
+
* Generic response for 2FA operations
|
|
432
|
+
*/
|
|
433
|
+
interface TwoFactorOperationResponse {
|
|
434
|
+
/** Whether the operation was successful */
|
|
435
|
+
success: boolean;
|
|
436
|
+
/** Human-readable message */
|
|
437
|
+
message: string;
|
|
438
|
+
/** ID of the affected 2FA method */
|
|
439
|
+
methodId?: number | null;
|
|
440
|
+
}
|
|
441
|
+
/**
|
|
442
|
+
* Response for overall 2FA status
|
|
443
|
+
*/
|
|
444
|
+
interface TwoFactorStatusResponse$1 {
|
|
445
|
+
/** Whether any 2FA method is enabled */
|
|
446
|
+
enabled: boolean;
|
|
447
|
+
/** List of configured 2FA methods */
|
|
448
|
+
methods: TwoFactorMethodResponse$1[];
|
|
449
|
+
/** Number of unused recovery codes */
|
|
450
|
+
recoveryCodesCount: number;
|
|
451
|
+
/** When recovery codes were last generated */
|
|
452
|
+
lastRecoveryCodesGenerated?: string | null;
|
|
453
|
+
}
|
|
454
|
+
/**
|
|
455
|
+
* Response for WebAuthn registration initiation
|
|
456
|
+
*/
|
|
457
|
+
interface WebAuthnRegistrationResponse {
|
|
458
|
+
/** Session ID for completing setup */
|
|
459
|
+
setupId: string;
|
|
460
|
+
/** Full WebAuthn credential creation options */
|
|
461
|
+
credentialCreationOptions: WebAuthnRegistrationResponseCredentialCreationOptions;
|
|
462
|
+
}
|
|
463
|
+
/**
|
|
464
|
+
* Full WebAuthn credential creation options
|
|
465
|
+
*/
|
|
466
|
+
type WebAuthnRegistrationResponseCredentialCreationOptions = {
|
|
467
|
+
[key: string]: unknown;
|
|
468
|
+
};
|
|
469
|
+
|
|
470
|
+
/**
|
|
471
|
+
* Generated by Orval (filtered by scripts/types-codegen/allowlist.txt and
|
|
472
|
+
* grouped by scripts/types-codegen/group_generated.ts). Do not edit manually.
|
|
473
|
+
* Group: organization
|
|
474
|
+
*/
|
|
475
|
+
/**
|
|
476
|
+
* Twilio Address resource.
|
|
477
|
+
*/
|
|
478
|
+
interface Address {
|
|
479
|
+
/**
|
|
480
|
+
* @minLength 1
|
|
481
|
+
* @maxLength 100
|
|
482
|
+
*/
|
|
483
|
+
customerName: string;
|
|
484
|
+
/**
|
|
485
|
+
* @minLength 1
|
|
486
|
+
* @maxLength 100
|
|
487
|
+
*/
|
|
488
|
+
street: string;
|
|
489
|
+
/**
|
|
490
|
+
* @minLength 1
|
|
491
|
+
* @maxLength 50
|
|
492
|
+
*/
|
|
493
|
+
city: string;
|
|
494
|
+
/**
|
|
495
|
+
* @minLength 1
|
|
496
|
+
* @maxLength 50
|
|
497
|
+
*/
|
|
498
|
+
region: string;
|
|
499
|
+
/**
|
|
500
|
+
* @minLength 1
|
|
501
|
+
* @maxLength 20
|
|
502
|
+
*/
|
|
503
|
+
postalCode: string;
|
|
504
|
+
/**
|
|
505
|
+
* @minLength 2
|
|
506
|
+
* @maxLength 2
|
|
507
|
+
*/
|
|
508
|
+
isoCountry: string;
|
|
509
|
+
}
|
|
510
|
+
/**
|
|
511
|
+
* Extended organization response with admin details.
|
|
512
|
+
*
|
|
513
|
+
* `ssoOidc` is the redacted view of the persisted OIDC config — the
|
|
514
|
+
* cleartext `client_secret` is never exposed; instead `client_secret_set`
|
|
515
|
+
* indicates whether one is configured. Only populated for orgs whose
|
|
516
|
+
* `sso_provider == "oidc"`.
|
|
517
|
+
*
|
|
518
|
+
* `enforceCreditLimit` exposes the per-org credit gate switch so
|
|
519
|
+
* the admin UI can render and toggle it. False = soft (alert only),
|
|
520
|
+
* True = hard stop (raises 402 at zero credits).
|
|
521
|
+
*/
|
|
522
|
+
interface AdminOrganizationResponse$1 {
|
|
523
|
+
id: number;
|
|
524
|
+
uuid: string;
|
|
525
|
+
name: string;
|
|
526
|
+
slug: string;
|
|
527
|
+
primary: boolean;
|
|
528
|
+
logoUrl?: string | null;
|
|
529
|
+
contactEmail?: string | null;
|
|
530
|
+
contactPhone?: string | null;
|
|
531
|
+
authMode?: string;
|
|
532
|
+
createdAt: string;
|
|
533
|
+
creatorId?: number | null;
|
|
534
|
+
creatorName?: string | null;
|
|
535
|
+
resellerWorkspaceId?: number | null;
|
|
536
|
+
resellerWorkspaceUuid?: string | null;
|
|
537
|
+
sso?: LibModelsGlbResponsesOrganizationResponsesSSOConfigResponse | null;
|
|
538
|
+
viewType?: string;
|
|
539
|
+
accountCount?: number;
|
|
540
|
+
workspaceCount?: number;
|
|
541
|
+
phoneNumberCount?: number;
|
|
542
|
+
ssoOidc?: OIDCAdminConfigView | null;
|
|
543
|
+
enforceCreditLimit?: boolean;
|
|
544
|
+
}
|
|
545
|
+
/**
|
|
546
|
+
* Authorized representative — Twilio End-User of type
|
|
547
|
+
* authorized_representative_1 / _2.
|
|
548
|
+
*/
|
|
549
|
+
interface AuthorizedRep {
|
|
550
|
+
/**
|
|
551
|
+
* @minLength 1
|
|
552
|
+
* @maxLength 50
|
|
553
|
+
*/
|
|
554
|
+
firstName: string;
|
|
555
|
+
/**
|
|
556
|
+
* @minLength 1
|
|
557
|
+
* @maxLength 50
|
|
558
|
+
*/
|
|
559
|
+
lastName: string;
|
|
560
|
+
email: string;
|
|
561
|
+
/**
|
|
562
|
+
* @minLength 1
|
|
563
|
+
* @maxLength 20
|
|
564
|
+
*/
|
|
565
|
+
phoneNumber: string;
|
|
566
|
+
/**
|
|
567
|
+
* @minLength 1
|
|
568
|
+
* @maxLength 50
|
|
569
|
+
*/
|
|
570
|
+
businessTitle: string;
|
|
571
|
+
jobPosition: JobPosition;
|
|
572
|
+
}
|
|
573
|
+
/**
|
|
574
|
+
* Twilio's accepted business industries — SHOUTING_SNAKE_CASE.
|
|
575
|
+
*
|
|
576
|
+
* Source: ``api-create-secondary-customer-profile.md``.
|
|
577
|
+
*/
|
|
578
|
+
type BusinessIndustry = (typeof BusinessIndustry)[keyof typeof BusinessIndustry];
|
|
579
|
+
declare const BusinessIndustry: {
|
|
580
|
+
readonly AGRICULTURE: "AGRICULTURE";
|
|
581
|
+
readonly AUTOMOTIVE: "AUTOMOTIVE";
|
|
582
|
+
readonly BANKING: "BANKING";
|
|
583
|
+
readonly CONSUMER: "CONSUMER";
|
|
584
|
+
readonly EDUCATION: "EDUCATION";
|
|
585
|
+
readonly ELECTRONICS: "ELECTRONICS";
|
|
586
|
+
readonly ENERGY: "ENERGY";
|
|
587
|
+
readonly ENGINEERING: "ENGINEERING";
|
|
588
|
+
readonly FAST_MOVING_CONSUMER_GOODS: "FAST_MOVING_CONSUMER_GOODS";
|
|
589
|
+
readonly FINANCIAL: "FINANCIAL";
|
|
590
|
+
readonly FINTECH: "FINTECH";
|
|
591
|
+
readonly FOOD_AND_BEVERAGE: "FOOD_AND_BEVERAGE";
|
|
592
|
+
readonly GOVERNMENT: "GOVERNMENT";
|
|
593
|
+
readonly HEALTHCARE: "HEALTHCARE";
|
|
594
|
+
readonly HOSPITALITY: "HOSPITALITY";
|
|
595
|
+
readonly INSURANCE: "INSURANCE";
|
|
596
|
+
readonly JEWELRY: "JEWELRY";
|
|
597
|
+
readonly LEGAL: "LEGAL";
|
|
598
|
+
readonly MANUFACTURING: "MANUFACTURING";
|
|
599
|
+
readonly MEDIA: "MEDIA";
|
|
600
|
+
readonly NOT_FOR_PROFIT: "NOT_FOR_PROFIT";
|
|
601
|
+
readonly OIL_AND_GAS: "OIL_AND_GAS";
|
|
602
|
+
readonly ONLINE: "ONLINE";
|
|
603
|
+
readonly RAW_MATERIALS: "RAW_MATERIALS";
|
|
604
|
+
readonly REAL_ESTATE: "REAL_ESTATE";
|
|
605
|
+
readonly RELIGION: "RELIGION";
|
|
606
|
+
readonly RETAIL: "RETAIL";
|
|
607
|
+
readonly TECHNOLOGY: "TECHNOLOGY";
|
|
608
|
+
readonly TELECOMMUNICATIONS: "TELECOMMUNICATIONS";
|
|
609
|
+
readonly TRANSPORTATION: "TRANSPORTATION";
|
|
610
|
+
readonly TRAVEL: "TRAVEL";
|
|
611
|
+
};
|
|
612
|
+
/**
|
|
613
|
+
* Business identity fields stored on the Twilio business End-User.
|
|
614
|
+
*
|
|
615
|
+
* Field shape mirrors Twilio's ``customer_profile_business_information``
|
|
616
|
+
* EndUser type. ``dba`` is intentionally absent — Twilio's schema has no
|
|
617
|
+
* DBA attribute, and unknown attributes are rejected with code 70002.
|
|
618
|
+
*/
|
|
619
|
+
interface BusinessInfo {
|
|
620
|
+
/**
|
|
621
|
+
* @minLength 1
|
|
622
|
+
* @maxLength 100
|
|
623
|
+
*/
|
|
624
|
+
legalName: string;
|
|
625
|
+
industry: BusinessIndustry;
|
|
626
|
+
businessType: BusinessType;
|
|
627
|
+
/**
|
|
628
|
+
* @minLength 1
|
|
629
|
+
* @maxLength 64
|
|
630
|
+
*/
|
|
631
|
+
registrationNumber: string;
|
|
632
|
+
registrationIdentifier: RegistrationIdentifier;
|
|
633
|
+
/** @minItems 1 */
|
|
634
|
+
regionsOfOperation: Region[];
|
|
635
|
+
/**
|
|
636
|
+
* @minLength 1
|
|
637
|
+
* @maxLength 2083
|
|
638
|
+
*/
|
|
639
|
+
websiteUrl: string;
|
|
640
|
+
}
|
|
641
|
+
interface BusinessProfileCancelResponse {
|
|
642
|
+
status: string;
|
|
643
|
+
}
|
|
644
|
+
/**
|
|
645
|
+
* GET /business-profile body — built from a live Twilio fetch.
|
|
646
|
+
*
|
|
647
|
+
* ``status`` is the LIVE Twilio Customer Profile **lifecycle** status
|
|
648
|
+
* (``draft`` / ``pending-review`` / ``in-review`` / ``twilio-approved``
|
|
649
|
+
* / ``twilio-rejected``) — never the cached
|
|
650
|
+
* ``customer_profile_status`` hint (plan §1c). ``failureReasons`` is
|
|
651
|
+
* the scrubbed, persisted list — those values are post-scrub and safe
|
|
652
|
+
* to expose.
|
|
653
|
+
*
|
|
654
|
+
* ``evaluationStatus`` is the most recent **compliance evaluation**
|
|
655
|
+
* result (``compliant`` / ``noncompliant``) when the profile is still
|
|
656
|
+
* pre-submission, otherwise ``None``. Twilio models lifecycle and
|
|
657
|
+
* evaluation as two separate enums on two separate resources
|
|
658
|
+
* (``customer_profile_enum_status`` vs
|
|
659
|
+
* ``customer_profile_evaluation_enum_status``); the frontend needs
|
|
660
|
+
* both to decide whether the Submit button is eligible without making
|
|
661
|
+
* a second round-trip.
|
|
662
|
+
*/
|
|
663
|
+
interface BusinessProfileResponse {
|
|
664
|
+
status?: string | null;
|
|
665
|
+
evaluationStatus?: 'compliant' | 'noncompliant' | null;
|
|
666
|
+
customerProfileSid?: string | null;
|
|
667
|
+
businessInfo?: BusinessInfo | null;
|
|
668
|
+
authorizedReps?: AuthorizedRep[];
|
|
669
|
+
address?: Address | null;
|
|
670
|
+
failureReasons?: string[];
|
|
671
|
+
}
|
|
672
|
+
interface BusinessProfileSubmitResponse {
|
|
673
|
+
status: BusinessProfileSubmitResponseStatus;
|
|
674
|
+
workflowId: string;
|
|
675
|
+
}
|
|
676
|
+
type BusinessProfileSubmitResponseStatus = (typeof BusinessProfileSubmitResponseStatus)[keyof typeof BusinessProfileSubmitResponseStatus];
|
|
677
|
+
declare const BusinessProfileSubmitResponseStatus: {
|
|
678
|
+
readonly 'pending-review': "pending-review";
|
|
679
|
+
readonly submitting: "submitting";
|
|
680
|
+
};
|
|
681
|
+
/**
|
|
682
|
+
* Twilio's accepted business types — Title Case with spaces.
|
|
683
|
+
*
|
|
684
|
+
* Source: ``api-create-secondary-customer-profile.md``. Values are
|
|
685
|
+
* inconsistently cased (Title Case here, SHOUTING_SNAKE for industry,
|
|
686
|
+
* lowercase_snake for identity) — that's how Twilio defines them.
|
|
687
|
+
*/
|
|
688
|
+
type BusinessType = (typeof BusinessType)[keyof typeof BusinessType];
|
|
689
|
+
declare const BusinessType: {
|
|
690
|
+
readonly Sole_Proprietorship: "Sole Proprietorship";
|
|
691
|
+
readonly Partnership: "Partnership";
|
|
692
|
+
readonly Limited_Liability_Corporation: "Limited Liability Corporation";
|
|
693
|
+
readonly 'Co-operative': "Co-operative";
|
|
694
|
+
readonly 'Non-profit_Corporation': "Non-profit Corporation";
|
|
695
|
+
readonly Corporation: "Corporation";
|
|
696
|
+
};
|
|
697
|
+
/**
|
|
698
|
+
* Inboxes that will lose routing if email is disabled.
|
|
699
|
+
*
|
|
700
|
+
* Returned when DELETE is called without `confirm=true` so the UI can
|
|
701
|
+
* show a clear "this will break N inboxes" warning before destructive
|
|
702
|
+
* action.
|
|
703
|
+
*/
|
|
704
|
+
interface EmailDisableImpactResponse {
|
|
705
|
+
inboxCount: number;
|
|
706
|
+
inboxEmails: string[];
|
|
707
|
+
}
|
|
708
|
+
/**
|
|
709
|
+
* One DNS record the customer must publish for email to work.
|
|
710
|
+
*/
|
|
711
|
+
interface EmailDnsRecord {
|
|
712
|
+
type: EmailDnsRecordType;
|
|
713
|
+
host: string;
|
|
714
|
+
value: string;
|
|
715
|
+
ttl?: number;
|
|
716
|
+
priority?: number | null;
|
|
717
|
+
purpose: string;
|
|
718
|
+
status: string;
|
|
719
|
+
}
|
|
720
|
+
type EmailDnsRecordType = (typeof EmailDnsRecordType)[keyof typeof EmailDnsRecordType];
|
|
721
|
+
declare const EmailDnsRecordType: {
|
|
722
|
+
readonly TXT: "TXT";
|
|
723
|
+
readonly CNAME: "CNAME";
|
|
724
|
+
readonly MX: "MX";
|
|
725
|
+
};
|
|
726
|
+
/**
|
|
727
|
+
* GET response wrapper.
|
|
728
|
+
*
|
|
729
|
+
* `enabled=False` when no EmailDomainConfig exists for the OrgDomain
|
|
730
|
+
* (the customer hasn't called POST .../email yet). `enabled=True` when a
|
|
731
|
+
* config exists; `config` is populated.
|
|
732
|
+
*
|
|
733
|
+
* A 404 from the GET endpoint always means the parent OrgDomain doesn't
|
|
734
|
+
* exist or isn't in this org — never "email not enabled". Lets the UI
|
|
735
|
+
* distinguish the two cases cleanly without parsing error detail strings.
|
|
736
|
+
*/
|
|
737
|
+
interface EmailDomainConfigGetResponse {
|
|
738
|
+
enabled: boolean;
|
|
739
|
+
config?: EmailDomainConfigResponse | null;
|
|
740
|
+
}
|
|
741
|
+
/**
|
|
742
|
+
* Full picture of an EmailDomainConfig — DNS records + statuses.
|
|
743
|
+
*/
|
|
744
|
+
interface EmailDomainConfigResponse {
|
|
745
|
+
uuid: string;
|
|
746
|
+
orgDomainUuid: string;
|
|
747
|
+
domain: string;
|
|
748
|
+
status: string;
|
|
749
|
+
spfStatus: string;
|
|
750
|
+
dkimStatus: string;
|
|
751
|
+
dmarcStatus: string;
|
|
752
|
+
mxStatus: string;
|
|
753
|
+
returnPathStatus: string;
|
|
754
|
+
lastCheckedAt?: string | null;
|
|
755
|
+
createdAt: string;
|
|
756
|
+
updatedAt: string;
|
|
757
|
+
dnsRecords: EmailDnsRecord[];
|
|
758
|
+
}
|
|
759
|
+
/**
|
|
760
|
+
* Result of running a "Check DNS" pass.
|
|
761
|
+
*/
|
|
762
|
+
interface EmailVerificationResponse {
|
|
763
|
+
status: string;
|
|
764
|
+
config: EmailDomainConfigResponse;
|
|
765
|
+
}
|
|
766
|
+
/**
|
|
767
|
+
* Twilio's accepted authorized-rep job positions.
|
|
768
|
+
*
|
|
769
|
+
* Source: ``api-create-secondary-customer-profile.md``.
|
|
770
|
+
*/
|
|
771
|
+
type JobPosition = (typeof JobPosition)[keyof typeof JobPosition];
|
|
772
|
+
declare const JobPosition: {
|
|
773
|
+
readonly Director: "Director";
|
|
774
|
+
readonly GM: "GM";
|
|
775
|
+
readonly VP: "VP";
|
|
776
|
+
readonly CEO: "CEO";
|
|
777
|
+
readonly CFO: "CFO";
|
|
778
|
+
readonly General_Counsel: "General Counsel";
|
|
779
|
+
readonly Other: "Other";
|
|
780
|
+
};
|
|
781
|
+
/**
|
|
782
|
+
* SSO configuration in organization responses (provider-agnostic).
|
|
783
|
+
*/
|
|
784
|
+
interface LibModelsGlbResponsesOrganizationResponsesSSOConfigResponse {
|
|
785
|
+
provider?: string | null;
|
|
786
|
+
domain?: string | null;
|
|
787
|
+
enabledAt?: string | null;
|
|
788
|
+
config?: SSOConfigData | null;
|
|
789
|
+
}
|
|
790
|
+
/**
|
|
791
|
+
* OIDC config returned to an admin. Cleartext secret is always None.
|
|
792
|
+
*/
|
|
793
|
+
interface OIDCAdminConfigView {
|
|
794
|
+
providerType?: OIDCAdminConfigViewProviderType;
|
|
795
|
+
issuer: string;
|
|
796
|
+
clientId: string;
|
|
797
|
+
expectedAudience?: string | null;
|
|
798
|
+
expectedTenantId?: string | null;
|
|
799
|
+
multiTenant?: boolean;
|
|
800
|
+
autoProvision?: boolean;
|
|
801
|
+
roleMapping?: OIDCAdminConfigViewRoleMapping;
|
|
802
|
+
rolesKey?: string | null;
|
|
803
|
+
groupsKey?: string | null;
|
|
804
|
+
postLogoutRedirectUris?: string[] | null;
|
|
805
|
+
clientSecret?: string | null;
|
|
806
|
+
clientSecretSet?: boolean;
|
|
807
|
+
}
|
|
808
|
+
type OIDCAdminConfigViewProviderType = (typeof OIDCAdminConfigViewProviderType)[keyof typeof OIDCAdminConfigViewProviderType];
|
|
809
|
+
declare const OIDCAdminConfigViewProviderType: {
|
|
810
|
+
readonly azure_ad: "azure_ad";
|
|
811
|
+
readonly okta: "okta";
|
|
812
|
+
readonly auth0: "auth0";
|
|
813
|
+
readonly generic: "generic";
|
|
814
|
+
};
|
|
815
|
+
type OIDCAdminConfigViewRoleMapping = {
|
|
816
|
+
[key: string]: string;
|
|
817
|
+
} | null;
|
|
818
|
+
/**
|
|
819
|
+
* Response model for a list of OrgDomain rows.
|
|
820
|
+
*/
|
|
821
|
+
interface OrgDomainListResponse {
|
|
822
|
+
items: OrgDomainResponse[];
|
|
823
|
+
total: number;
|
|
824
|
+
}
|
|
825
|
+
/**
|
|
826
|
+
* Response model for an OrgDomain row.
|
|
827
|
+
*/
|
|
828
|
+
interface OrgDomainResponse {
|
|
829
|
+
uuid: string;
|
|
830
|
+
domain: string;
|
|
831
|
+
organizationUuid: string;
|
|
832
|
+
ownershipStatus: string;
|
|
833
|
+
ownershipDnsRecord: OwnershipDnsRecord;
|
|
834
|
+
ownershipVerifiedAt?: string | null;
|
|
835
|
+
ownershipLastCheckedAt?: string | null;
|
|
836
|
+
createdAt: string;
|
|
837
|
+
updatedAt: string;
|
|
838
|
+
emailStatus?: string | null;
|
|
839
|
+
siteStatus?: string | null;
|
|
840
|
+
}
|
|
841
|
+
/**
|
|
842
|
+
* Base organization response.
|
|
843
|
+
*/
|
|
844
|
+
interface OrganizationResponse {
|
|
845
|
+
id: number;
|
|
846
|
+
uuid: string;
|
|
847
|
+
name: string;
|
|
848
|
+
slug: string;
|
|
849
|
+
primary: boolean;
|
|
850
|
+
logoUrl?: string | null;
|
|
851
|
+
contactEmail?: string | null;
|
|
852
|
+
contactPhone?: string | null;
|
|
853
|
+
authMode?: string;
|
|
854
|
+
createdAt: string;
|
|
855
|
+
creatorId?: number | null;
|
|
856
|
+
creatorName?: string | null;
|
|
857
|
+
resellerWorkspaceId?: number | null;
|
|
858
|
+
resellerWorkspaceUuid?: string | null;
|
|
859
|
+
sso?: LibModelsGlbResponsesOrganizationResponsesSSOConfigResponse | null;
|
|
860
|
+
}
|
|
861
|
+
/**
|
|
862
|
+
* The DNS record the customer must add to prove ownership.
|
|
863
|
+
*/
|
|
864
|
+
interface OwnershipDnsRecord {
|
|
865
|
+
type?: string;
|
|
866
|
+
host: string;
|
|
867
|
+
value: string;
|
|
868
|
+
ttl?: number;
|
|
869
|
+
}
|
|
870
|
+
/**
|
|
871
|
+
* Result of running an ownership-proof DNS lookup.
|
|
872
|
+
*/
|
|
873
|
+
interface OwnershipVerificationResponse {
|
|
874
|
+
status: string;
|
|
875
|
+
message: string;
|
|
876
|
+
domain: OrgDomainResponse;
|
|
877
|
+
}
|
|
878
|
+
/**
|
|
879
|
+
* Twilio's region buckets — NOT ISO 3166. The plan said "ISO" but
|
|
880
|
+
* Twilio actually uses these continental buckets, with ``USA_AND_CANADA``
|
|
881
|
+
* as a single value. Source: ``api-create-secondary-customer-profile.md``.
|
|
882
|
+
*/
|
|
883
|
+
type Region = (typeof Region)[keyof typeof Region];
|
|
884
|
+
declare const Region: {
|
|
885
|
+
readonly AFRICA: "AFRICA";
|
|
886
|
+
readonly ASIA: "ASIA";
|
|
887
|
+
readonly EUROPE: "EUROPE";
|
|
888
|
+
readonly LATIN_AMERICA: "LATIN_AMERICA";
|
|
889
|
+
readonly USA_AND_CANADA: "USA_AND_CANADA";
|
|
890
|
+
readonly AUSTRALIA: "AUSTRALIA";
|
|
891
|
+
};
|
|
892
|
+
/**
|
|
893
|
+
* Twilio's accepted registration identifier types.
|
|
894
|
+
*
|
|
895
|
+
* Source: ``docs/external/twilio-api/prose/trust-hub/trusthub-rest-api/
|
|
896
|
+
* api-create-secondary-customer-profile.md`` (the table of accepted
|
|
897
|
+
* values, augmented with ``DUNS`` from the EndUser create example —
|
|
898
|
+
* the table omits ``DUNS`` but Twilio accepts it).
|
|
899
|
+
*/
|
|
900
|
+
type RegistrationIdentifier = (typeof RegistrationIdentifier)[keyof typeof RegistrationIdentifier];
|
|
901
|
+
declare const RegistrationIdentifier: {
|
|
902
|
+
readonly EIN: "EIN";
|
|
903
|
+
readonly CBN: "CBN";
|
|
904
|
+
readonly CN: "CN";
|
|
905
|
+
readonly ACN: "ACN";
|
|
906
|
+
readonly CIN: "CIN";
|
|
907
|
+
readonly VAT: "VAT";
|
|
908
|
+
readonly VATRN: "VATRN";
|
|
909
|
+
readonly RN: "RN";
|
|
910
|
+
readonly DUNS: "DUNS";
|
|
911
|
+
readonly Other: "Other";
|
|
912
|
+
};
|
|
913
|
+
/**
|
|
914
|
+
* Typed SSO configuration data stored in sso_config JSONB column.
|
|
915
|
+
*
|
|
916
|
+
* This model defines the structure for provider-specific SSO settings
|
|
917
|
+
* that don't need database indexing.
|
|
918
|
+
*
|
|
919
|
+
* SECURITY NOTE: SSO can NEVER grant superuser status. The maximum role
|
|
920
|
+
* that can be auto-provisioned via SSO is org_owner. Superuser accounts
|
|
921
|
+
* must be created directly in the database.
|
|
922
|
+
*
|
|
923
|
+
* SECURITY NOTE: This model uses extra="ignore" to ensure any additional fields
|
|
924
|
+
* stored in the JSONB (such as secrets or PII) are never exposed in API responses.
|
|
925
|
+
* OIDC client credentials are stored in environment variables (SYSTEM_CONFIG),
|
|
926
|
+
* NOT in the database. If per-org OIDC credentials are needed in the future,
|
|
927
|
+
* they must be stored encrypted (like OauthCredential) or in AWS Secrets Manager.
|
|
928
|
+
*/
|
|
929
|
+
interface SSOConfigData {
|
|
930
|
+
providerType?: string | null;
|
|
931
|
+
autoProvision?: boolean;
|
|
932
|
+
roleMapping?: SSOConfigDataRoleMapping;
|
|
933
|
+
}
|
|
934
|
+
type SSOConfigDataRoleMapping = {
|
|
935
|
+
[key: string]: string;
|
|
936
|
+
} | null;
|
|
937
|
+
/**
|
|
938
|
+
* SiteMapping rows that will be dropped on disable.
|
|
939
|
+
*/
|
|
940
|
+
interface SiteDisableImpactResponse {
|
|
941
|
+
siteCount: number;
|
|
942
|
+
siteDomains: string[];
|
|
943
|
+
}
|
|
944
|
+
/**
|
|
945
|
+
* One DNS record the customer must publish for the site to work.
|
|
946
|
+
*
|
|
947
|
+
* v1 only emits a single CNAME (custom domain → sites_domain).
|
|
948
|
+
* Future: TLS validation TXT records, A records for apex.
|
|
949
|
+
*/
|
|
950
|
+
interface SiteDnsRecord {
|
|
951
|
+
type: SiteDnsRecordType;
|
|
952
|
+
host: string;
|
|
953
|
+
value: string;
|
|
954
|
+
ttl?: number;
|
|
955
|
+
purpose: string;
|
|
956
|
+
status: string;
|
|
957
|
+
}
|
|
958
|
+
type SiteDnsRecordType = (typeof SiteDnsRecordType)[keyof typeof SiteDnsRecordType];
|
|
959
|
+
declare const SiteDnsRecordType: {
|
|
960
|
+
readonly CNAME: "CNAME";
|
|
961
|
+
readonly A: "A";
|
|
962
|
+
readonly TXT: "TXT";
|
|
963
|
+
};
|
|
964
|
+
/**
|
|
965
|
+
* GET wrapper. `enabled=False` when no config exists.
|
|
966
|
+
*
|
|
967
|
+
* Matches the email capability's GET response shape so the UI doesn't
|
|
968
|
+
* have to special-case 404 for "not yet enabled".
|
|
969
|
+
*/
|
|
970
|
+
interface SiteDomainConfigGetResponse {
|
|
971
|
+
enabled: boolean;
|
|
972
|
+
config?: SiteDomainConfigResponse | null;
|
|
973
|
+
}
|
|
974
|
+
/**
|
|
975
|
+
* Full picture of a SiteDomainConfig — DNS records + statuses.
|
|
976
|
+
*/
|
|
977
|
+
interface SiteDomainConfigResponse {
|
|
978
|
+
uuid: string;
|
|
979
|
+
orgDomainUuid: string;
|
|
980
|
+
domain: string;
|
|
981
|
+
status: string;
|
|
982
|
+
targetStatus: string;
|
|
983
|
+
tlsStatus: string;
|
|
984
|
+
lastCheckedAt?: string | null;
|
|
985
|
+
createdAt: string;
|
|
986
|
+
updatedAt: string;
|
|
987
|
+
dnsRecords: SiteDnsRecord[];
|
|
988
|
+
}
|
|
989
|
+
/**
|
|
990
|
+
* Result of running a "Verify DNS" pass.
|
|
991
|
+
*/
|
|
992
|
+
interface SiteVerificationResponse {
|
|
993
|
+
status: string;
|
|
994
|
+
config: SiteDomainConfigResponse;
|
|
995
|
+
}
|
|
996
|
+
|
|
997
|
+
type TwoFactorMethodType = 'TOTP' | 'WEBAUTHN';
|
|
998
|
+
type TwoFactorMethod = Omit<TwoFactorMethodResponse$1, 'methodType'> & {
|
|
999
|
+
methodType: TwoFactorMethodType;
|
|
1000
|
+
};
|
|
1001
|
+
type TwoFactorMethodResponse = TwoFactorMethod;
|
|
1002
|
+
type TwoFactorStatus = Omit<TwoFactorStatusResponse$1, 'methods'> & {
|
|
1003
|
+
methods: TwoFactorMethod[];
|
|
1004
|
+
};
|
|
1005
|
+
type TwoFactorStatusResponse = TwoFactorStatus;
|
|
1006
|
+
/** OpenAPI omits workspace slug; API may include it for admin membership lists. */
|
|
1007
|
+
interface AdminAccountMembershipResponse extends AdminAccountMembershipResponse$1 {
|
|
1008
|
+
workspaceSlug?: string | null;
|
|
1009
|
+
}
|
|
1010
|
+
type AdminAccountMembership = AdminAccountMembershipResponse;
|
|
1011
|
+
|
|
1012
|
+
type AdminOrganization = Omit<AdminOrganizationResponse$1, 'viewType'> & {
|
|
1013
|
+
viewType?: 'admin';
|
|
1014
|
+
};
|
|
1015
|
+
type AdminOrganizationResponse = AdminOrganization;
|
|
1016
|
+
|
|
1017
|
+
interface DetailedAccount extends AdminAccountResponse {
|
|
1018
|
+
}
|
|
1019
|
+
interface AccountFormData {
|
|
1020
|
+
name?: string;
|
|
1021
|
+
tosAccepted?: boolean;
|
|
1022
|
+
optedOut?: boolean;
|
|
1023
|
+
locale?: string;
|
|
1024
|
+
timezone?: string;
|
|
1025
|
+
}
|
|
1026
|
+
interface AdminAccountFormData extends AccountFormData {
|
|
1027
|
+
email?: string;
|
|
1028
|
+
phone?: string;
|
|
1029
|
+
isSuperuser?: boolean;
|
|
1030
|
+
enabled?: boolean;
|
|
1031
|
+
stripeCustomerId?: string | null;
|
|
1032
|
+
}
|
|
1033
|
+
interface AccountState {
|
|
1034
|
+
items: AccountResponse[];
|
|
1035
|
+
total: number;
|
|
1036
|
+
page: number;
|
|
1037
|
+
pageSize: number;
|
|
1038
|
+
totalPages: number;
|
|
1039
|
+
sortBy: AccountSortField;
|
|
1040
|
+
sortOrder: SortOrder;
|
|
1041
|
+
}
|
|
1042
|
+
interface LoginRequest {
|
|
1043
|
+
phoneNumber: string;
|
|
1044
|
+
organizationUuid?: string;
|
|
1045
|
+
}
|
|
1046
|
+
interface VerifyCodeRequest {
|
|
1047
|
+
phoneNumber: string;
|
|
1048
|
+
code: string;
|
|
1049
|
+
organizationUuid?: string;
|
|
1050
|
+
}
|
|
1051
|
+
interface VerifyCodeResponse {
|
|
1052
|
+
token: string;
|
|
1053
|
+
accountId: number;
|
|
1054
|
+
accountName?: string | null;
|
|
1055
|
+
accountUuid?: string | null;
|
|
1056
|
+
requiresTwoFactor?: boolean;
|
|
1057
|
+
availableTwoFactorMethods?: any[];
|
|
1058
|
+
}
|
|
1059
|
+
interface SessionExchangeRequest {
|
|
1060
|
+
organizationUuid: string;
|
|
1061
|
+
audience?: 'gravityrail:org';
|
|
1062
|
+
maxAgeSeconds?: number;
|
|
1063
|
+
}
|
|
1064
|
+
interface SessionExchangeResponse {
|
|
1065
|
+
token: string;
|
|
1066
|
+
sessionId: string;
|
|
1067
|
+
principalScope: 'org';
|
|
1068
|
+
principalUuid: string;
|
|
1069
|
+
organizationUuid: string;
|
|
1070
|
+
audience: 'gravityrail:org';
|
|
1071
|
+
expiresAt: string;
|
|
1072
|
+
sessionAssuranceLevel: number;
|
|
1073
|
+
policyVersion: number;
|
|
1074
|
+
}
|
|
1075
|
+
interface SendEmailVerificationRequest {
|
|
1076
|
+
email: string;
|
|
1077
|
+
organizationUuid?: string;
|
|
1078
|
+
}
|
|
1079
|
+
interface VerifyEmailRequest {
|
|
1080
|
+
email: string;
|
|
1081
|
+
code: string;
|
|
1082
|
+
organizationUuid?: string;
|
|
1083
|
+
}
|
|
1084
|
+
interface ErrorResponse {
|
|
1085
|
+
detail: string;
|
|
1086
|
+
}
|
|
1087
|
+
interface RequestMagicLinkRequest {
|
|
1088
|
+
email: string;
|
|
1089
|
+
organizationUuid?: string;
|
|
1090
|
+
redirectUrl?: string;
|
|
1091
|
+
}
|
|
1092
|
+
interface RequestMagicLinkResponse {
|
|
1093
|
+
success: boolean;
|
|
1094
|
+
message: string;
|
|
1095
|
+
token?: string;
|
|
1096
|
+
magicLinkUrl?: string;
|
|
1097
|
+
}
|
|
1098
|
+
interface ValidateMagicLinkRequest {
|
|
1099
|
+
token: string;
|
|
1100
|
+
otp?: string;
|
|
1101
|
+
}
|
|
1102
|
+
interface ValidateMagicLinkResponse extends VerifyCodeResponse {
|
|
1103
|
+
success: boolean;
|
|
1104
|
+
requiresOtp?: boolean;
|
|
1105
|
+
otpAttemptsRemaining?: number;
|
|
1106
|
+
redirectUrl?: string;
|
|
1107
|
+
}
|
|
1108
|
+
interface ApiKeyFormData {
|
|
1109
|
+
name: string;
|
|
1110
|
+
expiresInDays: number;
|
|
1111
|
+
scopes: string[];
|
|
1112
|
+
}
|
|
1113
|
+
interface ApiKeyScope {
|
|
1114
|
+
name: string;
|
|
1115
|
+
description: string;
|
|
1116
|
+
value: number;
|
|
1117
|
+
}
|
|
1118
|
+
interface ApiKeyScopesResponse {
|
|
1119
|
+
scopes: ApiKeyScope[];
|
|
1120
|
+
}
|
|
1121
|
+
/**
|
|
1122
|
+
* OIDC provider config submitted by an admin. `clientSecret` is the
|
|
1123
|
+
* **cleartext** secret on input; the backend encrypts it before persisting
|
|
1124
|
+
* and never stores it in cleartext. Re-saving config with `clientSecret`
|
|
1125
|
+
* unset preserves the previously encrypted blob.
|
|
1126
|
+
*/
|
|
1127
|
+
interface OIDCAdminConfigInput {
|
|
1128
|
+
providerType: 'azure_ad' | 'okta' | 'auth0' | 'generic';
|
|
1129
|
+
issuer: string;
|
|
1130
|
+
clientId: string;
|
|
1131
|
+
/** Cleartext secret. Send only when configuring or rotating. */
|
|
1132
|
+
clientSecret?: string | null;
|
|
1133
|
+
expectedAudience?: string | null;
|
|
1134
|
+
expectedTenantId?: string | null;
|
|
1135
|
+
multiTenant?: boolean;
|
|
1136
|
+
autoProvision?: boolean;
|
|
1137
|
+
roleMapping?: Record<string, string> | null;
|
|
1138
|
+
rolesKey?: string | null;
|
|
1139
|
+
groupsKey?: string | null;
|
|
1140
|
+
postLogoutRedirectUris?: string[] | null;
|
|
1141
|
+
}
|
|
1142
|
+
/**
|
|
1143
|
+
* Workspace info for member view
|
|
1144
|
+
*/
|
|
1145
|
+
interface MemberWorkspaceInfo {
|
|
1146
|
+
uuid: string;
|
|
1147
|
+
name: string;
|
|
1148
|
+
slug: string;
|
|
1149
|
+
}
|
|
1150
|
+
/**
|
|
1151
|
+
* Organization info for non-admin members
|
|
1152
|
+
* Shows basic org info and user's workspace memberships
|
|
1153
|
+
*/
|
|
1154
|
+
interface MemberOrgView {
|
|
1155
|
+
viewType: 'member';
|
|
1156
|
+
id: number;
|
|
1157
|
+
uuid: string;
|
|
1158
|
+
name: string;
|
|
1159
|
+
slug: string | null;
|
|
1160
|
+
logoUrl: string | null;
|
|
1161
|
+
role: string;
|
|
1162
|
+
workspaces: MemberWorkspaceInfo[];
|
|
1163
|
+
}
|
|
1164
|
+
interface CreateOrganizationRequest {
|
|
1165
|
+
name: string;
|
|
1166
|
+
slug?: string;
|
|
1167
|
+
primary?: boolean;
|
|
1168
|
+
contactEmail?: string;
|
|
1169
|
+
contactPhone?: string;
|
|
1170
|
+
logo?: string;
|
|
1171
|
+
logoMimeType?: string;
|
|
1172
|
+
}
|
|
1173
|
+
interface UpdateOrganizationRequest {
|
|
1174
|
+
name?: string;
|
|
1175
|
+
slug?: string;
|
|
1176
|
+
primary?: boolean;
|
|
1177
|
+
logoUrl?: string;
|
|
1178
|
+
contactEmail?: string;
|
|
1179
|
+
contactPhone?: string;
|
|
1180
|
+
logo?: string;
|
|
1181
|
+
logoMimeType?: string;
|
|
1182
|
+
ssoProvider?: string | null;
|
|
1183
|
+
ssoDomain?: string | null;
|
|
1184
|
+
authMode?: 'open' | 'ssoForDomain' | 'ssoOnly';
|
|
1185
|
+
ssoAutoProvision?: boolean;
|
|
1186
|
+
/**
|
|
1187
|
+
* External OIDC config — encrypted server-side and persisted into
|
|
1188
|
+
* `organization.sso_config["oidc"]`. Set to `null` to clear an existing
|
|
1189
|
+
* OIDC config. The cleartext `clientSecret` only lives for the duration
|
|
1190
|
+
* of the request; the response surfaces a redacted view.
|
|
1191
|
+
*/
|
|
1192
|
+
ssoOidc?: OIDCAdminConfigInput | null;
|
|
1193
|
+
twilioSubAccountSid?: string | null;
|
|
1194
|
+
enforceCreditLimit?: boolean;
|
|
1195
|
+
}
|
|
1196
|
+
interface LogoUploadRequest {
|
|
1197
|
+
contentType: string;
|
|
1198
|
+
fileExtension: string;
|
|
1199
|
+
}
|
|
1200
|
+
interface LogoUploadResponse {
|
|
1201
|
+
uploadUrl: string;
|
|
1202
|
+
fields: Record<string, string>;
|
|
1203
|
+
fileUrl: string;
|
|
1204
|
+
}
|
|
1205
|
+
interface AdminWorkspaceMemberFormData {
|
|
1206
|
+
tosAccepted?: boolean;
|
|
1207
|
+
role?: string;
|
|
1208
|
+
memberRoleId?: number;
|
|
1209
|
+
}
|
|
1210
|
+
interface AccountReportItem {
|
|
1211
|
+
id: number;
|
|
1212
|
+
uuid: string;
|
|
1213
|
+
email?: string | null;
|
|
1214
|
+
phone?: string | null;
|
|
1215
|
+
name?: string | null;
|
|
1216
|
+
created_at: string;
|
|
1217
|
+
organization_id?: number | null;
|
|
1218
|
+
}
|
|
1219
|
+
interface DuplicateAccountInfo {
|
|
1220
|
+
id: number;
|
|
1221
|
+
name: string | null;
|
|
1222
|
+
email: string | null;
|
|
1223
|
+
phone: string | null;
|
|
1224
|
+
organizationId: number | null;
|
|
1225
|
+
organizationName: string | null;
|
|
1226
|
+
createdAt: string;
|
|
1227
|
+
}
|
|
1228
|
+
interface SetupTOTPRequest {
|
|
1229
|
+
name: string;
|
|
1230
|
+
}
|
|
1231
|
+
interface VerifyTOTPSetupRequest {
|
|
1232
|
+
setupId: string;
|
|
1233
|
+
code: string;
|
|
1234
|
+
name: string;
|
|
1235
|
+
}
|
|
1236
|
+
interface SetupWebAuthnRequest {
|
|
1237
|
+
name: string;
|
|
1238
|
+
}
|
|
1239
|
+
interface VerifyWebAuthnSetupRequest {
|
|
1240
|
+
setupId: string;
|
|
1241
|
+
credentialResponse: any;
|
|
1242
|
+
name: string;
|
|
1243
|
+
}
|
|
1244
|
+
interface GenerateRecoveryCodesRequest {
|
|
1245
|
+
regenerate?: boolean;
|
|
1246
|
+
}
|
|
1247
|
+
interface UpdateTwoFactorMethodRequest {
|
|
1248
|
+
methodId: number;
|
|
1249
|
+
name?: string;
|
|
1250
|
+
}
|
|
1251
|
+
interface MissingMembershipItem {
|
|
1252
|
+
member_id: number;
|
|
1253
|
+
member_name: string;
|
|
1254
|
+
account_id: number;
|
|
1255
|
+
account_uuid: string;
|
|
1256
|
+
}
|
|
1257
|
+
type OrgMemberRole = 'member' | 'admin' | 'owner';
|
|
1258
|
+
interface OrgMember {
|
|
1259
|
+
id: number;
|
|
1260
|
+
accountId: number | null;
|
|
1261
|
+
organizationId: number;
|
|
1262
|
+
role: OrgMemberRole;
|
|
1263
|
+
name?: string | null;
|
|
1264
|
+
externalId?: string | null;
|
|
1265
|
+
createdAt: string;
|
|
1266
|
+
updatedAt: string;
|
|
1267
|
+
accountName?: string | null;
|
|
1268
|
+
accountEmail?: string | null;
|
|
1269
|
+
accountPhone?: string | null;
|
|
1270
|
+
accountUuid?: string | null;
|
|
1271
|
+
}
|
|
1272
|
+
/**
|
|
1273
|
+
* Response for the current user's org membership (/me endpoint).
|
|
1274
|
+
* Extends OrgMember with scopes - the effective permissions
|
|
1275
|
+
* the API honors for this user in this organization context.
|
|
1276
|
+
*/
|
|
1277
|
+
interface CurrentOrgMember extends OrgMember {
|
|
1278
|
+
scopes: string[];
|
|
1279
|
+
}
|
|
1280
|
+
interface OrgMemberListResponse {
|
|
1281
|
+
items: OrgMember[];
|
|
1282
|
+
total: number;
|
|
1283
|
+
page: number;
|
|
1284
|
+
pageSize: number;
|
|
1285
|
+
}
|
|
1286
|
+
interface UpdateOrgMemberRequest {
|
|
1287
|
+
role: OrgMemberRole;
|
|
1288
|
+
}
|
|
1289
|
+
interface AccountLookupResponse {
|
|
1290
|
+
found: boolean;
|
|
1291
|
+
accountId?: number;
|
|
1292
|
+
accountUuid?: string;
|
|
1293
|
+
name?: string | null;
|
|
1294
|
+
}
|
|
1295
|
+
interface CreateAccountOrgMembershipRequest {
|
|
1296
|
+
organizationId: number;
|
|
1297
|
+
role: OrgMemberRole;
|
|
1298
|
+
}
|
|
1299
|
+
interface CreateAccountOrgMembershipResponse {
|
|
1300
|
+
accountId: number;
|
|
1301
|
+
organizationId: number;
|
|
1302
|
+
organizationUuid: string;
|
|
1303
|
+
organizationName: string;
|
|
1304
|
+
role: string;
|
|
1305
|
+
message: string;
|
|
1306
|
+
}
|
|
1307
|
+
interface DeleteAccountOrgMembershipResponse {
|
|
1308
|
+
status: string;
|
|
1309
|
+
message: string;
|
|
1310
|
+
workspaceMembershipsRemoved: number;
|
|
1311
|
+
}
|
|
1312
|
+
type CredentialType = 'email' | 'phone';
|
|
1313
|
+
interface RequestCredentialChangeRequest {
|
|
1314
|
+
credentialType: CredentialType;
|
|
1315
|
+
newValue: string;
|
|
1316
|
+
}
|
|
1317
|
+
interface VerifyCredentialChangeRequest {
|
|
1318
|
+
requestId: number;
|
|
1319
|
+
otpCode: string;
|
|
1320
|
+
}
|
|
1321
|
+
interface CreateCredentialChangeInviteRequest {
|
|
1322
|
+
credentialType: CredentialType;
|
|
1323
|
+
newValue: string;
|
|
1324
|
+
}
|
|
1325
|
+
interface AccountDataExport {
|
|
1326
|
+
uuid: string;
|
|
1327
|
+
name: string | null;
|
|
1328
|
+
email: string | null;
|
|
1329
|
+
phone: string | null;
|
|
1330
|
+
gender: string | null;
|
|
1331
|
+
timezone: string | null;
|
|
1332
|
+
locale: string | null;
|
|
1333
|
+
createdAt: string;
|
|
1334
|
+
}
|
|
1335
|
+
interface WorkspaceMembershipExport {
|
|
1336
|
+
workspaceName: string;
|
|
1337
|
+
workspaceUuid: string;
|
|
1338
|
+
joinedAt: string;
|
|
1339
|
+
}
|
|
1340
|
+
interface OrgMembershipExport {
|
|
1341
|
+
orgName: string;
|
|
1342
|
+
role: string;
|
|
1343
|
+
}
|
|
1344
|
+
interface ConsentRecordExport {
|
|
1345
|
+
consentType: string;
|
|
1346
|
+
granted: boolean;
|
|
1347
|
+
recordedAt: string;
|
|
1348
|
+
policyVersion: string | null;
|
|
1349
|
+
}
|
|
1350
|
+
interface DataExportResponse {
|
|
1351
|
+
exportedAt: string;
|
|
1352
|
+
account: AccountDataExport;
|
|
1353
|
+
workspaceMemberships: WorkspaceMembershipExport[];
|
|
1354
|
+
orgMemberships: OrgMembershipExport[];
|
|
1355
|
+
consentRecords: ConsentRecordExport[];
|
|
1356
|
+
oauthProviders: string[];
|
|
1357
|
+
}
|
|
1358
|
+
interface DeletionRequestResponse {
|
|
1359
|
+
status: string;
|
|
1360
|
+
deletionScheduledFor: string;
|
|
1361
|
+
message: string;
|
|
1362
|
+
}
|
|
1363
|
+
interface DeletionCancelResponse {
|
|
1364
|
+
status: string;
|
|
1365
|
+
message: string;
|
|
1366
|
+
}
|
|
1367
|
+
|
|
1368
|
+
/**
|
|
1369
|
+
* Generated by Orval (filtered by scripts/types-codegen/allowlist.txt and
|
|
1370
|
+
* grouped by scripts/types-codegen/group_generated.ts). Do not edit manually.
|
|
1371
|
+
* Group: member
|
|
1372
|
+
*/
|
|
1373
|
+
/**
|
|
1374
|
+
* Response model for agent configuration.
|
|
1375
|
+
*/
|
|
1376
|
+
interface AgentConfigResponse {
|
|
1377
|
+
id: number;
|
|
1378
|
+
chatModelId: string;
|
|
1379
|
+
chatModelConfig?: AgentConfigResponseChatModelConfig;
|
|
1380
|
+
realtimeModelId?: string | null;
|
|
1381
|
+
realtimeModelConfig?: AgentConfigResponseRealtimeModelConfig;
|
|
1382
|
+
systemPrompt: string;
|
|
1383
|
+
maxDailyActions?: number | null;
|
|
1384
|
+
tools?: string[] | null;
|
|
1385
|
+
codeInterpreterEnabled?: boolean;
|
|
1386
|
+
memoryConfig?: AgentConfigResponseMemoryConfig;
|
|
1387
|
+
createdAt: string;
|
|
1388
|
+
updatedAt: string;
|
|
1389
|
+
}
|
|
1390
|
+
type AgentConfigResponseChatModelConfig = {
|
|
1391
|
+
[key: string]: unknown;
|
|
1392
|
+
} | null;
|
|
1393
|
+
type AgentConfigResponseMemoryConfig = {
|
|
1394
|
+
[key: string]: unknown;
|
|
1395
|
+
} | null;
|
|
1396
|
+
type AgentConfigResponseRealtimeModelConfig = {
|
|
1397
|
+
[key: string]: unknown;
|
|
1398
|
+
} | null;
|
|
1399
|
+
/**
|
|
1400
|
+
* Response model for an agent (Member + agent config via JTI).
|
|
1401
|
+
*
|
|
1402
|
+
* Agents are first-class members that can communicate via DMs, email, SMS, and voice.
|
|
1403
|
+
* They have their own identity (name, description) and AI configuration (model, system prompt).
|
|
1404
|
+
*/
|
|
1405
|
+
interface AgentResponse {
|
|
1406
|
+
id: number;
|
|
1407
|
+
uuid: string;
|
|
1408
|
+
name?: string | null;
|
|
1409
|
+
description?: string | null;
|
|
1410
|
+
email?: string | null;
|
|
1411
|
+
phone?: string | null;
|
|
1412
|
+
externalId?: string | null;
|
|
1413
|
+
memberRoleId: number;
|
|
1414
|
+
memberRoleName: string;
|
|
1415
|
+
memberType?: string;
|
|
1416
|
+
isArchived?: boolean;
|
|
1417
|
+
ownerId?: number | null;
|
|
1418
|
+
ownerName?: string | null;
|
|
1419
|
+
createdAt: string;
|
|
1420
|
+
updatedAt: string;
|
|
1421
|
+
labels?: MemberLabelResponse[];
|
|
1422
|
+
config: AgentConfigResponse;
|
|
1423
|
+
}
|
|
1424
|
+
/**
|
|
1425
|
+
* Summary of the anonymous member's interaction (usually a single call).
|
|
1426
|
+
*/
|
|
1427
|
+
interface AnonymousInteractionResponse {
|
|
1428
|
+
chatId: number | null;
|
|
1429
|
+
chatTitle: string | null;
|
|
1430
|
+
chatSummary: string | null;
|
|
1431
|
+
callId: number | null;
|
|
1432
|
+
callStatus: string | null;
|
|
1433
|
+
callCreatedAt: string | null;
|
|
1434
|
+
callDurationSeconds: number | null;
|
|
1435
|
+
}
|
|
1436
|
+
/**
|
|
1437
|
+
* Response model for anonymous member resolution records.
|
|
1438
|
+
*/
|
|
1439
|
+
interface AnonymousMemberResolutionResponse {
|
|
1440
|
+
id: number;
|
|
1441
|
+
anonymousMemberId: number | null;
|
|
1442
|
+
anonymousMemberName: string | null;
|
|
1443
|
+
identifierType: string;
|
|
1444
|
+
identifierValue: string;
|
|
1445
|
+
status: string;
|
|
1446
|
+
resolvedToMemberId: number | null;
|
|
1447
|
+
resolvedToMemberName: string | null;
|
|
1448
|
+
resolvedByMemberId: number | null;
|
|
1449
|
+
resolvedByMemberName: string | null;
|
|
1450
|
+
resolutionNotes: string | null;
|
|
1451
|
+
createdAt: string;
|
|
1452
|
+
resolvedAt: string | null;
|
|
1453
|
+
interaction: AnonymousInteractionResponse | null;
|
|
1454
|
+
}
|
|
1455
|
+
/**
|
|
1456
|
+
* Bulk create members response.
|
|
1457
|
+
*/
|
|
1458
|
+
interface BulkCreateMembersResponse {
|
|
1459
|
+
importedCount: number;
|
|
1460
|
+
totalCount: number;
|
|
1461
|
+
success: boolean;
|
|
1462
|
+
results: BulkMemberResult[];
|
|
1463
|
+
errors?: string[] | null;
|
|
1464
|
+
}
|
|
1465
|
+
/**
|
|
1466
|
+
* Per-member output for bulk creation.
|
|
1467
|
+
*/
|
|
1468
|
+
interface BulkMemberResult {
|
|
1469
|
+
index: number;
|
|
1470
|
+
status: BulkMemberResultStatus;
|
|
1471
|
+
memberId?: number | null;
|
|
1472
|
+
externalId?: string | null;
|
|
1473
|
+
error?: string | null;
|
|
1474
|
+
}
|
|
1475
|
+
type BulkMemberResultStatus = (typeof BulkMemberResultStatus)[keyof typeof BulkMemberResultStatus];
|
|
1476
|
+
declare const BulkMemberResultStatus: {
|
|
1477
|
+
readonly created: "created";
|
|
1478
|
+
readonly updated: "updated";
|
|
1479
|
+
readonly failed: "failed";
|
|
1480
|
+
};
|
|
1481
|
+
/**
|
|
1482
|
+
* Response model for the create-signup endpoint.
|
|
1483
|
+
*/
|
|
1484
|
+
interface CreateSignupResponse {
|
|
1485
|
+
token: string;
|
|
1486
|
+
account: SignupAccountResponse;
|
|
1487
|
+
member: SignupMemberResponse;
|
|
1488
|
+
wasCreated: boolean;
|
|
1489
|
+
warnings?: DataRecordFieldWarning[];
|
|
1490
|
+
}
|
|
1491
|
+
/**
|
|
1492
|
+
* Response for the current user's member profile.
|
|
1493
|
+
*
|
|
1494
|
+
* Extends WorkspaceMemberResponse with scopes and org role - the effective
|
|
1495
|
+
* permissions that the API honors for this user in this workspace context.
|
|
1496
|
+
*/
|
|
1497
|
+
interface CurrentMemberResponse {
|
|
1498
|
+
id: number;
|
|
1499
|
+
uuid: string;
|
|
1500
|
+
role: string;
|
|
1501
|
+
tosAccepted: boolean;
|
|
1502
|
+
accountTosAccepted: boolean | null;
|
|
1503
|
+
accountUuid: string | null;
|
|
1504
|
+
createdAt: string;
|
|
1505
|
+
updatedAt: string;
|
|
1506
|
+
name: string | null;
|
|
1507
|
+
description: string | null;
|
|
1508
|
+
phone: string | null;
|
|
1509
|
+
phoneType: string | null;
|
|
1510
|
+
email: string | null;
|
|
1511
|
+
externalId: string | null;
|
|
1512
|
+
dateOfBirth?: string | null;
|
|
1513
|
+
notifySms: boolean;
|
|
1514
|
+
notifyEmail: boolean;
|
|
1515
|
+
notifyVoice: boolean;
|
|
1516
|
+
notifyWhatsapp?: boolean;
|
|
1517
|
+
locale: string | null;
|
|
1518
|
+
memberRoleId: number;
|
|
1519
|
+
memberRoleName: string;
|
|
1520
|
+
homeFolderId?: number | null;
|
|
1521
|
+
labels?: MemberLabelResponse[];
|
|
1522
|
+
accountEnabled?: boolean | null;
|
|
1523
|
+
isOrgOwner?: boolean | null;
|
|
1524
|
+
isSuperuser?: boolean | null;
|
|
1525
|
+
orgRole?: string | null;
|
|
1526
|
+
timezone?: string | null;
|
|
1527
|
+
memberType?: string;
|
|
1528
|
+
isArchived?: boolean;
|
|
1529
|
+
ownerId?: number | null;
|
|
1530
|
+
ownerName?: string | null;
|
|
1531
|
+
canLogin?: boolean;
|
|
1532
|
+
scopes?: string[];
|
|
1533
|
+
}
|
|
1534
|
+
/**
|
|
1535
|
+
* A soft-warning entry for a DataRecord field schema mismatch.
|
|
1536
|
+
*
|
|
1537
|
+
* Emitted when an API caller sends a field slug that is not declared
|
|
1538
|
+
* on the target DataType's schema. The server silently skips the
|
|
1539
|
+
* field (for backward-compatibility — callers depend on unknown slugs
|
|
1540
|
+
* being ignored rather than rejected with 400) and attaches one of
|
|
1541
|
+
* these to the response so the caller can surface or fix the drift.
|
|
1542
|
+
*
|
|
1543
|
+
* API-facing camelCase to match other signup response fields.
|
|
1544
|
+
*/
|
|
1545
|
+
interface DataRecordFieldWarning {
|
|
1546
|
+
code: 'unknown_data_record_field';
|
|
1547
|
+
dataTypeSlug: string;
|
|
1548
|
+
fieldSlug: string;
|
|
1549
|
+
message: string;
|
|
1550
|
+
}
|
|
1551
|
+
/**
|
|
1552
|
+
* Response model for member credentials.
|
|
1553
|
+
*/
|
|
1554
|
+
interface MemberCredentialResponse {
|
|
1555
|
+
id: number;
|
|
1556
|
+
provider?: string | null;
|
|
1557
|
+
externalUserId?: string | null;
|
|
1558
|
+
externalUsername?: string | null;
|
|
1559
|
+
externalEmail?: string | null;
|
|
1560
|
+
emailVerified?: boolean;
|
|
1561
|
+
connectedAt?: string | null;
|
|
1562
|
+
lastUsedAt?: string | null;
|
|
1563
|
+
createdAt: string;
|
|
1564
|
+
appConnectionId?: number | null;
|
|
1565
|
+
appConnectionName?: string | null;
|
|
1566
|
+
icon?: string | null;
|
|
1567
|
+
iconUrl?: string | null;
|
|
1568
|
+
}
|
|
1569
|
+
/**
|
|
1570
|
+
* Response model for list of field definitions available in a workspace.
|
|
1571
|
+
*/
|
|
1572
|
+
interface MemberFieldDefinitionListResponse {
|
|
1573
|
+
items: MemberFieldDefinitionResponse[];
|
|
1574
|
+
}
|
|
1575
|
+
/**
|
|
1576
|
+
* A field definition available in the workspace (from active app connections
|
|
1577
|
+
* or user-created fields).
|
|
1578
|
+
*/
|
|
1579
|
+
interface MemberFieldDefinitionResponse {
|
|
1580
|
+
key: string;
|
|
1581
|
+
label: string;
|
|
1582
|
+
serviceName?: string | null;
|
|
1583
|
+
serviceType?: string | null;
|
|
1584
|
+
}
|
|
1585
|
+
/**
|
|
1586
|
+
* Response model for list of member fields.
|
|
1587
|
+
*/
|
|
1588
|
+
interface MemberFieldListResponse {
|
|
1589
|
+
items: MemberFieldResponse[];
|
|
1590
|
+
total: number;
|
|
1591
|
+
}
|
|
1592
|
+
/**
|
|
1593
|
+
* Response model for a member field.
|
|
1594
|
+
*
|
|
1595
|
+
* When id is None, this is a placeholder for a managed field definition
|
|
1596
|
+
* that doesn't have a value yet for this member.
|
|
1597
|
+
*/
|
|
1598
|
+
interface MemberFieldResponse {
|
|
1599
|
+
id: number | null;
|
|
1600
|
+
memberId: number;
|
|
1601
|
+
key: string;
|
|
1602
|
+
value: string;
|
|
1603
|
+
serviceId: number | null;
|
|
1604
|
+
serviceName: string | null;
|
|
1605
|
+
serviceType: string | null;
|
|
1606
|
+
createdAt: string | null;
|
|
1607
|
+
updatedAt: string | null;
|
|
1608
|
+
}
|
|
1609
|
+
/**
|
|
1610
|
+
* Response model for a member filter.
|
|
1611
|
+
*/
|
|
1612
|
+
interface MemberFilterResponse {
|
|
1613
|
+
id: number;
|
|
1614
|
+
uuid: string;
|
|
1615
|
+
name: string;
|
|
1616
|
+
description?: string | null;
|
|
1617
|
+
pinned?: boolean | null;
|
|
1618
|
+
createdAt: string;
|
|
1619
|
+
updatedAt: string;
|
|
1620
|
+
rules: MemberFilterRuleResponse[];
|
|
1621
|
+
}
|
|
1622
|
+
/**
|
|
1623
|
+
* Response model for a member filter rule.
|
|
1624
|
+
*/
|
|
1625
|
+
interface MemberFilterRuleResponse {
|
|
1626
|
+
id: number;
|
|
1627
|
+
uuid: string;
|
|
1628
|
+
objectType: string;
|
|
1629
|
+
filterType: string;
|
|
1630
|
+
objectIds?: number[] | null;
|
|
1631
|
+
query?: string | null;
|
|
1632
|
+
}
|
|
1633
|
+
/**
|
|
1634
|
+
* Response model for assistant label endpoints.
|
|
1635
|
+
*/
|
|
1636
|
+
interface MemberLabelResponse {
|
|
1637
|
+
id: number;
|
|
1638
|
+
uuid: string;
|
|
1639
|
+
name: string;
|
|
1640
|
+
slug: string;
|
|
1641
|
+
color: string;
|
|
1642
|
+
description: string | null;
|
|
1643
|
+
}
|
|
1644
|
+
/**
|
|
1645
|
+
* Response model for calendar access within a member role.
|
|
1646
|
+
*/
|
|
1647
|
+
interface MemberRoleCalendarAccessResponse {
|
|
1648
|
+
calendarId: number;
|
|
1649
|
+
accessMode: number;
|
|
1650
|
+
}
|
|
1651
|
+
/**
|
|
1652
|
+
* Response model for data type access within a member role.
|
|
1653
|
+
*/
|
|
1654
|
+
interface MemberRoleDataTypeAccessResponse {
|
|
1655
|
+
dataTypeId: number;
|
|
1656
|
+
accessMode: number;
|
|
1657
|
+
}
|
|
1658
|
+
/**
|
|
1659
|
+
* Response model for file access within a member role.
|
|
1660
|
+
*/
|
|
1661
|
+
interface MemberRoleFileAccessResponse {
|
|
1662
|
+
fileId: number;
|
|
1663
|
+
accessMode: number;
|
|
1664
|
+
}
|
|
1665
|
+
/**
|
|
1666
|
+
* Response model for folder access within a member role.
|
|
1667
|
+
*/
|
|
1668
|
+
interface MemberRoleFolderAccessResponse {
|
|
1669
|
+
folderId: number;
|
|
1670
|
+
accessMode: number;
|
|
1671
|
+
}
|
|
1672
|
+
/**
|
|
1673
|
+
* Response model for inbox access within a member role.
|
|
1674
|
+
*/
|
|
1675
|
+
interface MemberRoleInboxAccessResponse {
|
|
1676
|
+
inboxId: number;
|
|
1677
|
+
accessMode: number;
|
|
1678
|
+
}
|
|
1679
|
+
/**
|
|
1680
|
+
* Response model for member role endpoints.
|
|
1681
|
+
*/
|
|
1682
|
+
interface MemberRoleResponse {
|
|
1683
|
+
id: number;
|
|
1684
|
+
uuid: string;
|
|
1685
|
+
name: string;
|
|
1686
|
+
grantedScopes?: string[];
|
|
1687
|
+
siteAccess?: MemberRoleSiteAccessResponse[];
|
|
1688
|
+
dataTypeAccess?: MemberRoleDataTypeAccessResponse[];
|
|
1689
|
+
workflowAccess?: MemberRoleWorkflowAccessResponse[];
|
|
1690
|
+
inboxAccess?: MemberRoleInboxAccessResponse[];
|
|
1691
|
+
fileAccess?: MemberRoleFileAccessResponse[];
|
|
1692
|
+
folderAccess?: MemberRoleFolderAccessResponse[];
|
|
1693
|
+
calendarAccess?: MemberRoleCalendarAccessResponse[];
|
|
1694
|
+
memberCount?: number;
|
|
1695
|
+
createdAt: string;
|
|
1696
|
+
updatedAt: string;
|
|
1697
|
+
}
|
|
1698
|
+
/**
|
|
1699
|
+
* Response model for site access within a member role.
|
|
1700
|
+
*/
|
|
1701
|
+
interface MemberRoleSiteAccessResponse {
|
|
1702
|
+
siteId: number;
|
|
1703
|
+
accessMode: number;
|
|
1704
|
+
}
|
|
1705
|
+
/**
|
|
1706
|
+
* Response model for workflow access within a member role.
|
|
1707
|
+
*/
|
|
1708
|
+
interface MemberRoleWorkflowAccessResponse {
|
|
1709
|
+
workflowId: number;
|
|
1710
|
+
accessMode: number;
|
|
1711
|
+
}
|
|
1712
|
+
interface MemoryListResponse {
|
|
1713
|
+
items: MemoryResponse$1[];
|
|
1714
|
+
total: number;
|
|
1715
|
+
}
|
|
1716
|
+
interface MemoryResponse$1 {
|
|
1717
|
+
id?: number | null;
|
|
1718
|
+
uuid?: string | null;
|
|
1719
|
+
key: string;
|
|
1720
|
+
type?: string;
|
|
1721
|
+
description: string;
|
|
1722
|
+
content?: string | null;
|
|
1723
|
+
priority?: number;
|
|
1724
|
+
createdAt?: string | null;
|
|
1725
|
+
updatedAt?: string | null;
|
|
1726
|
+
}
|
|
1727
|
+
/**
|
|
1728
|
+
* Response for merge members operation.
|
|
1729
|
+
*/
|
|
1730
|
+
interface MergeMembersResponse {
|
|
1731
|
+
member: WorkspaceMemberResponse;
|
|
1732
|
+
mergedCount: number;
|
|
1733
|
+
dataRecordsTransferred: number;
|
|
1734
|
+
}
|
|
1735
|
+
/**
|
|
1736
|
+
* Response with list of pending anonymous member resolutions.
|
|
1737
|
+
*/
|
|
1738
|
+
interface PendingAnonymousMembersResponse {
|
|
1739
|
+
items: AnonymousMemberResolutionResponse[];
|
|
1740
|
+
total: number;
|
|
1741
|
+
}
|
|
1742
|
+
/**
|
|
1743
|
+
* Response model for account data in signup response.
|
|
1744
|
+
*/
|
|
1745
|
+
interface SignupAccountResponse {
|
|
1746
|
+
id: number;
|
|
1747
|
+
uuid: string;
|
|
1748
|
+
email?: string | null;
|
|
1749
|
+
phone?: string | null;
|
|
1750
|
+
name?: string | null;
|
|
1751
|
+
locale?: string | null;
|
|
1752
|
+
createdAt: string;
|
|
1753
|
+
}
|
|
1754
|
+
/**
|
|
1755
|
+
* Response model for member data in signup response.
|
|
1756
|
+
*/
|
|
1757
|
+
interface SignupMemberResponse {
|
|
1758
|
+
id: number;
|
|
1759
|
+
memberRoleId: number;
|
|
1760
|
+
createdAt: string;
|
|
1761
|
+
name?: string | null;
|
|
1762
|
+
description?: string | null;
|
|
1763
|
+
phone?: string | null;
|
|
1764
|
+
email?: string | null;
|
|
1765
|
+
externalId?: string | null;
|
|
1766
|
+
labels?: string[];
|
|
1767
|
+
tosAccepted: boolean;
|
|
1768
|
+
}
|
|
1769
|
+
interface WorkspaceMemberResponse {
|
|
1770
|
+
id: number;
|
|
1771
|
+
uuid: string;
|
|
1772
|
+
role: string;
|
|
1773
|
+
tosAccepted: boolean;
|
|
1774
|
+
accountTosAccepted: boolean | null;
|
|
1775
|
+
accountUuid: string | null;
|
|
1776
|
+
createdAt: string;
|
|
1777
|
+
updatedAt: string;
|
|
1778
|
+
name: string | null;
|
|
1779
|
+
description: string | null;
|
|
1780
|
+
phone: string | null;
|
|
1781
|
+
phoneType: string | null;
|
|
1782
|
+
email: string | null;
|
|
1783
|
+
externalId: string | null;
|
|
1784
|
+
dateOfBirth?: string | null;
|
|
1785
|
+
notifySms: boolean;
|
|
1786
|
+
notifyEmail: boolean;
|
|
1787
|
+
notifyVoice: boolean;
|
|
1788
|
+
notifyWhatsapp?: boolean;
|
|
1789
|
+
locale: string | null;
|
|
1790
|
+
memberRoleId: number;
|
|
1791
|
+
memberRoleName: string;
|
|
1792
|
+
homeFolderId?: number | null;
|
|
1793
|
+
labels?: MemberLabelResponse[];
|
|
1794
|
+
accountEnabled?: boolean | null;
|
|
1795
|
+
isOrgOwner?: boolean | null;
|
|
1796
|
+
isSuperuser?: boolean | null;
|
|
1797
|
+
orgRole?: string | null;
|
|
1798
|
+
timezone?: string | null;
|
|
1799
|
+
memberType?: string;
|
|
1800
|
+
isArchived?: boolean;
|
|
1801
|
+
ownerId?: number | null;
|
|
1802
|
+
ownerName?: string | null;
|
|
1803
|
+
canLogin?: boolean;
|
|
1804
|
+
}
|
|
1805
|
+
|
|
1806
|
+
declare const MilestoneGoalFormDataSchema: z.ZodObject<{
|
|
1807
|
+
id: z.ZodOptional<z.ZodNumber>;
|
|
1808
|
+
name: z.ZodString;
|
|
1809
|
+
description: z.ZodOptional<z.ZodString>;
|
|
1810
|
+
memberFilterId: z.ZodNumber;
|
|
1811
|
+
value: z.ZodOptional<z.ZodNumber>;
|
|
1812
|
+
}, z.core.$strip>;
|
|
1813
|
+
declare const MilestoneFormDataSchema: z.ZodObject<{
|
|
1814
|
+
name: z.ZodString;
|
|
1815
|
+
description: z.ZodOptional<z.ZodString>;
|
|
1816
|
+
targetDate: z.ZodString;
|
|
1817
|
+
goals: z.ZodArray<z.ZodObject<{
|
|
1818
|
+
id: z.ZodOptional<z.ZodNumber>;
|
|
1819
|
+
name: z.ZodString;
|
|
1820
|
+
description: z.ZodOptional<z.ZodString>;
|
|
1821
|
+
memberFilterId: z.ZodNumber;
|
|
1822
|
+
value: z.ZodOptional<z.ZodNumber>;
|
|
1823
|
+
}, z.core.$strip>>;
|
|
1824
|
+
}, z.core.$strip>;
|
|
1825
|
+
declare const ListMilestonesSchema: z.ZodObject<{
|
|
1826
|
+
wid: z.ZodString;
|
|
1827
|
+
page: z.ZodOptional<z.ZodNumber>;
|
|
1828
|
+
pageSize: z.ZodOptional<z.ZodNumber>;
|
|
1829
|
+
sortBy: z.ZodOptional<z.ZodString>;
|
|
1830
|
+
sortOrder: z.ZodOptional<z.ZodEnum<{
|
|
1831
|
+
asc: "asc";
|
|
1832
|
+
desc: "desc";
|
|
1833
|
+
}>>;
|
|
1834
|
+
}, z.core.$strip>;
|
|
1835
|
+
declare const GetMilestoneSchema: z.ZodObject<{
|
|
1836
|
+
wid: z.ZodString;
|
|
1837
|
+
milestoneId: z.ZodNumber;
|
|
1838
|
+
}, z.core.$strip>;
|
|
1839
|
+
declare const CreateMilestoneSchema: z.ZodObject<{
|
|
1840
|
+
wid: z.ZodString;
|
|
1841
|
+
name: z.ZodString;
|
|
1842
|
+
description: z.ZodOptional<z.ZodString>;
|
|
1843
|
+
targetDate: z.ZodString;
|
|
1844
|
+
goals: z.ZodArray<z.ZodObject<{
|
|
1845
|
+
id: z.ZodOptional<z.ZodNumber>;
|
|
1846
|
+
name: z.ZodString;
|
|
1847
|
+
description: z.ZodOptional<z.ZodString>;
|
|
1848
|
+
memberFilterId: z.ZodNumber;
|
|
1849
|
+
value: z.ZodOptional<z.ZodNumber>;
|
|
1850
|
+
}, z.core.$strip>>;
|
|
1851
|
+
}, z.core.$strip>;
|
|
1852
|
+
declare const UpdateMilestoneSchema: z.ZodObject<{
|
|
1853
|
+
wid: z.ZodString;
|
|
1854
|
+
milestoneId: z.ZodNumber;
|
|
1855
|
+
name: z.ZodOptional<z.ZodString>;
|
|
1856
|
+
description: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
1857
|
+
targetDate: z.ZodOptional<z.ZodString>;
|
|
1858
|
+
goals: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1859
|
+
id: z.ZodOptional<z.ZodNumber>;
|
|
1860
|
+
name: z.ZodString;
|
|
1861
|
+
description: z.ZodOptional<z.ZodString>;
|
|
1862
|
+
memberFilterId: z.ZodNumber;
|
|
1863
|
+
value: z.ZodOptional<z.ZodNumber>;
|
|
1864
|
+
}, z.core.$strip>>>;
|
|
1865
|
+
}, z.core.$strip>;
|
|
1866
|
+
declare const DeleteMilestoneSchema: z.ZodObject<{
|
|
1867
|
+
wid: z.ZodString;
|
|
1868
|
+
milestoneId: z.ZodNumber;
|
|
1869
|
+
}, z.core.$strip>;
|
|
1870
|
+
type MilestoneFormData = z.infer<typeof MilestoneFormDataSchema>;
|
|
1871
|
+
type ListMilestonesInput = z.infer<typeof ListMilestonesSchema>;
|
|
1872
|
+
type GetMilestoneInput = z.infer<typeof GetMilestoneSchema>;
|
|
1873
|
+
type CreateMilestoneInput = z.infer<typeof CreateMilestoneSchema>;
|
|
1874
|
+
type UpdateMilestoneInput = z.infer<typeof UpdateMilestoneSchema>;
|
|
1875
|
+
type DeleteMilestoneInput = z.infer<typeof DeleteMilestoneSchema>;
|
|
1876
|
+
|
|
1877
|
+
type MemoryItem = MemoryResponse$1;
|
|
1878
|
+
type MemoryResponse = MemoryItem;
|
|
1879
|
+
type MemberMemoriesResponse = Omit<MemoryListResponse, 'items'> & {
|
|
1880
|
+
items: MemoryItem[];
|
|
1881
|
+
};
|
|
1882
|
+
|
|
1883
|
+
type MemoryType = 'basic' | 'preferences' | 'semantic' | 'summaries' | 'episodic';
|
|
1884
|
+
interface AgentMemoryConfig {
|
|
1885
|
+
enabled?: boolean;
|
|
1886
|
+
read?: boolean;
|
|
1887
|
+
write?: boolean;
|
|
1888
|
+
preferences?: boolean;
|
|
1889
|
+
semantic?: boolean;
|
|
1890
|
+
summaries?: boolean;
|
|
1891
|
+
episodic?: boolean;
|
|
1892
|
+
}
|
|
1893
|
+
declare enum MemberType {
|
|
1894
|
+
ANONYMOUS = "anonymous",
|
|
1895
|
+
TEST = "test",
|
|
1896
|
+
MEMBER = "member",
|
|
1897
|
+
AGENT = "agent"
|
|
1898
|
+
}
|
|
1899
|
+
interface MemberLabelFormData {
|
|
1900
|
+
name: string;
|
|
1901
|
+
slug?: string;
|
|
1902
|
+
description?: string;
|
|
1903
|
+
color: string;
|
|
1904
|
+
}
|
|
1905
|
+
interface BulkMemberItem {
|
|
1906
|
+
email?: string;
|
|
1907
|
+
phone?: string;
|
|
1908
|
+
name?: string;
|
|
1909
|
+
description?: string;
|
|
1910
|
+
externalId?: string;
|
|
1911
|
+
memberRoleId?: number;
|
|
1912
|
+
labels?: string[];
|
|
1913
|
+
notifySms?: boolean;
|
|
1914
|
+
notifyEmail?: boolean;
|
|
1915
|
+
notifyVoice?: boolean;
|
|
1916
|
+
notifyWhatsapp?: boolean;
|
|
1917
|
+
locale?: string;
|
|
1918
|
+
timezone?: string;
|
|
1919
|
+
}
|
|
1920
|
+
interface BulkCreateMembersRequest {
|
|
1921
|
+
members: BulkMemberItem[];
|
|
1922
|
+
upsert?: boolean;
|
|
1923
|
+
}
|
|
1924
|
+
interface AgentConfigFormData {
|
|
1925
|
+
chatModelId?: string;
|
|
1926
|
+
chatModelConfig?: Record<string, unknown>;
|
|
1927
|
+
realtimeModelId?: string;
|
|
1928
|
+
realtimeModelConfig?: Record<string, unknown>;
|
|
1929
|
+
systemPrompt?: string;
|
|
1930
|
+
maxDailyActions?: number;
|
|
1931
|
+
tools?: string[];
|
|
1932
|
+
codeInterpreterEnabled?: boolean;
|
|
1933
|
+
memoryConfig?: AgentMemoryConfig;
|
|
1934
|
+
}
|
|
1935
|
+
type MemberFilterObjectType = 'label' | 'dataType' | 'member' | 'memberRole' | 'name' | 'email' | 'phone' | 'phoneType' | 'age' | 'dateOfBirth' | 'workflow' | 'tosAccepted' | 'notifySms' | 'notifyEmail' | 'notifyVoice' | 'smsDeliveryStatus' | 'callForwarded' | 'calendarEvent' | 'chatEngagement' | 'lastMessageActivity' | 'memberCreated' | 'isDefault' | 'memberType' | 'memberField' | 'journey';
|
|
1936
|
+
type MemberFilterFilterType = 'any' | 'all' | 'none' | 'partial' | 'notPartial' | 'exact' | 'equals' | 'notEquals' | 'notContains' | 'atLeast' | 'atMost' | 'field' | 'dateFilter' | 'greaterThan' | 'greaterThanOrEqual' | 'lessThan' | 'lessThanOrEqual' | 'within' | 'olderThan' | 'never' | 'isEmpty' | 'notEmpty' | 'before' | 'after' | 'between' | 'daysAgo' | 'lessThanDaysAgo' | 'daysUntil' | 'hasKey' | 'hasKeyValue' | 'smsDeliveryStatusNeedsAttention' | 'callForwardedAny';
|
|
1937
|
+
interface MemberFilterRuleFormData {
|
|
1938
|
+
objectType: MemberFilterObjectType;
|
|
1939
|
+
filterType: MemberFilterFilterType;
|
|
1940
|
+
objectIds?: number[];
|
|
1941
|
+
query?: string;
|
|
1942
|
+
}
|
|
1943
|
+
interface MemberFilterFormData {
|
|
1944
|
+
name: string;
|
|
1945
|
+
description?: string;
|
|
1946
|
+
pinned?: boolean;
|
|
1947
|
+
rules: MemberFilterRuleFormData[];
|
|
1948
|
+
}
|
|
1949
|
+
interface MemberRoleTaskAccess {
|
|
1950
|
+
taskId: number;
|
|
1951
|
+
accessMode: number;
|
|
1952
|
+
}
|
|
1953
|
+
interface MemberRoleFormData {
|
|
1954
|
+
name?: string;
|
|
1955
|
+
grantedScopes?: string[];
|
|
1956
|
+
taskAccess?: MemberRoleTaskAccess[];
|
|
1957
|
+
siteAccess?: MemberRoleSiteAccessResponse[];
|
|
1958
|
+
dataTypeAccess?: MemberRoleDataTypeAccessResponse[];
|
|
1959
|
+
workflowAccess?: MemberRoleWorkflowAccessResponse[];
|
|
1960
|
+
inboxAccess?: MemberRoleInboxAccessResponse[];
|
|
1961
|
+
fileAccess?: MemberRoleFileAccessResponse[];
|
|
1962
|
+
folderAccess?: MemberRoleFolderAccessResponse[];
|
|
1963
|
+
calendarAccess?: MemberRoleCalendarAccessResponse[];
|
|
1964
|
+
}
|
|
1965
|
+
interface MemberFormData {
|
|
1966
|
+
tosAccepted?: boolean;
|
|
1967
|
+
memberRoleId?: number;
|
|
1968
|
+
notifySms?: boolean;
|
|
1969
|
+
notifyEmail?: boolean;
|
|
1970
|
+
notifyVoice?: boolean;
|
|
1971
|
+
notifyWhatsapp?: boolean;
|
|
1972
|
+
name?: string;
|
|
1973
|
+
description?: string;
|
|
1974
|
+
phone?: string;
|
|
1975
|
+
email?: string;
|
|
1976
|
+
externalId?: string;
|
|
1977
|
+
dateOfBirth?: string | null;
|
|
1978
|
+
}
|
|
1979
|
+
interface CreateWorkspaceMemberRequest {
|
|
1980
|
+
email?: string;
|
|
1981
|
+
phone?: string;
|
|
1982
|
+
accountUuid?: string;
|
|
1983
|
+
name?: string;
|
|
1984
|
+
description?: string;
|
|
1985
|
+
externalId?: string;
|
|
1986
|
+
dateOfBirth?: string;
|
|
1987
|
+
memberRoleId: number;
|
|
1988
|
+
notifySms?: boolean;
|
|
1989
|
+
notifyEmail?: boolean;
|
|
1990
|
+
notifyVoice?: boolean;
|
|
1991
|
+
notifyWhatsapp?: boolean;
|
|
1992
|
+
locale?: string;
|
|
1993
|
+
timezone?: string;
|
|
1994
|
+
labelIds?: number[];
|
|
1995
|
+
tosAccepted?: boolean;
|
|
1996
|
+
accountEnabled?: boolean;
|
|
1997
|
+
isOrgOwner?: boolean;
|
|
1998
|
+
accountTosAccepted?: boolean;
|
|
1999
|
+
memberType?: MemberType;
|
|
2000
|
+
ownerId?: number;
|
|
2001
|
+
}
|
|
2002
|
+
interface UpdateWorkspaceMemberRequest {
|
|
2003
|
+
name?: string | null;
|
|
2004
|
+
description?: string | null;
|
|
2005
|
+
phone?: string | null;
|
|
2006
|
+
email?: string | null;
|
|
2007
|
+
externalId?: string | null;
|
|
2008
|
+
dateOfBirth?: string | null;
|
|
2009
|
+
memberRoleId?: number;
|
|
2010
|
+
labelIds?: number[];
|
|
2011
|
+
notifySms?: boolean;
|
|
2012
|
+
notifyEmail?: boolean;
|
|
2013
|
+
notifyVoice?: boolean;
|
|
2014
|
+
notifyWhatsapp?: boolean;
|
|
2015
|
+
locale?: string | null;
|
|
2016
|
+
timezone?: string | null;
|
|
2017
|
+
tosAccepted?: boolean;
|
|
2018
|
+
accountEnabled?: boolean;
|
|
2019
|
+
isOrgOwner?: boolean;
|
|
2020
|
+
isSuperuser?: boolean;
|
|
2021
|
+
accountTosAccepted?: boolean;
|
|
2022
|
+
memberType?: MemberType;
|
|
2023
|
+
}
|
|
2024
|
+
interface MergeMembersRequest {
|
|
2025
|
+
targetMemberId: number;
|
|
2026
|
+
sourceMemberIds: number[];
|
|
2027
|
+
}
|
|
2028
|
+
interface NormalizeMemberRequest {
|
|
2029
|
+
memberId: number;
|
|
2030
|
+
}
|
|
2031
|
+
interface NormalizeMemberResponse {
|
|
2032
|
+
member: WorkspaceMemberResponse;
|
|
2033
|
+
changes: Record<string, {
|
|
2034
|
+
old: string;
|
|
2035
|
+
new: string;
|
|
2036
|
+
}>;
|
|
2037
|
+
}
|
|
2038
|
+
interface MemberReportItem {
|
|
2039
|
+
id: number;
|
|
2040
|
+
account_uuid: string;
|
|
2041
|
+
email?: string | null;
|
|
2042
|
+
phone?: string | null;
|
|
2043
|
+
name?: string | null;
|
|
2044
|
+
external_id?: string | null;
|
|
2045
|
+
created_at: string;
|
|
2046
|
+
updated_at: string;
|
|
2047
|
+
member_role_id: number;
|
|
2048
|
+
member_role_name: string;
|
|
2049
|
+
}
|
|
2050
|
+
interface MembersQueryParams {
|
|
2051
|
+
page?: number;
|
|
2052
|
+
pageSize?: number;
|
|
2053
|
+
sortBy?: MemberSortField;
|
|
2054
|
+
sortOrder?: SortOrder;
|
|
2055
|
+
search?: string;
|
|
2056
|
+
labelIds?: number[];
|
|
2057
|
+
memberRoleId?: number;
|
|
2058
|
+
memberType?: string;
|
|
2059
|
+
hasAccount?: boolean;
|
|
2060
|
+
}
|
|
2061
|
+
interface MemberMessageActivity {
|
|
2062
|
+
[memberId: number]: number[];
|
|
2063
|
+
}
|
|
2064
|
+
interface CreateAgentRequest {
|
|
2065
|
+
name: string;
|
|
2066
|
+
description?: string;
|
|
2067
|
+
email?: string;
|
|
2068
|
+
phone?: string;
|
|
2069
|
+
externalId?: string;
|
|
2070
|
+
memberRoleId: number;
|
|
2071
|
+
labelIds?: number[];
|
|
2072
|
+
ownerId?: number;
|
|
2073
|
+
chatModelId: string;
|
|
2074
|
+
chatModelConfig?: Record<string, unknown>;
|
|
2075
|
+
realtimeModelId?: string;
|
|
2076
|
+
realtimeModelConfig?: Record<string, unknown>;
|
|
2077
|
+
systemPrompt: string;
|
|
2078
|
+
maxDailyActions?: number;
|
|
2079
|
+
tools?: string[];
|
|
2080
|
+
codeInterpreterEnabled?: boolean;
|
|
2081
|
+
memoryConfig?: AgentMemoryConfig;
|
|
2082
|
+
}
|
|
2083
|
+
interface UpdateAgentRequest {
|
|
2084
|
+
name?: string;
|
|
2085
|
+
description?: string;
|
|
2086
|
+
email?: string;
|
|
2087
|
+
phone?: string;
|
|
2088
|
+
externalId?: string;
|
|
2089
|
+
memberRoleId?: number;
|
|
2090
|
+
labelIds?: number[];
|
|
2091
|
+
archived?: boolean;
|
|
2092
|
+
chatModelId?: string;
|
|
2093
|
+
chatModelConfig?: Record<string, unknown>;
|
|
2094
|
+
realtimeModelId?: string;
|
|
2095
|
+
realtimeModelConfig?: Record<string, unknown>;
|
|
2096
|
+
systemPrompt?: string;
|
|
2097
|
+
maxDailyActions?: number;
|
|
2098
|
+
tools?: string[];
|
|
2099
|
+
codeInterpreterEnabled?: boolean;
|
|
2100
|
+
memoryConfig?: AgentMemoryConfig;
|
|
2101
|
+
}
|
|
2102
|
+
type AnonymousMemberResolutionStatus = 'pending' | 'resolved' | 'expired';
|
|
2103
|
+
interface ResolveAnonymousMemberRequest {
|
|
2104
|
+
targetMemberId: number;
|
|
2105
|
+
notes?: string;
|
|
2106
|
+
}
|
|
2107
|
+
interface ExpireAnonymousMemberRequest {
|
|
2108
|
+
notes?: string;
|
|
2109
|
+
}
|
|
2110
|
+
interface CreateAnonymousMemberRequest {
|
|
2111
|
+
identifierType: string;
|
|
2112
|
+
identifierValue: string;
|
|
2113
|
+
name?: string;
|
|
2114
|
+
memberRoleId?: number;
|
|
2115
|
+
}
|
|
2116
|
+
|
|
2117
|
+
/**
|
|
2118
|
+
* Generated by Orval (filtered by scripts/types-codegen/allowlist.txt and
|
|
2119
|
+
* grouped by scripts/types-codegen/group_generated.ts). Do not edit manually.
|
|
2120
|
+
* Group: event_rule
|
|
2121
|
+
*/
|
|
2122
|
+
/**
|
|
2123
|
+
* Mapping of event type to valid action types
|
|
2124
|
+
*/
|
|
2125
|
+
interface EventActionMapping {
|
|
2126
|
+
eventType: string;
|
|
2127
|
+
actions: string[];
|
|
2128
|
+
}
|
|
2129
|
+
/**
|
|
2130
|
+
* Response containing all event-action mappings
|
|
2131
|
+
*/
|
|
2132
|
+
interface EventActionMappingsResponse {
|
|
2133
|
+
mappings: EventActionMapping[];
|
|
2134
|
+
}
|
|
2135
|
+
type EventRuleActionType$1 = (typeof EventRuleActionType$1)[keyof typeof EventRuleActionType$1];
|
|
2136
|
+
declare const EventRuleActionType$1: {
|
|
2137
|
+
readonly 'member:notify': "member:notify";
|
|
2138
|
+
readonly 'member:label': "member:label";
|
|
2139
|
+
readonly 'member:upsert': "member:upsert";
|
|
2140
|
+
readonly 'webhook:send': "webhook:send";
|
|
2141
|
+
readonly 'task:switch': "task:switch";
|
|
2142
|
+
readonly 'assistant:message': "assistant:message";
|
|
2143
|
+
readonly 'form:update_field': "form:update_field";
|
|
2144
|
+
readonly 'message:validation': "message:validation";
|
|
2145
|
+
readonly 'chat:create': "chat:create";
|
|
2146
|
+
readonly 'chat:continue': "chat:continue";
|
|
2147
|
+
readonly 'chat:pause': "chat:pause";
|
|
2148
|
+
readonly 'chat:summarize': "chat:summarize";
|
|
2149
|
+
readonly 'email:send': "email:send";
|
|
2150
|
+
readonly 'sms:send': "sms:send";
|
|
2151
|
+
readonly 'whatsapp:send': "whatsapp:send";
|
|
2152
|
+
readonly 'phone:call': "phone:call";
|
|
2153
|
+
readonly 'custom_tool:invoke': "custom_tool:invoke";
|
|
2154
|
+
readonly 'monday:upsert_item': "monday:upsert_item";
|
|
2155
|
+
readonly 'monday:refresh': "monday:refresh";
|
|
2156
|
+
readonly 'assignment:conclude': "assignment:conclude";
|
|
2157
|
+
readonly 'journey:enroll': "journey:enroll";
|
|
2158
|
+
readonly 'connection:sync': "connection:sync";
|
|
2159
|
+
readonly 'connector:operation': "connector:operation";
|
|
2160
|
+
readonly 'ecw:refresh_member_encounters': "ecw:refresh_member_encounters";
|
|
2161
|
+
readonly 'audio:play': "audio:play";
|
|
2162
|
+
};
|
|
2163
|
+
type EventRuleEventType$1 = (typeof EventRuleEventType$1)[keyof typeof EventRuleEventType$1];
|
|
2164
|
+
declare const EventRuleEventType$1: {
|
|
2165
|
+
readonly 'task:execute': "task:execute";
|
|
2166
|
+
readonly 'workspace:member_joined': "workspace:member_joined";
|
|
2167
|
+
readonly 'workspace:member_left': "workspace:member_left";
|
|
2168
|
+
readonly 'member:updated': "member:updated";
|
|
2169
|
+
readonly 'data_record:created': "data_record:created";
|
|
2170
|
+
readonly 'data_record:updated': "data_record:updated";
|
|
2171
|
+
readonly 'chat:created': "chat:created";
|
|
2172
|
+
readonly 'routine:triggered': "routine:triggered";
|
|
2173
|
+
readonly 'workflow:assistant_message': "workflow:assistant_message";
|
|
2174
|
+
readonly 'workflow:user_message': "workflow:user_message";
|
|
2175
|
+
readonly 'chat:callback': "chat:callback";
|
|
2176
|
+
readonly 'calendar_event:created': "calendar_event:created";
|
|
2177
|
+
readonly 'calendar_event:updated': "calendar_event:updated";
|
|
2178
|
+
readonly 'calendar_event:cancelled': "calendar_event:cancelled";
|
|
2179
|
+
readonly 'calendar_event:starting': "calendar_event:starting";
|
|
2180
|
+
readonly 'calendar_event:ended': "calendar_event:ended";
|
|
2181
|
+
readonly 'connector:event': "connector:event";
|
|
2182
|
+
readonly 'assignment:concluded': "assignment:concluded";
|
|
2183
|
+
readonly 'journey_step:execute': "journey_step:execute";
|
|
2184
|
+
readonly 'journey:enrolled': "journey:enrolled";
|
|
2185
|
+
readonly 'journey:completed': "journey:completed";
|
|
2186
|
+
readonly 'call:started': "call:started";
|
|
2187
|
+
readonly 'call:completed': "call:completed";
|
|
2188
|
+
readonly 'call:summary': "call:summary";
|
|
2189
|
+
};
|
|
2190
|
+
type EventRuleObjectType$1 = (typeof EventRuleObjectType$1)[keyof typeof EventRuleObjectType$1];
|
|
2191
|
+
declare const EventRuleObjectType$1: {
|
|
2192
|
+
readonly task: "task";
|
|
2193
|
+
readonly workspace: "workspace";
|
|
2194
|
+
readonly chat: "chat";
|
|
2195
|
+
readonly data_record: "data_record";
|
|
2196
|
+
readonly member: "member";
|
|
2197
|
+
readonly routine: "routine";
|
|
2198
|
+
readonly workflow: "workflow";
|
|
2199
|
+
readonly calendar: "calendar";
|
|
2200
|
+
readonly calendar_event_type: "calendar_event_type";
|
|
2201
|
+
readonly journey: "journey";
|
|
2202
|
+
readonly call: "call";
|
|
2203
|
+
};
|
|
2204
|
+
interface EventRuleResponse$1 {
|
|
2205
|
+
id: number;
|
|
2206
|
+
uuid: string;
|
|
2207
|
+
objectType: EventRuleObjectType$1;
|
|
2208
|
+
name: string | null;
|
|
2209
|
+
eventType: EventRuleEventType$1;
|
|
2210
|
+
conditions: string | null;
|
|
2211
|
+
actionType: EventRuleActionType$1;
|
|
2212
|
+
actionParams: EventRuleResponseActionParams;
|
|
2213
|
+
triggerParams: EventRuleResponseTriggerParams;
|
|
2214
|
+
active: boolean;
|
|
2215
|
+
createdAt: string;
|
|
2216
|
+
updatedAt: string;
|
|
2217
|
+
taskId: number | null;
|
|
2218
|
+
taskName?: string | null;
|
|
2219
|
+
taskWorkflowId?: number | null;
|
|
2220
|
+
dataTypeId: number | null;
|
|
2221
|
+
dataTypeName?: string | null;
|
|
2222
|
+
routineId: number | null;
|
|
2223
|
+
workflowId: number | null;
|
|
2224
|
+
calendarId: number | null;
|
|
2225
|
+
calendarEventTypeId: number | null;
|
|
2226
|
+
journeyStepId: number | null;
|
|
2227
|
+
journeyId?: number | null;
|
|
2228
|
+
appConnectionId?: number | null;
|
|
2229
|
+
error: string | null;
|
|
2230
|
+
errorMessage: string | null;
|
|
2231
|
+
failedAt: string | null;
|
|
2232
|
+
delay: number;
|
|
2233
|
+
order: number;
|
|
2234
|
+
}
|
|
2235
|
+
type EventRuleResponseActionParams = {
|
|
2236
|
+
[key: string]: unknown;
|
|
2237
|
+
};
|
|
2238
|
+
type EventRuleResponseTriggerParams = {
|
|
2239
|
+
[key: string]: unknown;
|
|
2240
|
+
} | null;
|
|
2241
|
+
|
|
2242
|
+
/**
|
|
2243
|
+
* Generated by Orval (filtered by scripts/types-codegen/allowlist.txt and
|
|
2244
|
+
* grouped by scripts/types-codegen/group_generated.ts). Do not edit manually.
|
|
2245
|
+
* Group: data
|
|
2246
|
+
*/
|
|
2247
|
+
|
|
2248
|
+
interface DataRecordResponse {
|
|
2249
|
+
id: number;
|
|
2250
|
+
dataTypeId: number;
|
|
2251
|
+
memberId: number | null;
|
|
2252
|
+
memberName?: string | null;
|
|
2253
|
+
fieldValues: DataRecordResponseFieldValues;
|
|
2254
|
+
createdAt: string;
|
|
2255
|
+
updatedAt: string;
|
|
2256
|
+
externalId?: string | null;
|
|
2257
|
+
accessMode?: number | null;
|
|
2258
|
+
}
|
|
2259
|
+
type DataRecordResponseFieldValues = {
|
|
2260
|
+
[key: string]: unknown;
|
|
2261
|
+
};
|
|
2262
|
+
interface DataRecordUpdateResponse {
|
|
2263
|
+
id: number;
|
|
2264
|
+
dataRecordId: number;
|
|
2265
|
+
actorMemberId: number;
|
|
2266
|
+
recordMemberId?: number | null;
|
|
2267
|
+
fieldName: string;
|
|
2268
|
+
oldValue: string | null;
|
|
2269
|
+
newValue: string | null;
|
|
2270
|
+
createdAt: string;
|
|
2271
|
+
updatedAt: string;
|
|
2272
|
+
assignmentTaskId?: number | null;
|
|
2273
|
+
memberName?: string | null;
|
|
2274
|
+
}
|
|
2275
|
+
interface DataTypeMemberRoleAccessResponse {
|
|
2276
|
+
memberRoleId: number;
|
|
2277
|
+
memberRoleName: string;
|
|
2278
|
+
accessMode: number;
|
|
2279
|
+
}
|
|
2280
|
+
interface DataTypeResponse {
|
|
2281
|
+
id: number;
|
|
2282
|
+
name: string;
|
|
2283
|
+
uuid: string;
|
|
2284
|
+
slug: string;
|
|
2285
|
+
accessMode?: number | null;
|
|
2286
|
+
description: string | null;
|
|
2287
|
+
prompt: string | null;
|
|
2288
|
+
isCollection: boolean;
|
|
2289
|
+
pinned?: boolean | null;
|
|
2290
|
+
archived?: boolean;
|
|
2291
|
+
ownerId?: number | null;
|
|
2292
|
+
recordScope: string;
|
|
2293
|
+
sensitivity: string;
|
|
2294
|
+
categories: string[];
|
|
2295
|
+
createdAt: string;
|
|
2296
|
+
updatedAt: string;
|
|
2297
|
+
createRules: EventRuleResponse$1[];
|
|
2298
|
+
updateRules: EventRuleResponse$1[];
|
|
2299
|
+
fields: SchemaField[];
|
|
2300
|
+
memberRoleAccess?: DataTypeMemberRoleAccessResponse[];
|
|
2301
|
+
recordCount?: number | null;
|
|
2302
|
+
}
|
|
2303
|
+
/**
|
|
2304
|
+
* Label-value pair for enum field options.
|
|
2305
|
+
*
|
|
2306
|
+
* Allows enum fields to have user-friendly labels while storing clean values
|
|
2307
|
+
* (e.g., numbers for scoring calculations in CEL expressions).
|
|
2308
|
+
*/
|
|
2309
|
+
interface EnumOption$1 {
|
|
2310
|
+
/** Display label shown to users */
|
|
2311
|
+
label: string;
|
|
2312
|
+
/** Stored value (can be string or number) */
|
|
2313
|
+
value: string | number;
|
|
2314
|
+
/** CEL expression that must return true for this option to be visible. Uses record.data.<field_slug> syntax to reference other field values. CONSTRAINT: Can only reference non-FUNCTION fields. */
|
|
2315
|
+
visibleWhen?: string | null;
|
|
2316
|
+
}
|
|
2317
|
+
interface IndexStatusResponse {
|
|
2318
|
+
fieldId: string;
|
|
2319
|
+
fieldName: string;
|
|
2320
|
+
shouldIndex: string;
|
|
2321
|
+
indexStatus: string;
|
|
2322
|
+
message?: string | null;
|
|
2323
|
+
}
|
|
2324
|
+
/**
|
|
2325
|
+
* Strongly-typed field definition for DataType schemas.
|
|
2326
|
+
*/
|
|
2327
|
+
interface SchemaField {
|
|
2328
|
+
/** Unique field identifier */
|
|
2329
|
+
slug: string;
|
|
2330
|
+
/** Display name for the field */
|
|
2331
|
+
name: string;
|
|
2332
|
+
/** Optional field description */
|
|
2333
|
+
description?: string | null;
|
|
2334
|
+
/** Field type (text, email, enum, etc.) */
|
|
2335
|
+
fieldType?: (typeof SchemaFieldFieldType)[keyof typeof SchemaFieldFieldType];
|
|
2336
|
+
/** Whether field is required */
|
|
2337
|
+
required?: boolean;
|
|
2338
|
+
/** Deprecated: Display order is now determined by array position */
|
|
2339
|
+
order?: number | null;
|
|
2340
|
+
/** Options for enum fields as {label, value} objects. */
|
|
2341
|
+
options?: EnumOption$1[] | null;
|
|
2342
|
+
/** Referenced DataType ID for reference fields */
|
|
2343
|
+
referencedTypeId?: number | null;
|
|
2344
|
+
/** Whether to index this field */
|
|
2345
|
+
shouldIndex?: boolean;
|
|
2346
|
+
/** Whether only admins can see this field */
|
|
2347
|
+
adminOnly?: boolean;
|
|
2348
|
+
/** Default value for the field */
|
|
2349
|
+
defaultValue?: unknown;
|
|
2350
|
+
/** CEL expression that computes this field's value. CONSTRAINT: Can ONLY reference regular fields (TEXT, NUMBER, DATE, etc.). Cannot reference other FUNCTION fields. Syntax: record.data.<field_slug>. Example: 'record.data.score1 + record.data.score2' */
|
|
2351
|
+
celFunction?: string | null;
|
|
2352
|
+
/** CEL expression for cross-field validation. Context: 'value' (current field value), 'record.data.<field_slug>' (other fields). Returns: true if valid, or a string error message if invalid. CONSTRAINT: Can only reference non-FUNCTION fields. Example: 'value >= record.data.min_score' or 'value < record.data.min_score ? "Must be >= " + string(record.data.min_score) : true' */
|
|
2353
|
+
validateCel?: string | null;
|
|
2354
|
+
/** Disclosure severity for audit and access policy */
|
|
2355
|
+
sensitivity?: SchemaFieldSensitivity;
|
|
2356
|
+
/** Regulatory or content categories for audit and policy */
|
|
2357
|
+
categories?: SchemaFieldCategoriesItem[];
|
|
2358
|
+
}
|
|
2359
|
+
type SchemaFieldCategoriesItem = (typeof SchemaFieldCategoriesItem)[keyof typeof SchemaFieldCategoriesItem];
|
|
2360
|
+
declare const SchemaFieldCategoriesItem: {
|
|
2361
|
+
readonly personal: "personal";
|
|
2362
|
+
readonly identifier: "identifier";
|
|
2363
|
+
readonly phi: "phi";
|
|
2364
|
+
readonly credential: "credential";
|
|
2365
|
+
};
|
|
2366
|
+
declare const SchemaFieldFieldType: {
|
|
2367
|
+
readonly enum: "enum";
|
|
2368
|
+
readonly email: "email";
|
|
2369
|
+
readonly phone: "phone";
|
|
2370
|
+
readonly text: "text";
|
|
2371
|
+
readonly longtext: "longtext";
|
|
2372
|
+
readonly number: "number";
|
|
2373
|
+
readonly integer: "integer";
|
|
2374
|
+
readonly boolean: "boolean";
|
|
2375
|
+
readonly date: "date";
|
|
2376
|
+
readonly datetime: "datetime";
|
|
2377
|
+
readonly time_of_day: "time_of_day";
|
|
2378
|
+
readonly us_zip_code: "us_zip_code";
|
|
2379
|
+
readonly array: "array";
|
|
2380
|
+
readonly object: "object";
|
|
2381
|
+
readonly function: "function";
|
|
2382
|
+
};
|
|
2383
|
+
/**
|
|
2384
|
+
* Disclosure severity for audit and access policy
|
|
2385
|
+
*/
|
|
2386
|
+
type SchemaFieldSensitivity = (typeof SchemaFieldSensitivity)[keyof typeof SchemaFieldSensitivity];
|
|
2387
|
+
declare const SchemaFieldSensitivity: {
|
|
2388
|
+
readonly public: "public";
|
|
2389
|
+
readonly internal: "internal";
|
|
2390
|
+
readonly confidential: "confidential";
|
|
2391
|
+
readonly restricted: "restricted";
|
|
2392
|
+
readonly secret: "secret";
|
|
2393
|
+
};
|
|
2394
|
+
|
|
2395
|
+
/**
|
|
2396
|
+
* Generated by Orval (filtered by scripts/types-codegen/allowlist.txt and
|
|
2397
|
+
* grouped by scripts/types-codegen/group_generated.ts). Do not edit manually.
|
|
2398
|
+
* Group: routine
|
|
2399
|
+
*/
|
|
2400
|
+
|
|
2401
|
+
/**
|
|
2402
|
+
* Summary of member information for inclusion in routine runs.
|
|
2403
|
+
*/
|
|
2404
|
+
interface MemberSummary {
|
|
2405
|
+
id: number;
|
|
2406
|
+
name?: string | null;
|
|
2407
|
+
}
|
|
2408
|
+
/**
|
|
2409
|
+
* Response model for Routines.
|
|
2410
|
+
*/
|
|
2411
|
+
interface RoutineResponse$1 {
|
|
2412
|
+
id: number;
|
|
2413
|
+
uuid: string;
|
|
2414
|
+
name: string;
|
|
2415
|
+
description?: string | null;
|
|
2416
|
+
scheduleEnabled: boolean;
|
|
2417
|
+
scheduleMode: string;
|
|
2418
|
+
scheduledTime?: string | null;
|
|
2419
|
+
intervalSeconds?: number | null;
|
|
2420
|
+
repeatCount?: number | null;
|
|
2421
|
+
cronString?: string | null;
|
|
2422
|
+
startDate?: string | null;
|
|
2423
|
+
memberFilterId?: number | null;
|
|
2424
|
+
memberFilterName?: string | null;
|
|
2425
|
+
targetMemberId?: number | null;
|
|
2426
|
+
workflowId?: number | null;
|
|
2427
|
+
limit: number;
|
|
2428
|
+
visibility: string;
|
|
2429
|
+
ownerId: number | null;
|
|
2430
|
+
createdAt: string;
|
|
2431
|
+
updatedAt: string;
|
|
2432
|
+
eventRules?: EventRuleResponse$1[];
|
|
2433
|
+
nextRun?: string | null;
|
|
2434
|
+
webhookEnabled?: boolean;
|
|
2435
|
+
webhookSecretPlaintext?: string | null;
|
|
2436
|
+
}
|
|
2437
|
+
/**
|
|
2438
|
+
* Response model for Routine runs.
|
|
2439
|
+
*/
|
|
2440
|
+
interface RoutineRunResponse {
|
|
2441
|
+
id: number;
|
|
2442
|
+
uuid: string;
|
|
2443
|
+
routineId: number;
|
|
2444
|
+
parentRunId?: number | null;
|
|
2445
|
+
memberId?: number | null;
|
|
2446
|
+
status: string;
|
|
2447
|
+
startedAt?: string | null;
|
|
2448
|
+
completedAt?: string | null;
|
|
2449
|
+
errorMessage?: string | null;
|
|
2450
|
+
jobId?: string | null;
|
|
2451
|
+
chatId?: number | null;
|
|
2452
|
+
assignmentId?: number | null;
|
|
2453
|
+
createdAt: string;
|
|
2454
|
+
updatedAt: string;
|
|
2455
|
+
member?: MemberSummary | null;
|
|
2456
|
+
}
|
|
2457
|
+
/**
|
|
2458
|
+
* Response model for cron schedule preview.
|
|
2459
|
+
*/
|
|
2460
|
+
interface SchedulePreviewResponse {
|
|
2461
|
+
nextRuns: string[];
|
|
2462
|
+
}
|
|
2463
|
+
|
|
2464
|
+
/** Client enums — preserve UPPER_SNAKE member names used across the app.
|
|
2465
|
+
*
|
|
2466
|
+
* OpenAPI codegen emits lowercase const-objects in `generated/event_rule.ts`.
|
|
2467
|
+
* The app imports these enums everywhere (config objects, switch statements, i18n
|
|
2468
|
+
* keys). We keep hand-written enums here and assert below that every generated
|
|
2469
|
+
* string-literal value has a matching client member. When the backend adds a new
|
|
2470
|
+
* event/action/object type, add it to the Pydantic model, run `yarn generate:types`,
|
|
2471
|
+
* then add the UPPER_SNAKE member here. */
|
|
2472
|
+
declare enum EventRuleObjectType {
|
|
2473
|
+
TASK = "task",
|
|
2474
|
+
WORKSPACE = "workspace",
|
|
2475
|
+
CHAT = "chat",
|
|
2476
|
+
DATA_RECORD = "data_record",
|
|
2477
|
+
MEMBER = "member",
|
|
2478
|
+
ROUTINE = "routine",
|
|
2479
|
+
WORKFLOW = "workflow",
|
|
2480
|
+
CALENDAR = "calendar",
|
|
2481
|
+
CALENDAR_EVENT_TYPE = "calendar_event_type",
|
|
2482
|
+
JOURNEY = "journey",
|
|
2483
|
+
CALL = "call"
|
|
2484
|
+
}
|
|
2485
|
+
declare enum EventRuleEventType {
|
|
2486
|
+
TASK_EXECUTE = "task:execute",
|
|
2487
|
+
MEMBER_JOINED = "workspace:member_joined",
|
|
2488
|
+
MEMBER_LEFT = "workspace:member_left",
|
|
2489
|
+
DATA_RECORD_CREATED = "data_record:created",
|
|
2490
|
+
DATA_RECORD_UPDATED = "data_record:updated",
|
|
2491
|
+
CHAT_CREATED = "chat:created",
|
|
2492
|
+
CHAT_CALLBACK = "chat:callback",
|
|
2493
|
+
MEMBER_UPDATED = "member:updated",
|
|
2494
|
+
ROUTINE_TRIGGERED = "routine:triggered",
|
|
2495
|
+
ASSISTANT_MESSAGE = "workflow:assistant_message",
|
|
2496
|
+
USER_MESSAGE = "workflow:user_message",
|
|
2497
|
+
CALENDAR_EVENT_CREATED = "calendar_event:created",
|
|
2498
|
+
CALENDAR_EVENT_UPDATED = "calendar_event:updated",
|
|
2499
|
+
CALENDAR_EVENT_CANCELLED = "calendar_event:cancelled",
|
|
2500
|
+
CALENDAR_EVENT_STARTING = "calendar_event:starting",
|
|
2501
|
+
CALENDAR_EVENT_ENDED = "calendar_event:ended",
|
|
2502
|
+
CONNECTOR_EVENT = "connector:event",
|
|
2503
|
+
ASSIGNMENT_CONCLUDED = "assignment:concluded",
|
|
2504
|
+
JOURNEY_STEP_EXECUTE = "journey_step:execute",
|
|
2505
|
+
JOURNEY_ENROLLED = "journey:enrolled",
|
|
2506
|
+
JOURNEY_COMPLETED = "journey:completed",
|
|
2507
|
+
CALL_STARTED = "call:started",
|
|
2508
|
+
CALL_COMPLETED = "call:completed",
|
|
2509
|
+
CALL_SUMMARY = "call:summary"
|
|
2510
|
+
}
|
|
2511
|
+
declare enum EventRuleActionType {
|
|
2512
|
+
MEMBER_NOTIFY_ACTION = "member:notify",
|
|
2513
|
+
MEMBER_LABEL_ACTION = "member:label",
|
|
2514
|
+
MEMBER_UPSERT = "member:upsert",
|
|
2515
|
+
SEND_WEBHOOK = "webhook:send",
|
|
2516
|
+
SWITCH_TASK_ACTION = "task:switch",
|
|
2517
|
+
ASSISTANT_MESSAGE = "assistant:message",
|
|
2518
|
+
FORM_FIELD_UPDATE = "form:update_field",
|
|
2519
|
+
MESSAGE_VALIDATION = "message:validation",
|
|
2520
|
+
CHAT_CREATE = "chat:create",
|
|
2521
|
+
CHAT_CONTINUE = "chat:continue",
|
|
2522
|
+
CHAT_PAUSE = "chat:pause",
|
|
2523
|
+
CHAT_SUMMARIZE = "chat:summarize",
|
|
2524
|
+
EMAIL_SEND = "email:send",
|
|
2525
|
+
INVOKE_CUSTOM_TOOL = "custom_tool:invoke",
|
|
2526
|
+
MONDAY_UPSERT_ITEM = "monday:upsert_item",
|
|
2527
|
+
MONDAY_REFRESH = "monday:refresh",
|
|
2528
|
+
ASSIGNMENT_CONCLUDE = "assignment:conclude",
|
|
2529
|
+
JOURNEY_ENROLL = "journey:enroll",
|
|
2530
|
+
SMS_SEND = "sms:send",
|
|
2531
|
+
WHATSAPP_SEND = "whatsapp:send",
|
|
2532
|
+
PHONE_CALL = "phone:call",
|
|
2533
|
+
CONNECTION_SYNC = "connection:sync",
|
|
2534
|
+
CONNECTOR_OPERATION = "connector:operation",
|
|
2535
|
+
ECW_REFRESH_MEMBER_ENCOUNTERS = "ecw:refresh_member_encounters",
|
|
2536
|
+
PLAY_AUDIO = "audio:play"
|
|
2537
|
+
}
|
|
2538
|
+
/** Narrow actionParams — OpenAPI types this as Record<string, unknown>. */
|
|
2539
|
+
declare function eventRuleActionParams<T>(params: Record<string, unknown> | null | undefined): T;
|
|
2540
|
+
/** Re-bind enum fields to client enums (generated OpenAPI uses string-literal unions). */
|
|
2541
|
+
type EventRuleResponse = Omit<EventRuleResponse$1, 'objectType' | 'eventType' | 'actionType' | 'actionParams' | 'triggerParams'> & {
|
|
2542
|
+
objectType: EventRuleObjectType;
|
|
2543
|
+
eventType: EventRuleEventType;
|
|
2544
|
+
actionType: EventRuleActionType;
|
|
2545
|
+
actionParams: Record<string, unknown> | null;
|
|
2546
|
+
triggerParams: Record<string, unknown> | null;
|
|
2547
|
+
};
|
|
2548
|
+
type EventRule = EventRuleResponse;
|
|
2549
|
+
|
|
2550
|
+
/** OpenAPI omits nested last run; list/detail endpoints include it when available. */
|
|
2551
|
+
type RoutineVisibility = 'private' | 'workspace';
|
|
2552
|
+
type RoutineScheduleMode = 'ONCE' | 'CRON' | 'INTERVAL';
|
|
2553
|
+
interface RoutineResponse extends Omit<RoutineResponse$1, 'eventRules' | 'visibility' | 'scheduleMode' | 'webhookEnabled'> {
|
|
2554
|
+
visibility: RoutineVisibility;
|
|
2555
|
+
scheduleMode: RoutineScheduleMode;
|
|
2556
|
+
webhookEnabled: boolean;
|
|
2557
|
+
lastRun?: RoutineRunResponse;
|
|
2558
|
+
eventRules?: EventRuleResponse[];
|
|
2559
|
+
}
|
|
2560
|
+
type Routine = RoutineResponse;
|
|
2561
|
+
|
|
2562
|
+
/**
|
|
2563
|
+
* Sentinel value returned by the API when a secret field (like apiToken) is set.
|
|
2564
|
+
* The client should detect this value and show a "secret is set" state instead
|
|
2565
|
+
* of the actual value. When sending updates, if the user hasn't changed the
|
|
2566
|
+
* secret, either omit the field or don't include it in the request.
|
|
2567
|
+
*/
|
|
2568
|
+
declare const MASKED_SECRET_SENTINEL = "__SECRET_SET__";
|
|
2569
|
+
|
|
2570
|
+
interface MemberLabelActionParams {
|
|
2571
|
+
addLabelIds?: string[];
|
|
2572
|
+
removeLabelIds?: string[];
|
|
2573
|
+
}
|
|
2574
|
+
type MemberUpsertBehavior = 'upsert' | 'create_only' | 'update_only';
|
|
2575
|
+
interface MemberUpsertActionParams {
|
|
2576
|
+
/** Controls create/update behavior: 'upsert' (default), 'create_only', or 'update_only' */
|
|
2577
|
+
behavior?: MemberUpsertBehavior;
|
|
2578
|
+
/** If true and member exists, skip instead of failing (only for create_only) */
|
|
2579
|
+
skipIfExists?: boolean;
|
|
2580
|
+
/** If true and member not found, skip instead of failing (only for update_only) */
|
|
2581
|
+
skipIfNotFound?: boolean;
|
|
2582
|
+
}
|
|
2583
|
+
interface WebhookActionParams {
|
|
2584
|
+
webhookUrl: string;
|
|
2585
|
+
signingSecret?: string;
|
|
2586
|
+
}
|
|
2587
|
+
interface SwitchTaskActionParams {
|
|
2588
|
+
taskUUID: string;
|
|
2589
|
+
}
|
|
2590
|
+
interface AssistantMessageActionParams {
|
|
2591
|
+
message: string;
|
|
2592
|
+
suggestions?: string[];
|
|
2593
|
+
messageTranslations?: Record<string, string>;
|
|
2594
|
+
suggestionTranslations?: Record<string, string[]>;
|
|
2595
|
+
inboundMessage?: string;
|
|
2596
|
+
outboundMessage?: string;
|
|
2597
|
+
/**
|
|
2598
|
+
* When false, the injected assistant message does NOT end the agent
|
|
2599
|
+
* turn — the loop keeps running so a follow-up model response can be
|
|
2600
|
+
* generated after the canned filler. Default true preserves the
|
|
2601
|
+
* existing "ends-the-turn" semantics for every existing rule whose
|
|
2602
|
+
* JSON lacks the new key.
|
|
2603
|
+
*/
|
|
2604
|
+
waitForResponse?: boolean;
|
|
2605
|
+
}
|
|
2606
|
+
interface FormFieldUpdateActionParams {
|
|
2607
|
+
fieldPath?: string;
|
|
2608
|
+
value: any;
|
|
2609
|
+
updateType?: 'newest' | 'oldest' | 'create';
|
|
2610
|
+
}
|
|
2611
|
+
interface MessageValidationActionParams {
|
|
2612
|
+
condition?: string;
|
|
2613
|
+
reason?: string;
|
|
2614
|
+
}
|
|
2615
|
+
interface ChatCreateActionParams {
|
|
2616
|
+
workflowUUID?: string;
|
|
2617
|
+
taskUUID?: string;
|
|
2618
|
+
channel?: string;
|
|
2619
|
+
channels?: string[];
|
|
2620
|
+
phoneNumberUUID?: string;
|
|
2621
|
+
inboxUUID?: string;
|
|
2622
|
+
initialUserMessage?: string;
|
|
2623
|
+
}
|
|
2624
|
+
interface ChatContinueActionParams {
|
|
2625
|
+
assistantPrompt?: string;
|
|
2626
|
+
updateType?: string;
|
|
2627
|
+
}
|
|
2628
|
+
interface ChatPauseActionParams {
|
|
2629
|
+
message?: string;
|
|
2630
|
+
}
|
|
2631
|
+
interface ChatSummarizeActionParams {
|
|
2632
|
+
summarizationPrompt?: string;
|
|
2633
|
+
chatModel?: string;
|
|
2634
|
+
}
|
|
2635
|
+
interface InvokeCustomToolActionParams {
|
|
2636
|
+
/** UUID of the custom tool to invoke (canonical identifier, issue #10893). */
|
|
2637
|
+
customToolUUID?: string;
|
|
2638
|
+
/** Legacy integer id of the custom tool. Kept for backward compat with pre-rename rules. */
|
|
2639
|
+
customToolId?: number;
|
|
2640
|
+
outputMode?: 'none' | 'tool_output' | 'assistant_message';
|
|
2641
|
+
}
|
|
2642
|
+
interface ConcludeAssignmentActionParams {
|
|
2643
|
+
outcome: string;
|
|
2644
|
+
reason?: string;
|
|
2645
|
+
}
|
|
2646
|
+
interface JourneyEnrollActionParams {
|
|
2647
|
+
/** UUID of the journey to enroll the member in. */
|
|
2648
|
+
journeyUUID: string;
|
|
2649
|
+
}
|
|
2650
|
+
/**
|
|
2651
|
+
* Parameters for the ``audio:play`` event-rule action.
|
|
2652
|
+
*
|
|
2653
|
+
* Plays a pre-recorded workspace audio file on the current voice call.
|
|
2654
|
+
* Composes with ``task:execute`` rules + CEL conditions on
|
|
2655
|
+
* ``call.answered_by`` to deliver guaranteed-delivery disclosure
|
|
2656
|
+
* recordings without the LLM in the loop. See the backend handler at
|
|
2657
|
+
* ``lib/rules/actions/builtin/play_audio.py``.
|
|
2658
|
+
*/
|
|
2659
|
+
interface PlayAudioActionParams {
|
|
2660
|
+
/** UUID of the workspace File row to play. Required. */
|
|
2661
|
+
clipFileUuid: string;
|
|
2662
|
+
/**
|
|
2663
|
+
* When false, the clip plays end-to-end ignoring barge-in. Pair with
|
|
2664
|
+
* ``hangUpOnAudioEnd: true`` for compliance recordings that must not
|
|
2665
|
+
* be interrupted by speech. Defaults to true.
|
|
2666
|
+
*/
|
|
2667
|
+
allowInterrupt?: boolean;
|
|
2668
|
+
/**
|
|
2669
|
+
* When true, the call hangs up immediately after the clip finishes
|
|
2670
|
+
* streaming — no further LLM turns. Defaults to false.
|
|
2671
|
+
*/
|
|
2672
|
+
hangUpOnAudioEnd?: boolean;
|
|
2673
|
+
/**
|
|
2674
|
+
* Playback volume as a percent in [0, 100]. ``80`` is the unity
|
|
2675
|
+
* baseline — no gain adjustment is applied. Higher values boost,
|
|
2676
|
+
* lower values attenuate. Clipped at the int16 ceiling so a 100%
|
|
2677
|
+
* setting on already-hot source material won't introduce
|
|
2678
|
+
* distortion beyond the source's own. Defaults to 80.
|
|
2679
|
+
*/
|
|
2680
|
+
volume?: number;
|
|
2681
|
+
}
|
|
2682
|
+
interface EmailSendActionParams {
|
|
2683
|
+
subjectTemplate?: string;
|
|
2684
|
+
bodyTemplate?: string;
|
|
2685
|
+
inboxUUID: string;
|
|
2686
|
+
toEmail?: string;
|
|
2687
|
+
contentType?: 'text' | 'html';
|
|
2688
|
+
workflowUUID?: string;
|
|
2689
|
+
initialUserMessage?: string;
|
|
2690
|
+
}
|
|
2691
|
+
interface SmsSendActionParams {
|
|
2692
|
+
phoneNumberUUID: string;
|
|
2693
|
+
messageTemplate?: string;
|
|
2694
|
+
workflowUUID?: string;
|
|
2695
|
+
initialUserMessage?: string;
|
|
2696
|
+
}
|
|
2697
|
+
interface PhoneCallActionParams {
|
|
2698
|
+
phoneNumberUUID: string;
|
|
2699
|
+
workflowUUID: string;
|
|
2700
|
+
}
|
|
2701
|
+
/**
|
|
2702
|
+
* Parameters for the ecw:refresh_member_encounters action.
|
|
2703
|
+
* Refreshes the local eCW encounter cache for the target member before
|
|
2704
|
+
* later actions (such as phone:call) run in the same rule chain.
|
|
2705
|
+
*/
|
|
2706
|
+
interface EcwRefreshMemberEncountersActionParams {
|
|
2707
|
+
/** ID of the eCW FHIR connection whose encounter cache should be refreshed. */
|
|
2708
|
+
connectionId: number;
|
|
2709
|
+
/** Days of encounter history to pull on this refresh. Defaults to 30. */
|
|
2710
|
+
lookbackDays?: number;
|
|
2711
|
+
/**
|
|
2712
|
+
* When true (default), a refresh failure raises a non-retryable action
|
|
2713
|
+
* error so later rules in the same chain do not run. Set to false only
|
|
2714
|
+
* when a time-critical outreach must proceed with stale cache on refresh
|
|
2715
|
+
* failure.
|
|
2716
|
+
*/
|
|
2717
|
+
haltOnFailure?: boolean;
|
|
2718
|
+
}
|
|
2719
|
+
/**
|
|
2720
|
+
* Column mapping for Monday.com create item action.
|
|
2721
|
+
* Stores the column slug (e.g., 'text_abc123') and the user-friendly label
|
|
2722
|
+
* along with the Jinja template value.
|
|
2723
|
+
*/
|
|
2724
|
+
interface MondayColumnMapping {
|
|
2725
|
+
columnId: string;
|
|
2726
|
+
columnTitle: string;
|
|
2727
|
+
columnType: string;
|
|
2728
|
+
template: string;
|
|
2729
|
+
}
|
|
2730
|
+
/**
|
|
2731
|
+
* Upsert mode for Monday.com item action.
|
|
2732
|
+
* Controls whether to create new items, update existing items, or both.
|
|
2733
|
+
*/
|
|
2734
|
+
type MondayUpsertMode = 'create_only' | 'update_only' | 'upsert';
|
|
2735
|
+
/**
|
|
2736
|
+
* Lookup type for Monday.com item action.
|
|
2737
|
+
* Controls how to find existing items to update.
|
|
2738
|
+
*/
|
|
2739
|
+
type MondayLookupType = 'column_value' | 'item_id';
|
|
2740
|
+
/**
|
|
2741
|
+
* Behavior when multiple items match the lookup criteria.
|
|
2742
|
+
*/
|
|
2743
|
+
type MultiMatchBehavior = 'fail' | 'update_first' | 'update_all';
|
|
2744
|
+
/**
|
|
2745
|
+
* Parameters for upserting (create or update) a Monday.com item.
|
|
2746
|
+
* This is the primary action for Monday.com item operations.
|
|
2747
|
+
*/
|
|
2748
|
+
interface MondayUpsertItemActionParams {
|
|
2749
|
+
boardId: string;
|
|
2750
|
+
groupId?: string;
|
|
2751
|
+
itemNameTemplate?: string;
|
|
2752
|
+
columnMappings?: MondayColumnMapping[];
|
|
2753
|
+
lookupType?: MondayLookupType;
|
|
2754
|
+
lookupColumnId?: string;
|
|
2755
|
+
lookupValueTemplate?: string;
|
|
2756
|
+
upsertMode?: MondayUpsertMode;
|
|
2757
|
+
multiMatchBehavior?: MultiMatchBehavior;
|
|
2758
|
+
apiToken?: string;
|
|
2759
|
+
}
|
|
2760
|
+
/**
|
|
2761
|
+
* Column mapping for Monday.com refresh action.
|
|
2762
|
+
* Maps Monday.com columns to member or data fields.
|
|
2763
|
+
*/
|
|
2764
|
+
interface MondayRefreshColumnMapping {
|
|
2765
|
+
columnId: string;
|
|
2766
|
+
columnType: string;
|
|
2767
|
+
}
|
|
2768
|
+
/**
|
|
2769
|
+
* Parameters for refreshing member data from Monday.com.
|
|
2770
|
+
* Fetches data from a Monday.com item and updates the local member record.
|
|
2771
|
+
*/
|
|
2772
|
+
interface MondayRefreshActionParams {
|
|
2773
|
+
boardId: string;
|
|
2774
|
+
itemIdSource?: string;
|
|
2775
|
+
skipIfNoItemId?: boolean;
|
|
2776
|
+
memberFieldMappings?: Record<string, MondayRefreshColumnMapping>;
|
|
2777
|
+
dataFieldMappings?: Record<string, any>;
|
|
2778
|
+
apiToken?: string;
|
|
2779
|
+
}
|
|
2780
|
+
interface EventRuleFormData {
|
|
2781
|
+
name?: string | null;
|
|
2782
|
+
uuid?: string;
|
|
2783
|
+
objectType: EventRuleObjectType;
|
|
2784
|
+
eventType: EventRuleEventType;
|
|
2785
|
+
conditions?: string | null;
|
|
2786
|
+
actionType: EventRuleActionType;
|
|
2787
|
+
actionParams?: Record<string, any>;
|
|
2788
|
+
triggerParams?: Record<string, any>;
|
|
2789
|
+
active?: boolean;
|
|
2790
|
+
taskId?: number | null;
|
|
2791
|
+
dataTypeId?: number | null;
|
|
2792
|
+
routineId?: number | null;
|
|
2793
|
+
workflowId?: number | null;
|
|
2794
|
+
calendarId?: number | null;
|
|
2795
|
+
calendarEventTypeId?: number | null;
|
|
2796
|
+
journeyStepId?: number | null;
|
|
2797
|
+
delay?: number;
|
|
2798
|
+
order?: number;
|
|
2799
|
+
}
|
|
2800
|
+
interface UpdateEventRuleFormData {
|
|
2801
|
+
name?: string | null;
|
|
2802
|
+
conditions?: string | null;
|
|
2803
|
+
actionParams?: Record<string, any>;
|
|
2804
|
+
triggerParams?: Record<string, any>;
|
|
2805
|
+
active?: boolean;
|
|
2806
|
+
delay?: number;
|
|
2807
|
+
order?: number;
|
|
2808
|
+
}
|
|
2809
|
+
/**
|
|
2810
|
+
* Input type for batch event rule operations (create/update with parent object).
|
|
2811
|
+
* Used when syncing event rules as part of a task or workflow update.
|
|
2812
|
+
* UUID is required and used for matching existing rules.
|
|
2813
|
+
*/
|
|
2814
|
+
interface EventRuleInput {
|
|
2815
|
+
uuid: string;
|
|
2816
|
+
name?: string | null;
|
|
2817
|
+
objectType?: EventRuleObjectType;
|
|
2818
|
+
eventType: EventRuleEventType;
|
|
2819
|
+
actionType: EventRuleActionType;
|
|
2820
|
+
actionParams?: Record<string, any> | null;
|
|
2821
|
+
triggerParams?: Record<string, any> | null;
|
|
2822
|
+
conditions?: string | null;
|
|
2823
|
+
active?: boolean;
|
|
2824
|
+
delay?: number;
|
|
2825
|
+
}
|
|
2826
|
+
interface WebhookLogsQueryParams {
|
|
2827
|
+
page?: number;
|
|
2828
|
+
pageSize?: number;
|
|
2829
|
+
sortBy?: WebhookLogSortField;
|
|
2830
|
+
sortOrder?: SortOrder;
|
|
2831
|
+
eventType?: EventRuleEventType;
|
|
2832
|
+
success?: boolean;
|
|
2833
|
+
}
|
|
2834
|
+
interface RuleExecutionsQueryParams {
|
|
2835
|
+
cursor?: string;
|
|
2836
|
+
pageSize?: number;
|
|
2837
|
+
sortBy?: RuleExecutionSortField;
|
|
2838
|
+
sortOrder?: SortOrder;
|
|
2839
|
+
ruleId?: number;
|
|
2840
|
+
status?: string;
|
|
2841
|
+
triggerType?: string;
|
|
2842
|
+
actionSlug?: string;
|
|
2843
|
+
objectType?: string;
|
|
2844
|
+
eventType?: string;
|
|
2845
|
+
actionType?: string;
|
|
2846
|
+
workflowId?: number;
|
|
2847
|
+
}
|
|
2848
|
+
type RoutineRunStatus = 'PENDING' | 'IN_PROGRESS' | 'COMPLETED' | 'FAILED' | 'CANCELLED' | 'SKIPPED';
|
|
2849
|
+
interface CreateRoutineRequest {
|
|
2850
|
+
name: string;
|
|
2851
|
+
description?: string;
|
|
2852
|
+
scheduleEnabled?: boolean;
|
|
2853
|
+
scheduleMode?: 'ONCE' | 'CRON' | 'INTERVAL';
|
|
2854
|
+
scheduledTime?: string;
|
|
2855
|
+
intervalSeconds?: number;
|
|
2856
|
+
repeatCount?: number;
|
|
2857
|
+
cronString?: string;
|
|
2858
|
+
startDate?: string;
|
|
2859
|
+
memberFilterId?: number | null;
|
|
2860
|
+
targetMemberId?: number | null;
|
|
2861
|
+
workflowId?: number | null;
|
|
2862
|
+
limit?: number;
|
|
2863
|
+
visibility?: 'private' | 'workspace';
|
|
2864
|
+
/** When true, the server generates a webhook secret and returns its
|
|
2865
|
+
* plaintext exactly once in the create response. */
|
|
2866
|
+
webhookEnabled?: boolean;
|
|
2867
|
+
/** Ordered event rules to attach in the same request. Server syncs by
|
|
2868
|
+
* UUID: same-UUID updates, new UUID creates, omitted UUIDs are deleted. */
|
|
2869
|
+
eventRules?: EventRuleInput[];
|
|
2870
|
+
}
|
|
2871
|
+
interface UpdateRoutineRequest {
|
|
2872
|
+
name?: string;
|
|
2873
|
+
description?: string;
|
|
2874
|
+
scheduleEnabled?: boolean;
|
|
2875
|
+
scheduleMode?: 'ONCE' | 'CRON' | 'INTERVAL';
|
|
2876
|
+
scheduledTime?: string;
|
|
2877
|
+
intervalSeconds?: number;
|
|
2878
|
+
repeatCount?: number;
|
|
2879
|
+
cronString?: string;
|
|
2880
|
+
/** ISO 8601 datetime string for deferred start. Pass empty string "" to clear the start date. */
|
|
2881
|
+
startDate?: string;
|
|
2882
|
+
memberFilterId?: number | null;
|
|
2883
|
+
targetMemberId?: number | null;
|
|
2884
|
+
workflowId?: number | null;
|
|
2885
|
+
limit?: number;
|
|
2886
|
+
visibility?: 'private' | 'workspace';
|
|
2887
|
+
/** Ordered event rules to attach. Server syncs by UUID: same-UUID rows
|
|
2888
|
+
* update, new UUIDs create, UUIDs missing from the list are deleted.
|
|
2889
|
+
* Omit the field to leave existing rules untouched. */
|
|
2890
|
+
eventRules?: EventRuleInput[];
|
|
2891
|
+
/** Toggle inbound webhook. Enabling without a stored secret generates one and surfaces plaintext in the response exactly once. */
|
|
2892
|
+
webhookEnabled?: boolean;
|
|
2893
|
+
/** Rotate the stored secret without toggling enabled. Ignored when webhookEnabled=false. */
|
|
2894
|
+
rotateWebhookSecret?: boolean;
|
|
2895
|
+
}
|
|
2896
|
+
interface RoutinesQueryParams {
|
|
2897
|
+
page?: number;
|
|
2898
|
+
pageSize?: number;
|
|
2899
|
+
sortBy?: RoutineSortField;
|
|
2900
|
+
sortOrder?: SortOrder;
|
|
2901
|
+
/**
|
|
2902
|
+
* 'mine' = routines I own, 'shared' = workspace-visible from others,
|
|
2903
|
+
* 'all' = both. 'all_including_private' = every routine in the
|
|
2904
|
+
* workspace; requires AUTOMATIONS_ADMIN and will 403 otherwise.
|
|
2905
|
+
*/
|
|
2906
|
+
owner?: 'mine' | 'shared' | 'all' | 'all_including_private';
|
|
2907
|
+
}
|
|
2908
|
+
interface RoutineRunsQueryParams {
|
|
2909
|
+
page?: number;
|
|
2910
|
+
pageSize?: number;
|
|
2911
|
+
sortBy?: EventRunSortField;
|
|
2912
|
+
sortOrder?: SortOrder;
|
|
2913
|
+
routineId?: number;
|
|
2914
|
+
memberId?: number;
|
|
2915
|
+
status?: RoutineRunStatus;
|
|
2916
|
+
}
|
|
2917
|
+
interface SchedulePreviewRequest {
|
|
2918
|
+
cronString: string;
|
|
2919
|
+
count?: number;
|
|
2920
|
+
}
|
|
2921
|
+
interface TaskExportEventRuleRelation {
|
|
2922
|
+
taskUuid: string;
|
|
2923
|
+
eventRuleUuid: string;
|
|
2924
|
+
ruleType: string;
|
|
2925
|
+
}
|
|
2926
|
+
interface EventRuleExportItem {
|
|
2927
|
+
uuid: string;
|
|
2928
|
+
name: string;
|
|
2929
|
+
eventType: string;
|
|
2930
|
+
objectType: string;
|
|
2931
|
+
conditions: string | null;
|
|
2932
|
+
actionType: string;
|
|
2933
|
+
actionParams: Record<string, any>;
|
|
2934
|
+
}
|
|
2935
|
+
|
|
2936
|
+
interface DataRecordsPaginatedResponse {
|
|
2937
|
+
items: DataRecordResponse[];
|
|
2938
|
+
total: number;
|
|
2939
|
+
page: number;
|
|
2940
|
+
pageSize: number;
|
|
2941
|
+
totalPages: number;
|
|
2942
|
+
}
|
|
2943
|
+
|
|
2944
|
+
declare enum DataFieldType {
|
|
2945
|
+
ENUM = "enum",
|
|
2946
|
+
EMAIL = "email",
|
|
2947
|
+
PHONE = "phone",
|
|
2948
|
+
TEXT = "text",
|
|
2949
|
+
LONGTEXT = "longtext",
|
|
2950
|
+
NUMBER = "number",
|
|
2951
|
+
INTEGER = "integer",
|
|
2952
|
+
DATE = "date",
|
|
2953
|
+
DATETIME = "datetime",
|
|
2954
|
+
TIME_OF_DAY = "time_of_day",
|
|
2955
|
+
BOOLEAN = "boolean",
|
|
2956
|
+
FILE = "file",
|
|
2957
|
+
REFERENCE = "reference",
|
|
2958
|
+
FUNCTION = "function",
|
|
2959
|
+
ARRAY = "array",
|
|
2960
|
+
OBJECT = "object",
|
|
2961
|
+
US_ZIP_CODE = "us_zip_code"
|
|
2962
|
+
}
|
|
2963
|
+
declare enum IndexStatus {
|
|
2964
|
+
NOT_INDEXED = "not_indexed",
|
|
2965
|
+
INDEXING = "indexing",
|
|
2966
|
+
INDEXED = "indexed",
|
|
2967
|
+
ERROR = "error"
|
|
2968
|
+
}
|
|
2969
|
+
declare enum DataTypeRecordScope {
|
|
2970
|
+
WORKSPACE = "workspace",
|
|
2971
|
+
MEMBER = "member"
|
|
2972
|
+
}
|
|
2973
|
+
declare enum DataSensitivity {
|
|
2974
|
+
PUBLIC = "public",
|
|
2975
|
+
INTERNAL = "internal",
|
|
2976
|
+
CONFIDENTIAL = "confidential",
|
|
2977
|
+
RESTRICTED = "restricted",
|
|
2978
|
+
SECRET = "secret"
|
|
2979
|
+
}
|
|
2980
|
+
declare enum DataCategory {
|
|
2981
|
+
PHI = "phi",
|
|
2982
|
+
PII = "pii",
|
|
2983
|
+
FINANCIAL = "financial",
|
|
2984
|
+
OPERATIONAL = "operational",
|
|
2985
|
+
CREDENTIAL = "credential",
|
|
2986
|
+
PERSONAL = "personal",
|
|
2987
|
+
IDENTIFIER = "identifier"
|
|
2988
|
+
}
|
|
2989
|
+
interface DataField {
|
|
2990
|
+
id?: number;
|
|
2991
|
+
name: string;
|
|
2992
|
+
slug: string;
|
|
2993
|
+
description?: string;
|
|
2994
|
+
required: boolean;
|
|
2995
|
+
fieldType: DataFieldType;
|
|
2996
|
+
options?: EnumOption[];
|
|
2997
|
+
referencedTypeId?: number;
|
|
2998
|
+
shouldIndex?: boolean;
|
|
2999
|
+
indexStatus?: IndexStatus;
|
|
3000
|
+
adminOnly?: boolean;
|
|
3001
|
+
defaultValue?: any;
|
|
3002
|
+
order: number;
|
|
3003
|
+
createdAt: string;
|
|
3004
|
+
updatedAt: string;
|
|
3005
|
+
}
|
|
3006
|
+
interface DataFieldFormData {
|
|
3007
|
+
name: string;
|
|
3008
|
+
slug: string;
|
|
3009
|
+
description?: string;
|
|
3010
|
+
required: boolean;
|
|
3011
|
+
fieldType: DataFieldType;
|
|
3012
|
+
options?: EnumOption[];
|
|
3013
|
+
referencedTypeId?: number;
|
|
3014
|
+
shouldIndex?: boolean;
|
|
3015
|
+
adminOnly?: boolean;
|
|
3016
|
+
defaultValue?: any;
|
|
3017
|
+
order?: number;
|
|
3018
|
+
}
|
|
3019
|
+
/**
|
|
3020
|
+
* Label-value pair for enum field options.
|
|
3021
|
+
* Allows enum fields to have user-friendly labels while storing clean values
|
|
3022
|
+
* (e.g., numbers for scoring calculations in CEL expressions).
|
|
3023
|
+
*/
|
|
3024
|
+
interface EnumOption {
|
|
3025
|
+
/** Display label shown to users */
|
|
3026
|
+
label: string;
|
|
3027
|
+
/** Stored value (can be string or number) */
|
|
3028
|
+
value: string | number;
|
|
3029
|
+
/**
|
|
3030
|
+
* CEL expression that must return true for this option to be visible.
|
|
3031
|
+
* Uses record.data.<field_slug> syntax to reference other field values.
|
|
3032
|
+
* CONSTRAINT: Can only reference non-FUNCTION fields.
|
|
3033
|
+
*/
|
|
3034
|
+
visibleWhen?: string | null;
|
|
3035
|
+
}
|
|
3036
|
+
interface DataTypeFormData {
|
|
3037
|
+
name: string;
|
|
3038
|
+
slug?: string;
|
|
3039
|
+
description?: string;
|
|
3040
|
+
prompt?: string;
|
|
3041
|
+
isCollection?: boolean;
|
|
3042
|
+
recordScope?: DataTypeRecordScope;
|
|
3043
|
+
sensitivity?: DataSensitivity;
|
|
3044
|
+
categories?: DataCategory[];
|
|
3045
|
+
fields?: DataFieldFormData[];
|
|
3046
|
+
memberRoleAccess?: DataTypeMemberRoleAccessInput[];
|
|
3047
|
+
pinned?: boolean;
|
|
3048
|
+
ownerId?: number | null;
|
|
3049
|
+
createRules?: EventRuleInput[];
|
|
3050
|
+
updateRules?: EventRuleInput[];
|
|
3051
|
+
/** @deprecated use createRules/updateRules; kept for backward compatibility with form state */
|
|
3052
|
+
eventRules?: EventRuleInput[];
|
|
3053
|
+
}
|
|
3054
|
+
interface DataRecordFormData {
|
|
3055
|
+
dataTypeId: number;
|
|
3056
|
+
memberId?: number | null;
|
|
3057
|
+
externalId?: string;
|
|
3058
|
+
fieldValues: Record<string, unknown>;
|
|
3059
|
+
}
|
|
3060
|
+
interface DataTypeMemberRoleAccessInput {
|
|
3061
|
+
memberRoleId: number;
|
|
3062
|
+
accessMode: number;
|
|
3063
|
+
}
|
|
3064
|
+
interface DataRecordAssociationFormData {
|
|
3065
|
+
dataRecordId: number;
|
|
3066
|
+
accessMode?: number;
|
|
3067
|
+
}
|
|
3068
|
+
interface DataRecordWithAccessMode extends DataRecordResponse {
|
|
3069
|
+
accessMode?: number | null;
|
|
3070
|
+
}
|
|
3071
|
+
interface DataRecordReportItem {
|
|
3072
|
+
id: number;
|
|
3073
|
+
dataTypeId: number;
|
|
3074
|
+
dataTypeSlug: string;
|
|
3075
|
+
member?: MemberReportItem;
|
|
3076
|
+
account?: AccountReportItem;
|
|
3077
|
+
createdAt: string;
|
|
3078
|
+
updatedAt: string;
|
|
3079
|
+
}
|
|
3080
|
+
interface DataIntegrityReportItem {
|
|
3081
|
+
dataTypeId: number;
|
|
3082
|
+
dataTypeSlug: string;
|
|
3083
|
+
dataTypeName: string;
|
|
3084
|
+
totalRecords: number;
|
|
3085
|
+
invalidRecords: number;
|
|
3086
|
+
issues: string[];
|
|
3087
|
+
}
|
|
3088
|
+
interface DataTypeExportItem {
|
|
3089
|
+
id: number;
|
|
3090
|
+
slug: string;
|
|
3091
|
+
name: string;
|
|
3092
|
+
fields: DataField[];
|
|
3093
|
+
createdAt: string;
|
|
3094
|
+
updatedAt: string;
|
|
3095
|
+
}
|
|
3096
|
+
interface TaskExportDataTypeRelation {
|
|
3097
|
+
dataTypeId: number;
|
|
3098
|
+
dataTypeSlug: string;
|
|
3099
|
+
accessMode: number;
|
|
3100
|
+
}
|
|
3101
|
+
interface BulkRecordResult {
|
|
3102
|
+
index: number;
|
|
3103
|
+
status: 'created' | 'updated' | 'failed';
|
|
3104
|
+
recordId?: number;
|
|
3105
|
+
error?: string;
|
|
3106
|
+
}
|
|
3107
|
+
interface BulkCreateDataRecordResponse {
|
|
3108
|
+
importedCount: number;
|
|
3109
|
+
totalCount: number;
|
|
3110
|
+
success: boolean;
|
|
3111
|
+
results: BulkRecordResult[];
|
|
3112
|
+
errors?: string[];
|
|
3113
|
+
}
|
|
3114
|
+
interface BulkCreateDataRecordRequest {
|
|
3115
|
+
dataTypeId: number;
|
|
3116
|
+
records: DataRecordFormData[];
|
|
3117
|
+
upsert?: boolean;
|
|
3118
|
+
}
|
|
3119
|
+
|
|
3120
|
+
/**
|
|
3121
|
+
* Generated by Orval (filtered by scripts/types-codegen/allowlist.txt and
|
|
3122
|
+
* grouped by scripts/types-codegen/group_generated.ts). Do not edit manually.
|
|
3123
|
+
* Group: calendar
|
|
3124
|
+
*/
|
|
3125
|
+
/**
|
|
3126
|
+
* Response model for event attendees.
|
|
3127
|
+
*/
|
|
3128
|
+
interface AttendeeResponse {
|
|
3129
|
+
id: number;
|
|
3130
|
+
memberId: number;
|
|
3131
|
+
status: string;
|
|
3132
|
+
responseStatus: string;
|
|
3133
|
+
responseAt: string | null;
|
|
3134
|
+
note: string | null;
|
|
3135
|
+
}
|
|
3136
|
+
/**
|
|
3137
|
+
* Response model for availability check.
|
|
3138
|
+
*/
|
|
3139
|
+
interface AvailabilityResponse {
|
|
3140
|
+
available: boolean;
|
|
3141
|
+
reason?: string | null;
|
|
3142
|
+
}
|
|
3143
|
+
/**
|
|
3144
|
+
* Response model for available time slots.
|
|
3145
|
+
*
|
|
3146
|
+
* Returns consolidated time ranges where consecutive slots are merged.
|
|
3147
|
+
* For example, if 9:00, 9:30, and 10:00 are available with 30-min intervals,
|
|
3148
|
+
* they will be returned as a single slot: {startTime: 9:00, endTime: 10:30}.
|
|
3149
|
+
*/
|
|
3150
|
+
interface AvailableSlotsResponse {
|
|
3151
|
+
slots: TimeSlot[];
|
|
3152
|
+
eventTypeId: number;
|
|
3153
|
+
calendarId: number;
|
|
3154
|
+
}
|
|
3155
|
+
/**
|
|
3156
|
+
* Response model for calendars.
|
|
3157
|
+
*/
|
|
3158
|
+
interface CalendarResponse$1 {
|
|
3159
|
+
id: number;
|
|
3160
|
+
uuid: string;
|
|
3161
|
+
templateUuid: string | null;
|
|
3162
|
+
name: string;
|
|
3163
|
+
slug: string;
|
|
3164
|
+
description: string | null;
|
|
3165
|
+
timezone: string;
|
|
3166
|
+
color: string | null;
|
|
3167
|
+
isPublic: boolean;
|
|
3168
|
+
remoteCalendarId?: string | null;
|
|
3169
|
+
syncStatus?: string | null;
|
|
3170
|
+
syncError?: string | null;
|
|
3171
|
+
lastSyncedAt?: string | null;
|
|
3172
|
+
calendarSource: string;
|
|
3173
|
+
ownerId: number | null;
|
|
3174
|
+
ownerName: string | null;
|
|
3175
|
+
schedules?: CalendarScheduleResponse$1[];
|
|
3176
|
+
createdAt: string;
|
|
3177
|
+
updatedAt: string;
|
|
3178
|
+
}
|
|
3179
|
+
/**
|
|
3180
|
+
* Response model for calendar schedules.
|
|
3181
|
+
*/
|
|
3182
|
+
interface CalendarScheduleResponse$1 {
|
|
3183
|
+
id: number;
|
|
3184
|
+
uuid: string;
|
|
3185
|
+
name: string;
|
|
3186
|
+
description: string | null;
|
|
3187
|
+
availabilityType: string;
|
|
3188
|
+
recurrenceType: string;
|
|
3189
|
+
startTime: string;
|
|
3190
|
+
endTime: string;
|
|
3191
|
+
recurrenceRule: CalendarScheduleResponseRecurrenceRule;
|
|
3192
|
+
recurrenceEndDate: string | null;
|
|
3193
|
+
daysOfWeek: string[] | null;
|
|
3194
|
+
priority: number;
|
|
3195
|
+
eventTypeIds?: number[];
|
|
3196
|
+
createdAt: string;
|
|
3197
|
+
updatedAt: string;
|
|
3198
|
+
}
|
|
3199
|
+
type CalendarScheduleResponseRecurrenceRule = {
|
|
3200
|
+
[key: string]: unknown;
|
|
3201
|
+
} | null;
|
|
3202
|
+
/**
|
|
3203
|
+
* Response model for calendar events.
|
|
3204
|
+
*/
|
|
3205
|
+
interface EventResponse {
|
|
3206
|
+
id: number;
|
|
3207
|
+
uuid: string;
|
|
3208
|
+
calendarId: number;
|
|
3209
|
+
calendarName: string;
|
|
3210
|
+
eventTypeId: number;
|
|
3211
|
+
eventTypeName: string;
|
|
3212
|
+
eventTypeColor: string | null;
|
|
3213
|
+
title: string;
|
|
3214
|
+
description: string | null;
|
|
3215
|
+
location: string | null;
|
|
3216
|
+
startTime: string;
|
|
3217
|
+
endTime: string;
|
|
3218
|
+
status: string;
|
|
3219
|
+
creatorMemberId: number | null;
|
|
3220
|
+
workflowId: number | null;
|
|
3221
|
+
taskId: number | null;
|
|
3222
|
+
assignmentId: number | null;
|
|
3223
|
+
chatId: number | null;
|
|
3224
|
+
messageId: number | null;
|
|
3225
|
+
cancelledAt: string | null;
|
|
3226
|
+
cancelledByMemberId: number | null;
|
|
3227
|
+
cancellationReason: string | null;
|
|
3228
|
+
recurrenceRule: string | null;
|
|
3229
|
+
recurringEventId: string | null;
|
|
3230
|
+
isRecurringInstance: boolean;
|
|
3231
|
+
originalStartTime: string | null;
|
|
3232
|
+
remoteEventId: string | null;
|
|
3233
|
+
attendees?: AttendeeResponse[];
|
|
3234
|
+
createdAt: string;
|
|
3235
|
+
updatedAt: string;
|
|
3236
|
+
}
|
|
3237
|
+
/**
|
|
3238
|
+
* Response model for calendar event types.
|
|
3239
|
+
*/
|
|
3240
|
+
interface EventTypeResponse {
|
|
3241
|
+
id: number;
|
|
3242
|
+
uuid: string;
|
|
3243
|
+
templateUuid: string | null;
|
|
3244
|
+
name: string;
|
|
3245
|
+
slug: string;
|
|
3246
|
+
description: string | null;
|
|
3247
|
+
defaultDurationMinutes: number;
|
|
3248
|
+
bufferBeforeMinutes: number;
|
|
3249
|
+
bufferAfterMinutes: number;
|
|
3250
|
+
minAttendees: number;
|
|
3251
|
+
maxAttendees: number | null;
|
|
3252
|
+
color: string | null;
|
|
3253
|
+
active: boolean;
|
|
3254
|
+
createdAt: string;
|
|
3255
|
+
updatedAt: string;
|
|
3256
|
+
}
|
|
3257
|
+
/**
|
|
3258
|
+
* Information about a Google Calendar (from Google's API).
|
|
3259
|
+
*/
|
|
3260
|
+
interface GoogleCalendarInfo {
|
|
3261
|
+
id: string;
|
|
3262
|
+
summary: string;
|
|
3263
|
+
description?: string | null;
|
|
3264
|
+
timeZone: string;
|
|
3265
|
+
backgroundColor?: string | null;
|
|
3266
|
+
accessRole: string;
|
|
3267
|
+
primary?: boolean;
|
|
3268
|
+
}
|
|
3269
|
+
/**
|
|
3270
|
+
* Response when Google Calendar credentials lack required scopes.
|
|
3271
|
+
*/
|
|
3272
|
+
interface GoogleCalendarInsufficientScopesResponse {
|
|
3273
|
+
connected?: boolean;
|
|
3274
|
+
insufficientScopes?: boolean;
|
|
3275
|
+
email?: string | null;
|
|
3276
|
+
reAuthUrl: string;
|
|
3277
|
+
}
|
|
3278
|
+
/**
|
|
3279
|
+
* Response with available Google Calendars that can be linked.
|
|
3280
|
+
*/
|
|
3281
|
+
interface GoogleCalendarStatusResponse {
|
|
3282
|
+
connected: boolean;
|
|
3283
|
+
email?: string | null;
|
|
3284
|
+
calendars?: GoogleCalendarInfo[];
|
|
3285
|
+
insufficientScopes?: boolean;
|
|
3286
|
+
}
|
|
3287
|
+
/**
|
|
3288
|
+
* Response model for iCal feed token generation.
|
|
3289
|
+
*/
|
|
3290
|
+
interface ICalFeedTokenResponse {
|
|
3291
|
+
feedUrl: string;
|
|
3292
|
+
tokenGeneratedAt: string;
|
|
3293
|
+
calendarId: number;
|
|
3294
|
+
calendarUuid: string;
|
|
3295
|
+
}
|
|
3296
|
+
/**
|
|
3297
|
+
* Response model for getting iCal feed URL.
|
|
3298
|
+
*/
|
|
3299
|
+
interface ICalFeedUrlResponse {
|
|
3300
|
+
feedUrl: string | null;
|
|
3301
|
+
hasToken: boolean;
|
|
3302
|
+
tokenGeneratedAt: string | null;
|
|
3303
|
+
}
|
|
3304
|
+
/**
|
|
3305
|
+
* A single time slot range with start and end times.
|
|
3306
|
+
*/
|
|
3307
|
+
interface TimeSlot {
|
|
3308
|
+
startTime: string;
|
|
3309
|
+
endTime: string;
|
|
3310
|
+
}
|
|
3311
|
+
|
|
3312
|
+
/**
|
|
3313
|
+
* Calendar-related types for the Gravity Rail calendar and appointment booking system.
|
|
3314
|
+
* Server response shapes are generated from Pydantic via emit_openapi.py → Orval.
|
|
3315
|
+
* Client-only shapes (forms, enums, query params) are defined below.
|
|
3316
|
+
*/
|
|
3317
|
+
|
|
3318
|
+
type Calendar = Omit<CalendarResponse$1, never> & {
|
|
3319
|
+
/** Present on detail responses; omitted from some list payloads. */
|
|
3320
|
+
eventTypeIds?: number[];
|
|
3321
|
+
};
|
|
3322
|
+
type CalendarResponse = Calendar;
|
|
3323
|
+
type CalendarSchedule = Omit<CalendarScheduleResponse$1, 'availabilityType' | 'recurrenceType'> & {
|
|
3324
|
+
availabilityType: CalendarScheduleAvailabilityType | string;
|
|
3325
|
+
recurrenceType: CalendarScheduleRecurrence | string;
|
|
3326
|
+
};
|
|
3327
|
+
type CalendarScheduleResponse = CalendarSchedule;
|
|
3328
|
+
declare enum CalendarPermissionType {
|
|
3329
|
+
NONE = "NONE",
|
|
3330
|
+
FREE_BUSY = "FREE_BUSY",
|
|
3331
|
+
READ = "READ",
|
|
3332
|
+
WRITE = "WRITE",
|
|
3333
|
+
ADMIN = "ADMIN"
|
|
3334
|
+
}
|
|
3335
|
+
declare enum CalendarSource {
|
|
3336
|
+
INTERNAL = "internal",
|
|
3337
|
+
GOOGLE = "google",
|
|
3338
|
+
OUTLOOK = "outlook"
|
|
3339
|
+
}
|
|
3340
|
+
interface CalendarFormData {
|
|
3341
|
+
name: string;
|
|
3342
|
+
slug?: string;
|
|
3343
|
+
description?: string | null;
|
|
3344
|
+
timezone?: string;
|
|
3345
|
+
color?: string | null;
|
|
3346
|
+
isPublic?: boolean;
|
|
3347
|
+
eventTypeIds?: number[];
|
|
3348
|
+
/**
|
|
3349
|
+
* Ordered event rules to attach to the calendar in the same request.
|
|
3350
|
+
* Server syncs by UUID: same-UUID updates, new UUID creates, omitted
|
|
3351
|
+
* UUIDs are deleted. Omit (undefined) to leave existing rules unchanged.
|
|
3352
|
+
*/
|
|
3353
|
+
eventRules?: EventRuleInput[];
|
|
3354
|
+
}
|
|
3355
|
+
interface CalendarScheduleFormData {
|
|
3356
|
+
name: string;
|
|
3357
|
+
description?: string | null;
|
|
3358
|
+
availabilityType: CalendarScheduleAvailabilityType;
|
|
3359
|
+
recurrenceType: CalendarScheduleRecurrence;
|
|
3360
|
+
startTime: string;
|
|
3361
|
+
endTime: string;
|
|
3362
|
+
recurrenceRule?: Record<string, any> | null;
|
|
3363
|
+
recurrenceEndDate?: string | null;
|
|
3364
|
+
daysOfWeek?: string[] | null;
|
|
3365
|
+
priority?: number;
|
|
3366
|
+
eventTypeIds?: number[] | null;
|
|
3367
|
+
}
|
|
3368
|
+
declare enum CalendarScheduleRecurrence {
|
|
3369
|
+
ONCE = "ONCE",
|
|
3370
|
+
DAILY = "DAILY",
|
|
3371
|
+
WEEKLY = "WEEKLY",
|
|
3372
|
+
MONTHLY = "MONTHLY",
|
|
3373
|
+
CUSTOM = "CUSTOM"
|
|
3374
|
+
}
|
|
3375
|
+
declare enum CalendarScheduleAvailabilityType {
|
|
3376
|
+
AVAILABLE = "AVAILABLE",
|
|
3377
|
+
UNAVAILABLE = "UNAVAILABLE"
|
|
3378
|
+
}
|
|
3379
|
+
interface CalendarEventTypeFormData {
|
|
3380
|
+
name: string;
|
|
3381
|
+
slug?: string;
|
|
3382
|
+
description?: string | null;
|
|
3383
|
+
defaultDurationMinutes: number;
|
|
3384
|
+
bufferBeforeMinutes?: number;
|
|
3385
|
+
bufferAfterMinutes?: number;
|
|
3386
|
+
minAttendees?: number;
|
|
3387
|
+
maxAttendees?: number | null;
|
|
3388
|
+
color?: string | null;
|
|
3389
|
+
active?: boolean;
|
|
3390
|
+
/**
|
|
3391
|
+
* Ordered event rules scoped to this event type. Server syncs by UUID:
|
|
3392
|
+
* same-UUID updates, new UUID creates, omitted UUIDs are deleted.
|
|
3393
|
+
*/
|
|
3394
|
+
eventRules?: EventRuleInput[];
|
|
3395
|
+
}
|
|
3396
|
+
interface CalendarEventFormData {
|
|
3397
|
+
calendarId: number;
|
|
3398
|
+
eventTypeId: number;
|
|
3399
|
+
title: string;
|
|
3400
|
+
description?: string | null;
|
|
3401
|
+
location?: string | null;
|
|
3402
|
+
startTime: string;
|
|
3403
|
+
attendeeIds: number[];
|
|
3404
|
+
workflowId?: number | null;
|
|
3405
|
+
taskId?: number | null;
|
|
3406
|
+
assignmentId?: number | null;
|
|
3407
|
+
}
|
|
3408
|
+
declare enum CalendarEventStatus {
|
|
3409
|
+
TENTATIVE = "TENTATIVE",
|
|
3410
|
+
CONFIRMED = "CONFIRMED",
|
|
3411
|
+
CANCELLED = "CANCELLED",
|
|
3412
|
+
NO_SHOW = "NO_SHOW",
|
|
3413
|
+
COMPLETED = "COMPLETED"
|
|
3414
|
+
}
|
|
3415
|
+
declare enum AttendeeStatus {
|
|
3416
|
+
REQUIRED = "REQUIRED",
|
|
3417
|
+
OPTIONAL = "OPTIONAL"
|
|
3418
|
+
}
|
|
3419
|
+
declare enum AttendeeResponseStatus {
|
|
3420
|
+
PENDING = "PENDING",
|
|
3421
|
+
ACCEPTED = "ACCEPTED",
|
|
3422
|
+
DECLINED = "DECLINED",
|
|
3423
|
+
TENTATIVE = "TENTATIVE"
|
|
3424
|
+
}
|
|
3425
|
+
interface UpdateAttendeeRequest {
|
|
3426
|
+
responseStatus: AttendeeResponseStatus;
|
|
3427
|
+
note?: string | null;
|
|
3428
|
+
}
|
|
3429
|
+
interface AvailabilityCheck {
|
|
3430
|
+
eventTypeId: number;
|
|
3431
|
+
startTime: string;
|
|
3432
|
+
endTime?: string | null;
|
|
3433
|
+
}
|
|
3434
|
+
interface AvailableSlotsRequest {
|
|
3435
|
+
eventTypeId: number;
|
|
3436
|
+
startDate: string;
|
|
3437
|
+
endDate: string;
|
|
3438
|
+
slotIntervalMinutes?: number;
|
|
3439
|
+
}
|
|
3440
|
+
interface CalendarEventsQueryParams {
|
|
3441
|
+
calendarId?: number;
|
|
3442
|
+
startDate?: string;
|
|
3443
|
+
endDate?: string;
|
|
3444
|
+
status?: CalendarEventStatus;
|
|
3445
|
+
memberId?: number;
|
|
3446
|
+
limit?: number;
|
|
3447
|
+
offset?: number;
|
|
3448
|
+
}
|
|
3449
|
+
interface LinkCalendarRequest {
|
|
3450
|
+
googleCalendarId: string;
|
|
3451
|
+
}
|
|
3452
|
+
interface LinkCalendarResponse {
|
|
3453
|
+
status: string;
|
|
3454
|
+
message: string;
|
|
3455
|
+
googleCalendarId: string;
|
|
3456
|
+
googleCalendarName?: string;
|
|
3457
|
+
}
|
|
3458
|
+
interface UnlinkCalendarResponse {
|
|
3459
|
+
status: string;
|
|
3460
|
+
message: string;
|
|
3461
|
+
}
|
|
3462
|
+
interface SyncCalendarResponse {
|
|
3463
|
+
status: string;
|
|
3464
|
+
message: string;
|
|
3465
|
+
created: number;
|
|
3466
|
+
updated: number;
|
|
3467
|
+
errors: Array<{
|
|
3468
|
+
event_id: string;
|
|
3469
|
+
error: string;
|
|
3470
|
+
}>;
|
|
3471
|
+
}
|
|
3472
|
+
|
|
3473
|
+
declare const CreateInquirySchema: z.ZodObject<{
|
|
3474
|
+
name: z.ZodOptional<z.ZodString>;
|
|
3475
|
+
email: z.ZodOptional<z.ZodString>;
|
|
3476
|
+
inquiryType: z.ZodEnum<{
|
|
3477
|
+
builder: "builder";
|
|
3478
|
+
customer: "customer";
|
|
3479
|
+
partner: "partner";
|
|
3480
|
+
other: "other";
|
|
3481
|
+
demo_request: "demo_request";
|
|
3482
|
+
waitlist: "waitlist";
|
|
3483
|
+
}>;
|
|
3484
|
+
cellNumber: z.ZodOptional<z.ZodString>;
|
|
3485
|
+
businessNumber: z.ZodOptional<z.ZodString>;
|
|
3486
|
+
businessName: z.ZodOptional<z.ZodString>;
|
|
3487
|
+
country: z.ZodOptional<z.ZodString>;
|
|
3488
|
+
state: z.ZodOptional<z.ZodString>;
|
|
3489
|
+
message: z.ZodOptional<z.ZodString>;
|
|
3490
|
+
productId: z.ZodOptional<z.ZodNumber>;
|
|
3491
|
+
recaptchaToken: z.ZodOptional<z.ZodString>;
|
|
3492
|
+
}, z.core.$strip>;
|
|
3493
|
+
declare const ListInquiriesSchema: z.ZodObject<{
|
|
3494
|
+
page: z.ZodOptional<z.ZodNumber>;
|
|
3495
|
+
pageSize: z.ZodOptional<z.ZodNumber>;
|
|
3496
|
+
inquiryType: z.ZodOptional<z.ZodString>;
|
|
3497
|
+
}, z.core.$strip>;
|
|
3498
|
+
declare const GetInquirySchema: z.ZodObject<{
|
|
3499
|
+
inquiryId: z.ZodNumber;
|
|
3500
|
+
}, z.core.$strip>;
|
|
3501
|
+
declare const EnrichInquirySchema: z.ZodObject<{
|
|
3502
|
+
inquiryUuid: z.ZodString;
|
|
3503
|
+
name: z.ZodOptional<z.ZodString>;
|
|
3504
|
+
email: z.ZodOptional<z.ZodString>;
|
|
3505
|
+
cellNumber: z.ZodOptional<z.ZodString>;
|
|
3506
|
+
businessName: z.ZodOptional<z.ZodString>;
|
|
3507
|
+
message: z.ZodOptional<z.ZodString>;
|
|
3508
|
+
}, z.core.$strip>;
|
|
3509
|
+
declare const UpdateInquiryRequestSchema: z.ZodObject<{
|
|
3510
|
+
notes: z.ZodOptional<z.ZodString>;
|
|
3511
|
+
status: z.ZodOptional<z.ZodEnum<{
|
|
3512
|
+
in_progress: "in_progress";
|
|
3513
|
+
new: "new";
|
|
3514
|
+
done: "done";
|
|
3515
|
+
}>>;
|
|
3516
|
+
}, z.core.$strip>;
|
|
3517
|
+
declare const UpdateInquirySchema: z.ZodObject<{
|
|
3518
|
+
inquiryId: z.ZodNumber;
|
|
3519
|
+
notes: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
3520
|
+
status: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
|
|
3521
|
+
in_progress: "in_progress";
|
|
3522
|
+
new: "new";
|
|
3523
|
+
done: "done";
|
|
3524
|
+
}>>>;
|
|
3525
|
+
}, z.core.$strip>;
|
|
3526
|
+
declare const DeleteInquirySchema: z.ZodObject<{
|
|
3527
|
+
inquiryId: z.ZodNumber;
|
|
3528
|
+
}, z.core.$strip>;
|
|
3529
|
+
type ListInquiriesInput = z.infer<typeof ListInquiriesSchema>;
|
|
3530
|
+
type GetInquiryInput = z.infer<typeof GetInquirySchema>;
|
|
3531
|
+
type CreateInquiryInput = z.infer<typeof CreateInquirySchema>;
|
|
3532
|
+
type UpdateInquiryInput = z.infer<typeof UpdateInquirySchema>;
|
|
3533
|
+
type EnrichInquiryInput = z.infer<typeof EnrichInquirySchema>;
|
|
3534
|
+
type DeleteInquiryInput = z.infer<typeof DeleteInquirySchema>;
|
|
3535
|
+
|
|
3536
|
+
export { type BusinessProfileSubmitResponse as $, AccessLevel as A, type ApiKeyCreatedResponse as B, type ApiKeyFormData as C, type ApiKeyScope as D, type ApiKeyScopesResponse as E, type AssignmentSortField as F, type AssistantMessageActionParams as G, type AttendeeResponse as H, AttendeeResponseStatus as I, AttendeeStatus as J, type AuthorizedRep as K, type AvailabilityCheck as L, type AvailabilityResponse as M, type AvailableSlotsRequest as N, type AvailableSlotsResponse as O, type BotSortField as P, type BulkCreateDataRecordRequest as Q, type BulkCreateDataRecordResponse as R, type BulkCreateMembersRequest as S, type BulkCreateMembersResponse as T, type BulkMemberItem as U, type BulkMemberResult as V, BulkMemberResultStatus as W, type BulkRecordResult as X, BusinessIndustry as Y, type BusinessInfo as Z, type BusinessProfileCancelResponse as _, type AccountResponse as a, type DataTypeMemberRoleAccessInput as a$, BusinessType as a0, type Calendar as a1, type EventResponse as a2, type CalendarEventFormData as a3, type CalendarEventSortField as a4, CalendarEventStatus as a5, type EventTypeResponse as a6, type CalendarEventTypeFormData as a7, type CalendarEventsQueryParams as a8, type CalendarFormData as a9, type CredentialChangeInviteConfirmResponse as aA, type CredentialChangeInviteDetailsResponse as aB, type CredentialChangeInviteResponse as aC, type CredentialChangeRequestResponse as aD, type CredentialChangeVerifyResponse as aE, type CredentialType as aF, type CurrentMemberResponse as aG, type CurrentOrgMember as aH, type CursorPaginatedResponse as aI, DataCategory as aJ, type DataExportResponse as aK, type DataField as aL, type DataFieldFormData as aM, DataFieldType as aN, type DataIntegrityReportItem as aO, type DataRecordResponse as aP, type DataRecordAssociationFormData as aQ, type DataRecordFieldWarning as aR, type DataRecordFormData as aS, type DataRecordReportItem as aT, type DataRecordUpdateResponse as aU, type DataRecordWithAccessMode as aV, type DataRecordsPaginatedResponse as aW, DataSensitivity as aX, type DataTypeResponse as aY, type DataTypeExportItem as aZ, type DataTypeFormData as a_, CalendarPermissionType as aa, type CalendarResponse as ab, type CalendarSchedule as ac, CalendarScheduleAvailabilityType as ad, type CalendarScheduleFormData as ae, CalendarScheduleRecurrence as af, type CalendarScheduleResponse as ag, CalendarSource as ah, type CancelCredentialChangeInviteResponse as ai, type CancelCredentialChangeResponse as aj, type ChatContinueActionParams as ak, type ChatCreateActionParams as al, type ChatPauseActionParams as am, type ChatSortField as an, type ChatSummarizeActionParams as ao, type ConcludeAssignmentActionParams as ap, type ConsentRecordExport as aq, type CreateAccountOrgMembershipRequest as ar, type CreateAccountOrgMembershipResponse as as, type CreateAgentRequest as at, type CreateAnonymousMemberRequest as au, type CreateCredentialChangeInviteRequest as av, type CreateOrganizationRequest as aw, type CreateRoutineRequest as ax, type CreateSignupResponse as ay, type CreateWorkspaceMemberRequest as az, type AccountDataExport as b, type MemberFieldDefinitionResponse as b$, type DataTypeMemberRoleAccessResponse as b0, DataTypeRecordScope as b1, type DataTypeSortField as b2, type DeleteAccountOrgMembershipResponse as b3, type DeletionCancelResponse as b4, type DeletionRequestResponse as b5, type DetailedAccount as b6, type DuplicateAccountInfo as b7, type EcwRefreshMemberEncountersActionParams as b8, type EmailDisableImpactResponse as b9, type OrgDomainResponse as bA, type OwnershipDnsRecord as bB, type TwoFactorMethodResponse$1 as bC, type TwoFactorStatusResponse$1 as bD, type GoogleCalendarInfo as bE, type GoogleCalendarInsufficientScopesResponse as bF, type GoogleCalendarStatusResponse as bG, type ICalFeedTokenResponse as bH, type ICalFeedUrlResponse as bI, IndexStatus as bJ, type IndexStatusResponse as bK, type InvokeCustomToolActionParams as bL, JobPosition as bM, type JourneyEnrollActionParams as bN, type JourneySortField as bO, type LibModelsGlbResponsesOrganizationResponsesSSOConfigResponse as bP, type LinkCalendarRequest as bQ, type LinkCalendarResponse as bR, type LoginRequest as bS, type LoginResponse as bT, type LogoUploadRequest as bU, type LogoUploadResponse as bV, MASKED_SECRET_SENTINEL as bW, type McpServerSortField as bX, type WorkspaceMemberResponse as bY, type MemberCredentialResponse as bZ, type MemberFieldResponse as b_, EmailDnsRecordType as ba, type EmailDomainConfigResponse as bb, type EmailSendActionParams as bc, type EmailVerificationResponse as bd, type EnumOption as be, type ErrorResponse as bf, type EventActionMapping as bg, type EventActionMappingsResponse as bh, type EventRule as bi, EventRuleActionType as bj, EventRuleEventType as bk, type EventRuleExportItem as bl, type EventRuleFormData as bm, type EventRuleInput as bn, EventRuleObjectType as bo, type EventRuleResponse as bp, type EventRunSortField as bq, type ExpireAnonymousMemberRequest as br, type FileSortField as bs, type FormFieldUpdateActionParams as bt, type GenerateRecoveryCodesRequest as bu, type BusinessProfileResponse as bv, type CalendarResponse$1 as bw, type CalendarScheduleResponse$1 as bx, type MemoryListResponse as by, type MemoryResponse$1 as bz, type AccountFormData as c, PERMISSION_DELETE as c$, type MemberFieldDefinitionListResponse as c0, type MemberFieldListResponse as c1, type MemberFilterResponse as c2, type MemberFilterFilterType as c3, type MemberFilterFormData as c4, type MemberFilterObjectType as c5, type MemberFilterRuleResponse as c6, type MemberFilterRuleFormData as c7, type MemberFormData as c8, type MemberLabelResponse as c9, type MergeMembersRequest as cA, type MergeMembersResponse as cB, type MessageValidationActionParams as cC, type MilestoneSortField as cD, type MissingMembershipItem as cE, type MondayColumnMapping as cF, type MondayLookupType as cG, type MondayRefreshActionParams as cH, type MondayRefreshColumnMapping as cI, type MondayUpsertItemActionParams as cJ, type MondayUpsertMode as cK, type MultiMatchBehavior as cL, type NormalizeMemberRequest as cM, type NormalizeMemberResponse as cN, type OIDCAdminConfigInput as cO, type OIDCAdminConfigView as cP, OIDCAdminConfigViewProviderType as cQ, type ObjectPermission as cR, type ObjectPermissionFlags as cS, type OrgMember as cT, type OrgMemberListResponse as cU, type OrgMemberRole as cV, type OrgMembershipExport as cW, type OrganizationResponse as cX, type OwnershipVerificationResponse as cY, PERMISSION_ADMIN as cZ, PERMISSION_CREATE as c_, type MemberLabelActionParams as ca, type MemberLabelFormData as cb, type MemberMemoriesResponse as cc, type MemberMessageActivity as cd, type MemberOrgView as ce, type MemberReportItem as cf, type MemberRoleResponse as cg, type MemberRoleCalendarAccessResponse as ch, type MemberRoleDataTypeAccessResponse as ci, type MemberRoleFileAccessResponse as cj, type MemberRoleFolderAccessResponse as ck, type MemberRoleFormData as cl, type MemberRoleInboxAccessResponse as cm, type MemberRoleSiteAccessResponse as cn, type MemberRoleTaskAccess as co, type MemberRoleWorkflowAccessResponse as cp, type MemberSortField as cq, type MemberSummary as cr, MemberType as cs, type MemberUpsertActionParams as ct, type MemberUpsertBehavior as cu, type MemberWorkspaceInfo as cv, type MembersQueryParams as cw, type MemoryItem as cx, type MemoryResponse as cy, type MemoryType as cz, type AccountLookupResponse as d, type TwoFactorMethodType as d$, PERMISSION_EDIT as d0, PERMISSION_GEOLOCATE as d1, PERMISSION_LIST as d2, PERMISSION_LIST_ALL as d3, PERMISSION_NONE as d4, PERMISSION_USE as d5, PERMISSION_VERIFY as d6, type PageSortField as d7, type PaginatedResponse as d8, type PendingAnonymousMembersResponse as d9, type SchedulePreviewRequest as dA, type SchedulePreviewResponse as dB, type SchemaField as dC, Scope as dD, type SendEmailVerificationRequest as dE, type SessionExchangeRequest as dF, type SessionExchangeResponse as dG, type SetupTOTPRequest as dH, type SetupWebAuthnRequest as dI, type SignupAccountResponse as dJ, type SignupMemberResponse as dK, type SiteDisableImpactResponse as dL, SiteDnsRecordType as dM, type SiteDomainConfigResponse as dN, type SiteSortField as dO, type SiteVerificationResponse as dP, type SmsSendActionParams as dQ, type SortOrder as dR, type SwitchTaskActionParams as dS, type SyncCalendarResponse as dT, type TOTPSetupResponse as dU, type TaskExportDataTypeRelation as dV, type TaskExportEventRuleRelation as dW, type TaskSortField as dX, type TimeSlot as dY, type TwoFactorMethod as dZ, type TwoFactorMethodResponse as d_, type PendingCredentialChangeResponse as da, type PendingCredentialChangeInviteResponse as db, type PhoneCallActionParams as dc, type PlayAudioActionParams as dd, type QualificationSortField as de, type RecoveryCodeResponse as df, Region as dg, RegistrationIdentifier as dh, type RequestCredentialChangeRequest as di, type RequestMagicLinkRequest as dj, type RequestMagicLinkResponse as dk, type ResolveAnonymousMemberRequest as dl, type Routine as dm, type RoutineResponse as dn, type RoutineRunResponse as dp, type RoutineRunStatus as dq, type RoutineRunsQueryParams as dr, type RoutineScheduleMode as ds, type RoutineSortField as dt, type RoutineVisibility as du, type RoutinesQueryParams as dv, type RuleExecutionSortField as dw, type RuleExecutionsQueryParams as dx, type SendLoginCodeResponse as dy, type SSOConfigData as dz, type AccountReportItem as e, type TwoFactorOperationResponse as e0, type TwoFactorStatus as e1, type TwoFactorStatusResponse as e2, type UnlinkCalendarResponse as e3, type UpdateAgentRequest as e4, type UpdateAttendeeRequest as e5, type UpdateEventRuleFormData as e6, type UpdateOrgMemberRequest as e7, type UpdateOrganizationRequest as e8, type UpdateRoutineRequest as e9, type DeleteMilestoneInput as eA, DeleteMilestoneSchema as eB, type EnrichInquiryInput as eC, EnrichInquirySchema as eD, type GetInquiryInput as eE, GetInquirySchema as eF, type GetMilestoneInput as eG, GetMilestoneSchema as eH, type ListInquiriesInput as eI, ListInquiriesSchema as eJ, type ListMilestonesInput as eK, ListMilestonesSchema as eL, type MilestoneFormData as eM, MilestoneFormDataSchema as eN, MilestoneGoalFormDataSchema as eO, type UpdateInquiryInput as eP, UpdateInquiryRequestSchema as eQ, UpdateInquirySchema as eR, type UpdateMilestoneInput as eS, UpdateMilestoneSchema as eT, type EventRuleResponse$1 as eU, type EmailDnsRecord as eV, type EmailDomainConfigGetResponse as eW, type OrgDomainListResponse as eX, type SiteDnsRecord as eY, type SiteDomainConfigGetResponse as eZ, type UpdateTwoFactorMethodRequest as ea, type UpdateWorkspaceMemberRequest as eb, type ValidateMagicLinkRequest as ec, type ValidateMagicLinkResponse as ed, type VerifyCodeRequest as ee, type VerifyCodeResponse as ef, type VerifyCredentialChangeRequest as eg, type VerifyEmailRequest as eh, type VerifyTOTPSetupRequest as ei, type VerifyWebAuthnSetupRequest as ej, type WebAuthnRegistrationResponse as ek, type WebhookActionParams as el, type WebhookLogSortField as em, type WebhookLogsQueryParams as en, type WorkflowSortField as eo, type WorkspaceMembershipExport as ep, type WorkspaceSortField as eq, decodePermissions as er, encodePermissions as es, eventRuleActionParams as et, type CreateInquiryInput as eu, CreateInquirySchema as ev, type CreateMilestoneInput as ew, CreateMilestoneSchema as ex, type DeleteInquiryInput as ey, DeleteInquirySchema as ez, type AccountSortField as f, type AccountState as g, type Address as h, type AdminAccountResponse as i, type AdminAccountFormData as j, type AdminAccountMembership as k, type AdminAccountMembershipResponse as l, type AdminAccountOrgMembershipResponse as m, type AdminOrganization as n, type AdminOrganizationResponse as o, type AdminWorkspaceMemberFormData as p, type AdminWorkspaceSortField as q, type AgentResponse as r, type AgentConfigResponse as s, type AgentConfigFormData as t, type AgentMemoryConfig as u, type AgentSortField as v, type AnonymousInteractionResponse as w, type AnonymousMemberResolutionResponse as x, type AnonymousMemberResolutionStatus as y, type ApiKeyResponse as z };
|