@gravity-rail/sdk 0.36.0 → 0.40.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +44 -21
- package/dist/agui.d.cts +1 -1
- package/dist/agui.d.ts +1 -1
- package/dist/audio.d.cts +1 -1
- package/dist/audio.d.ts +1 -1
- package/dist/{chat-interaction-Ck1oMOr5.d.ts → chat-interaction-BB3ap8_u.d.ts} +8920 -6212
- package/dist/{chat-interaction-DqQu8Ad1.d.cts → chat-interaction-Bj1pciwo.d.cts} +8920 -6212
- package/dist/{chunk-P2E6LU7I.js → chunk-67QXTQVL.js} +1 -26
- package/dist/chunk-67QXTQVL.js.map +1 -0
- package/dist/chunk-6KPGCPGW.js +48 -0
- package/dist/chunk-6KPGCPGW.js.map +1 -0
- package/dist/{chunk-HRUMZ46V.js → chunk-72SWNLVD.js} +2 -1
- package/dist/chunk-72SWNLVD.js.map +1 -0
- package/dist/{chunk-R3C63RZJ.js → chunk-ZTUOB4V2.js} +1278 -218
- package/dist/chunk-ZTUOB4V2.js.map +1 -0
- package/dist/helpers.cjs +47 -0
- package/dist/helpers.cjs.map +1 -1
- package/dist/helpers.d.cts +4 -3
- package/dist/helpers.d.ts +4 -3
- package/dist/helpers.js +7 -1
- package/dist/helpers.js.map +1 -1
- package/dist/index.cjs +1389 -350
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +13 -35
- package/dist/index.d.ts +13 -35
- package/dist/index.js +112 -122
- package/dist/index.js.map +1 -1
- package/dist/internal.cjs +1303 -252
- package/dist/internal.cjs.map +1 -1
- package/dist/internal.d.cts +338 -55
- package/dist/internal.d.ts +338 -55
- package/dist/internal.js +68 -21
- package/dist/internal.js.map +1 -1
- package/dist/member-import-D8fZr2Pd.d.cts +46 -0
- package/dist/member-import-YNk9MlEl.d.ts +46 -0
- package/dist/realtime.cjs +91 -20
- package/dist/realtime.cjs.map +1 -1
- package/dist/realtime.d.cts +34 -9
- package/dist/realtime.d.ts +34 -9
- package/dist/realtime.js +90 -20
- package/dist/realtime.js.map +1 -1
- package/dist/{revision-state-Tn2V0-zt.d.cts → revision-state-BaJTq3Or.d.ts} +271 -55
- package/dist/{revision-state-V5RIhte0.d.ts → revision-state-CL11FA-T.d.cts} +271 -55
- package/dist/schemas.cjs +58 -81
- package/dist/schemas.cjs.map +1 -1
- package/dist/schemas.d.cts +88 -225
- package/dist/schemas.d.ts +88 -225
- package/dist/schemas.js +58 -76
- package/dist/schemas.js.map +1 -1
- package/dist/{tasks-BH_i_pVb.d.cts → tasks-ByJCQ5BI.d.cts} +3003 -2508
- package/dist/{tasks-BH_i_pVb.d.ts → tasks-ByJCQ5BI.d.ts} +3003 -2508
- package/dist/{types-0c6_NGU4.d.cts → types-DlfADjPR.d.cts} +17 -2
- package/dist/{types-0c6_NGU4.d.ts → types-DlfADjPR.d.ts} +17 -2
- package/package.json +9 -7
- package/dist/chunk-HRUMZ46V.js.map +0 -1
- package/dist/chunk-P2E6LU7I.js.map +0 -1
- package/dist/chunk-R3C63RZJ.js.map +0 -1
package/dist/index.cjs
CHANGED
|
@@ -48,6 +48,8 @@ __export(src_exports, {
|
|
|
48
48
|
BaseApiClient: () => BaseApiClient,
|
|
49
49
|
BuildersApi: () => BuildersApi,
|
|
50
50
|
BulkMemberResultStatus: () => BulkMemberResultStatus,
|
|
51
|
+
BundleGrantRequestGranteeType: () => BundleGrantRequestGranteeType,
|
|
52
|
+
BundlesApi: () => BundlesApi,
|
|
51
53
|
BusinessIndustry: () => BusinessIndustry,
|
|
52
54
|
BusinessType: () => BusinessType,
|
|
53
55
|
CELApi: () => CELApi,
|
|
@@ -64,7 +66,11 @@ __export(src_exports, {
|
|
|
64
66
|
ChatInteractionController: () => ChatInteractionController,
|
|
65
67
|
ChatMuteReason: () => ChatMuteReason,
|
|
66
68
|
ConsentMethod: () => ConsentMethod,
|
|
69
|
+
CreateMemberContactPointRequestContactType: () => CreateMemberContactPointRequestContactType,
|
|
70
|
+
CreateMemberContactPointRequestPurpose: () => CreateMemberContactPointRequestPurpose,
|
|
71
|
+
CreateMemberContactPointRequestSharing: () => CreateMemberContactPointRequestSharing,
|
|
67
72
|
CriterionType: () => CriterionType,
|
|
73
|
+
CrmActivityKind: () => CrmActivityKind,
|
|
68
74
|
DEFAULT_AGENT_CHAT_MODEL: () => DEFAULT_AGENT_CHAT_MODEL,
|
|
69
75
|
DEFAULT_AGENT_REALTIME_MODEL: () => DEFAULT_AGENT_REALTIME_MODEL,
|
|
70
76
|
DEFAULT_AGENT_REALTIME_MODEL_CONFIG: () => DEFAULT_AGENT_REALTIME_MODEL_CONFIG,
|
|
@@ -87,10 +93,12 @@ __export(src_exports, {
|
|
|
87
93
|
EventRuleObjectType: () => EventRuleObjectType,
|
|
88
94
|
FeatureCategory: () => FeatureCategory,
|
|
89
95
|
FeatureVisibility: () => FeatureVisibility,
|
|
96
|
+
FeedCursorRejection: () => FeedCursorRejection,
|
|
90
97
|
FhirClientType: () => FhirClientType,
|
|
91
98
|
FhirConnectionState: () => FhirConnectionState,
|
|
92
99
|
FhirVendor: () => FhirVendor,
|
|
93
100
|
FormBuilder: () => FormBuilder,
|
|
101
|
+
FormBundleItemRecordScope: () => FormBundleItemRecordScope,
|
|
94
102
|
GravityRailClient: () => GravityRailClient,
|
|
95
103
|
ImportSkippedRuleResourceGroupResourceType: () => ImportSkippedRuleResourceGroupResourceType,
|
|
96
104
|
ImportSkippedRuleResponseNeededResourceTypesItem: () => ImportSkippedRuleResponseNeededResourceTypesItem,
|
|
@@ -99,6 +107,8 @@ __export(src_exports, {
|
|
|
99
107
|
ImportSkippedRuleResponseStatus: () => ImportSkippedRuleResponseStatus,
|
|
100
108
|
InboundFaxStatusValues: () => InboundFaxStatus,
|
|
101
109
|
IndexStatus: () => IndexStatus,
|
|
110
|
+
InstallationItemChangeChange: () => InstallationItemChangeChange,
|
|
111
|
+
InstallationsApi: () => InstallationsApi,
|
|
102
112
|
InvitationStatus: () => InvitationStatus,
|
|
103
113
|
JobPosition: () => JobPosition,
|
|
104
114
|
JourneyBuilder: () => JourneyBuilder,
|
|
@@ -149,13 +159,20 @@ __export(src_exports, {
|
|
|
149
159
|
REALTIME_MODEL_OPENAI_2: () => REALTIME_MODEL_OPENAI_2,
|
|
150
160
|
REALTIME_MODEL_OPENAI_MINI: () => REALTIME_MODEL_OPENAI_MINI,
|
|
151
161
|
RefResolutionStatus: () => RefResolutionStatus,
|
|
162
|
+
ReferenceTargetInputKind: () => ReferenceTargetInputKind,
|
|
152
163
|
Region: () => Region,
|
|
153
164
|
RegistrationIdentifier: () => RegistrationIdentifier,
|
|
154
165
|
RelatedMemberRole: () => RelatedMemberRole,
|
|
155
166
|
RelationshipCardinality: () => RelationshipCardinality,
|
|
156
167
|
Resource: () => Resource,
|
|
157
|
-
|
|
168
|
+
ResourceWorkflowsApi: () => ResourceWorkflowsApi,
|
|
169
|
+
RevisionHistorySegment: () => RevisionHistorySegment,
|
|
158
170
|
RoutineBuilder: () => RoutineBuilder,
|
|
171
|
+
RoutingActionType: () => RoutingActionType,
|
|
172
|
+
RoutingAudience: () => RoutingAudience,
|
|
173
|
+
RoutingChannel: () => RoutingChannel,
|
|
174
|
+
RoutingTimeWindow: () => RoutingTimeWindow,
|
|
175
|
+
RunHealthCategory: () => RunHealthCategory,
|
|
159
176
|
SCOPES: () => SCOPES,
|
|
160
177
|
SCOPE_PRESETS: () => SCOPE_PRESETS,
|
|
161
178
|
SMS_DELIVERY_FAILURE_STATUSES: () => SMS_DELIVERY_FAILURE_STATUSES,
|
|
@@ -163,17 +180,25 @@ __export(src_exports, {
|
|
|
163
180
|
STT_MODEL_DEEPGRAM_FLUX_MULTI: () => STT_MODEL_DEEPGRAM_FLUX_MULTI,
|
|
164
181
|
STT_MODEL_DEEPGRAM_FLUX_MULTI_SELFHOST: () => STT_MODEL_DEEPGRAM_FLUX_MULTI_SELFHOST,
|
|
165
182
|
STT_MODEL_DEEPGRAM_FLUX_SELFHOST: () => STT_MODEL_DEEPGRAM_FLUX_SELFHOST,
|
|
183
|
+
ScalarTargetInputKind: () => ScalarTargetInputKind,
|
|
184
|
+
ScenarioHealthCaption: () => ScenarioHealthCaption,
|
|
185
|
+
ScenarioHealthHeadline: () => ScenarioHealthHeadline,
|
|
186
|
+
ScenarioHealthSampleNote: () => ScenarioHealthSampleNote,
|
|
187
|
+
ScenarioHealthState: () => ScenarioHealthState,
|
|
188
|
+
ScenarioRunBlocker: () => ScenarioRunBlocker,
|
|
166
189
|
Scope: () => Scope,
|
|
167
190
|
ScopeCategory: () => ScopeCategory,
|
|
168
191
|
ScopeManager: () => ScopeManager,
|
|
192
|
+
SendingNextStep: () => SendingNextStep,
|
|
193
|
+
SendingStopState: () => SendingStopState,
|
|
194
|
+
SetInstallationPolicyRequestUpgradePolicy: () => SetInstallationPolicyRequestUpgradePolicy,
|
|
169
195
|
SiteDnsRecordType: () => SiteDnsRecordType,
|
|
196
|
+
SolutionReleaseResponseSlug: () => SolutionReleaseResponseSlug,
|
|
170
197
|
SupervisorsApi: () => SupervisorsApi,
|
|
171
198
|
TTS_MODEL_AWS_POLLY_GENERATIVE: () => TTS_MODEL_AWS_POLLY_GENERATIVE,
|
|
172
199
|
TTS_MODEL_AWS_POLLY_NEURAL: () => TTS_MODEL_AWS_POLLY_NEURAL,
|
|
173
200
|
TTS_MODEL_DEEPGRAM_AURA_2: () => TTS_MODEL_DEEPGRAM_AURA_2,
|
|
174
|
-
|
|
175
|
-
TTS_MODEL_ELEVENLABS_MULTILINGUAL: () => TTS_MODEL_ELEVENLABS_MULTILINGUAL,
|
|
176
|
-
TTS_MODEL_ELEVENLABS_TURBO: () => TTS_MODEL_ELEVENLABS_TURBO,
|
|
201
|
+
TTS_MODEL_XAI_V1: () => TTS_MODEL_XAI_V1,
|
|
177
202
|
TTS_PREVIEW_PROVIDERS: () => TTS_PREVIEW_PROVIDERS,
|
|
178
203
|
TaskBuilder: () => TaskBuilder,
|
|
179
204
|
TemplatesApi: () => TemplatesApi,
|
|
@@ -183,11 +208,11 @@ __export(src_exports, {
|
|
|
183
208
|
UiPromptPresentedKindValues: () => UiPromptPresentedKind,
|
|
184
209
|
UiPromptResponseKindValues: () => UiPromptResponseKind,
|
|
185
210
|
UiPromptResponseStatusValues: () => UiPromptResponseStatus,
|
|
211
|
+
UpdateMemberContactPointRequestContactType: () => UpdateMemberContactPointRequestContactType,
|
|
212
|
+
UpdateMemberContactPointRequestPurpose: () => UpdateMemberContactPointRequestPurpose,
|
|
213
|
+
UpdateMemberContactPointRequestSharing: () => UpdateMemberContactPointRequestSharing,
|
|
186
214
|
WIDGET_SLUGS: () => WIDGET_SLUGS,
|
|
187
|
-
WORKFLOW_IMPLICIT_USE_SCOPE: () => WORKFLOW_IMPLICIT_USE_SCOPE,
|
|
188
|
-
WorkflowAccessWarningResourceType: () => WorkflowAccessWarningResourceType,
|
|
189
215
|
WorkflowBuilder: () => WorkflowBuilder,
|
|
190
|
-
WorkflowResourceType: () => WorkflowAccessWarningResourceType,
|
|
191
216
|
WorkflowRoutingMode: () => WorkflowRoutingMode,
|
|
192
217
|
WorkspaceBuilder: () => WorkspaceBuilder,
|
|
193
218
|
WorkspaceBuilderResource: () => WorkspaceBuilderResource,
|
|
@@ -227,10 +252,9 @@ __export(src_exports, {
|
|
|
227
252
|
isSMSDeliveryFailureStatus: () => isSMSDeliveryFailureStatus,
|
|
228
253
|
parseOrgAuthChallenge: () => parseOrgAuthChallenge,
|
|
229
254
|
requiresAssistantParticipant: () => requiresAssistantParticipant,
|
|
230
|
-
roleCanUseWorkflow: () => roleCanUseWorkflow,
|
|
231
|
-
roleImplicitWorkflowUseScope: () => roleImplicitWorkflowUseScope,
|
|
232
|
-
roleWorkflowAccess: () => roleWorkflowAccess,
|
|
233
255
|
runWorkspaceScript: () => runWorkspaceScript,
|
|
256
|
+
toSafeMemberImportPreview: () => toSafeMemberImportPreview,
|
|
257
|
+
toSafeMemberImportSummary: () => toSafeMemberImportSummary,
|
|
234
258
|
usesBuiltinAssistant: () => usesBuiltinAssistant,
|
|
235
259
|
validateFeatureDependencies: () => validateFeatureDependencies
|
|
236
260
|
});
|
|
@@ -329,7 +353,6 @@ var BaseApiClient = class {
|
|
|
329
353
|
enhancedAuthInProgress = null;
|
|
330
354
|
orgAuthHandler;
|
|
331
355
|
orgAuthInProgress = null;
|
|
332
|
-
actingMemberUuid;
|
|
333
356
|
orgSession;
|
|
334
357
|
/**
|
|
335
358
|
* The org_uuid that issued the current org auth credential. Tracked so we can detect
|
|
@@ -369,21 +392,6 @@ var BaseApiClient = class {
|
|
|
369
392
|
updateApiKey(newApiKey) {
|
|
370
393
|
this.apiKey = newApiKey;
|
|
371
394
|
}
|
|
372
|
-
/**
|
|
373
|
-
* Set the acting member UUID for member identity switching.
|
|
374
|
-
* When set, all API requests will include the X-Acting-Member header.
|
|
375
|
-
* The backend will validate that the authenticated account owns this member
|
|
376
|
-
* and use it as the effective identity for the request.
|
|
377
|
-
*/
|
|
378
|
-
setActingMember(memberUuid) {
|
|
379
|
-
this.actingMemberUuid = memberUuid;
|
|
380
|
-
}
|
|
381
|
-
/**
|
|
382
|
-
* Get the current acting member UUID.
|
|
383
|
-
*/
|
|
384
|
-
getActingMember() {
|
|
385
|
-
return this.actingMemberUuid;
|
|
386
|
-
}
|
|
387
395
|
/**
|
|
388
396
|
* Set the opaque org session credential for cross-domain requests.
|
|
389
397
|
* Opaque gr_sess_ values use X-Org-Session. Legacy orgToken JWE values still
|
|
@@ -421,9 +429,6 @@ var BaseApiClient = class {
|
|
|
421
429
|
headers.set("Authorization", `Bearer ${requestToken}`);
|
|
422
430
|
}
|
|
423
431
|
}
|
|
424
|
-
if (this.actingMemberUuid) {
|
|
425
|
-
headers.set("X-Acting-Member", this.actingMemberUuid);
|
|
426
|
-
}
|
|
427
432
|
setOrgAuthHeader(headers, this.orgSession);
|
|
428
433
|
const fullUrl = `${this.baseUrl}/api/v2/${endpoint}`;
|
|
429
434
|
const response = await this.fetchFunction(fullUrl, {
|
|
@@ -575,9 +580,6 @@ ${formattedErrors}`, response.status);
|
|
|
575
580
|
headers.set("Authorization", `Bearer ${requestToken}`);
|
|
576
581
|
}
|
|
577
582
|
}
|
|
578
|
-
if (this.actingMemberUuid) {
|
|
579
|
-
headers.set("X-Acting-Member", this.actingMemberUuid);
|
|
580
|
-
}
|
|
581
583
|
setOrgAuthHeader(headers, this.orgSession);
|
|
582
584
|
const response = await this.fetchFunction(`${this.baseUrl}/api/v2/${endpoint}`, {
|
|
583
585
|
...options,
|
|
@@ -687,9 +689,6 @@ ${formattedErrors}`, response.status);
|
|
|
687
689
|
headers.set("Authorization", `Bearer ${requestToken}`);
|
|
688
690
|
}
|
|
689
691
|
}
|
|
690
|
-
if (this.actingMemberUuid) {
|
|
691
|
-
headers.set("X-Acting-Member", this.actingMemberUuid);
|
|
692
|
-
}
|
|
693
692
|
setOrgAuthHeader(headers, this.orgSession);
|
|
694
693
|
const fullUrl = `${this.baseUrl}/${path}`;
|
|
695
694
|
const response = await this.fetchFunction(fullUrl, {
|
|
@@ -785,6 +784,299 @@ var AbilitiesApi = class extends BaseApiClient {
|
|
|
785
784
|
}
|
|
786
785
|
};
|
|
787
786
|
|
|
787
|
+
// src/api/resource-workflows.ts
|
|
788
|
+
function resourceWorkflowsPath(wid, ...segments) {
|
|
789
|
+
const tail = segments.map((segment) => encodeURIComponent(String(segment))).join("/");
|
|
790
|
+
const base = `w/${encodeURIComponent(wid)}/resource-workflows`;
|
|
791
|
+
return tail ? `${base}/${tail}` : base;
|
|
792
|
+
}
|
|
793
|
+
var ResourceWorkflowsApi = class extends BaseApiClient {
|
|
794
|
+
/** One Workflow's summary, for a viewer that can see it. */
|
|
795
|
+
async getResourceWorkflow(wid, workflowUuid) {
|
|
796
|
+
return this.fetch(resourceWorkflowsPath(wid, workflowUuid));
|
|
797
|
+
}
|
|
798
|
+
/**
|
|
799
|
+
* One published revision.
|
|
800
|
+
*
|
|
801
|
+
* The response is a union: the owner (or a `full` grantee) receives the
|
|
802
|
+
* complete `ResourceWorkflowGraphResponse`, while a bounded grantee receives
|
|
803
|
+
* the `ResourceWorkflowDisclosureResponse` envelope. Branch on `publishedAt`
|
|
804
|
+
* being present — never assume the full shape. A retained revision stays
|
|
805
|
+
* readable here after a `stop_updates` revocation.
|
|
806
|
+
*/
|
|
807
|
+
async getResourceWorkflowRevision(wid, workflowUuid, revisionUuid) {
|
|
808
|
+
return this.fetch(
|
|
809
|
+
resourceWorkflowsPath(wid, workflowUuid, "revisions", revisionUuid)
|
|
810
|
+
);
|
|
811
|
+
}
|
|
812
|
+
/**
|
|
813
|
+
* List published Workflows owned by or shared with this workspace.
|
|
814
|
+
*
|
|
815
|
+
* The Bundle draft editor reads `publishedRevisionUuid` from each summary to
|
|
816
|
+
* pin a Workflow item; archived Workflows are excluded unless asked for.
|
|
817
|
+
*/
|
|
818
|
+
async listResourceWorkflows(wid, params) {
|
|
819
|
+
const query = new URLSearchParams();
|
|
820
|
+
if (params?.page !== void 0) query.set("page", String(params.page));
|
|
821
|
+
if (params?.pageSize !== void 0) query.set("pageSize", String(params.pageSize));
|
|
822
|
+
if (params?.includeArchived !== void 0) {
|
|
823
|
+
query.set("includeArchived", String(params.includeArchived));
|
|
824
|
+
}
|
|
825
|
+
const qs = query.toString();
|
|
826
|
+
return this.fetch(
|
|
827
|
+
`w/${encodeURIComponent(wid)}/resource-workflows${qs ? `?${qs}` : ""}`
|
|
828
|
+
);
|
|
829
|
+
}
|
|
830
|
+
};
|
|
831
|
+
|
|
832
|
+
// src/api/bundles.ts
|
|
833
|
+
function bundlesPath(wid, ...segments) {
|
|
834
|
+
const tail = segments.map((segment) => encodeURIComponent(String(segment))).join("/");
|
|
835
|
+
const base = `w/${encodeURIComponent(wid)}/bundles`;
|
|
836
|
+
return tail ? `${base}/${tail}` : base;
|
|
837
|
+
}
|
|
838
|
+
function pageQuery(params) {
|
|
839
|
+
const query = new URLSearchParams();
|
|
840
|
+
if (params?.page !== void 0) query.set("page", String(params.page));
|
|
841
|
+
if (params?.pageSize !== void 0) query.set("pageSize", String(params.pageSize));
|
|
842
|
+
const qs = query.toString();
|
|
843
|
+
return qs ? `?${qs}` : "";
|
|
844
|
+
}
|
|
845
|
+
var BundlesApi = class extends BaseApiClient {
|
|
846
|
+
/** Official solution metadata, independent of the default workspace Library. */
|
|
847
|
+
async getSolutionRelease(slug) {
|
|
848
|
+
return this.fetch(`solutions/${encodeURIComponent(slug)}`);
|
|
849
|
+
}
|
|
850
|
+
/** Read an authorized Bundle by UUID, including official solutions hidden from discovery. */
|
|
851
|
+
async getBundle(wid, bundleUuid) {
|
|
852
|
+
return this.fetch(bundlesPath(wid, bundleUuid));
|
|
853
|
+
}
|
|
854
|
+
async updateBundle(wid, bundleUuid, data) {
|
|
855
|
+
return this.fetch(
|
|
856
|
+
`w/${encodeURIComponent(wid)}/bundles/${encodeURIComponent(bundleUuid)}`,
|
|
857
|
+
{
|
|
858
|
+
method: "PATCH",
|
|
859
|
+
body: JSON.stringify(data)
|
|
860
|
+
}
|
|
861
|
+
);
|
|
862
|
+
}
|
|
863
|
+
async listBundleInstallations(wid, bundleUuid) {
|
|
864
|
+
return this.fetch(
|
|
865
|
+
`w/${encodeURIComponent(wid)}/bundles/${encodeURIComponent(bundleUuid)}/installations`
|
|
866
|
+
);
|
|
867
|
+
}
|
|
868
|
+
/**
|
|
869
|
+
* Bundles visible to this workspace through ownership, a live grant, or
|
|
870
|
+
* an administrator of the owning organization.
|
|
871
|
+
*/
|
|
872
|
+
async listBundles(wid, params) {
|
|
873
|
+
return this.fetch(`${bundlesPath(wid)}${pageQuery(params)}`);
|
|
874
|
+
}
|
|
875
|
+
/**
|
|
876
|
+
* This workspace's Workflows for the Bundle picker. `eligible` pins
|
|
877
|
+
* `revisionUuid` (the active revision when published, else the newest
|
|
878
|
+
* published one); `unpublished` has nothing to pin. `dependenciesChecked` is
|
|
879
|
+
* false until a Bundle add has stored the revision's dependencies; that add
|
|
880
|
+
* surfaces any refusal as a 409 `workflow_not_shareable`. Requires
|
|
881
|
+
* `workflows:admin`.
|
|
882
|
+
*/
|
|
883
|
+
async listBundleWorkflowCandidates(wid) {
|
|
884
|
+
return this.fetch(bundlesPath(wid, "workflow-candidates"));
|
|
885
|
+
}
|
|
886
|
+
/** Create an empty Bundle owned by this workspace. */
|
|
887
|
+
async createBundle(wid, data) {
|
|
888
|
+
return this.fetch(bundlesPath(wid), {
|
|
889
|
+
method: "POST",
|
|
890
|
+
body: JSON.stringify(data)
|
|
891
|
+
});
|
|
892
|
+
}
|
|
893
|
+
/**
|
|
894
|
+
* The unpublished draft for the owning workspace. A grantee is refused with
|
|
895
|
+
* 404: `version_detail` checks
|
|
896
|
+
* `root.workspace_uuid != viewer.workspace_uuid` for the null version
|
|
897
|
+
* (`lib/db/resources/bundles.py`), after the grantee-inclusive predicate has
|
|
898
|
+
* already admitted them to the Bundle itself.
|
|
899
|
+
*
|
|
900
|
+
* After publication, the next draft contains a copy of the published items.
|
|
901
|
+
* The owner receives it with 200; a grantee receives 404.
|
|
902
|
+
*/
|
|
903
|
+
async getBundleDraft(wid, bundleUuid) {
|
|
904
|
+
return this.fetch(bundlesPath(wid, bundleUuid, "draft"));
|
|
905
|
+
}
|
|
906
|
+
/** Replace the whole draft item list. 409 when `expectedGeneration` is stale. */
|
|
907
|
+
async replaceBundleDraft(wid, bundleUuid, data) {
|
|
908
|
+
return this.fetch(bundlesPath(wid, bundleUuid, "draft"), {
|
|
909
|
+
method: "PUT",
|
|
910
|
+
body: JSON.stringify(data)
|
|
911
|
+
});
|
|
912
|
+
}
|
|
913
|
+
/** Cut a new immutable version from the draft. 409 when `expectedGeneration` is stale. */
|
|
914
|
+
async publishBundle(wid, bundleUuid, data) {
|
|
915
|
+
return this.fetch(bundlesPath(wid, bundleUuid, "publish"), {
|
|
916
|
+
method: "POST",
|
|
917
|
+
body: JSON.stringify(data)
|
|
918
|
+
});
|
|
919
|
+
}
|
|
920
|
+
/** Published versions, newest first. */
|
|
921
|
+
async listBundleVersions(wid, bundleUuid, params) {
|
|
922
|
+
return this.fetch(
|
|
923
|
+
`${bundlesPath(wid, bundleUuid, "versions")}${pageQuery(params)}`
|
|
924
|
+
);
|
|
925
|
+
}
|
|
926
|
+
/** One published version, with its items, declared settings and open slots. */
|
|
927
|
+
async getBundleVersion(wid, bundleUuid, version) {
|
|
928
|
+
return this.fetch(bundlesPath(wid, bundleUuid, "versions", version));
|
|
929
|
+
}
|
|
930
|
+
/** Who this Bundle is currently granted to. */
|
|
931
|
+
async listBundleGrants(wid, bundleUuid) {
|
|
932
|
+
return this.fetch(bundlesPath(wid, bundleUuid, "grants"));
|
|
933
|
+
}
|
|
934
|
+
/**
|
|
935
|
+
* Share throughout the publisher's organization with organization-admin authority.
|
|
936
|
+
* Workspace-specific and global author grants are refused. Official public
|
|
937
|
+
* solutions use the separate staff approval API.
|
|
938
|
+
*/
|
|
939
|
+
async grantBundle(wid, bundleUuid, data) {
|
|
940
|
+
return this.fetch(bundlesPath(wid, bundleUuid, "grants"), {
|
|
941
|
+
method: "POST",
|
|
942
|
+
body: JSON.stringify(data)
|
|
943
|
+
});
|
|
944
|
+
}
|
|
945
|
+
/** Revoke one grant by id. */
|
|
946
|
+
async revokeBundleGrant(wid, bundleUuid, grantId) {
|
|
947
|
+
return this.fetch(bundlesPath(wid, bundleUuid, "grants", grantId), {
|
|
948
|
+
method: "DELETE"
|
|
949
|
+
});
|
|
950
|
+
}
|
|
951
|
+
};
|
|
952
|
+
|
|
953
|
+
// src/api/installations.ts
|
|
954
|
+
function installationsPath(wid, ...segments) {
|
|
955
|
+
const tail = segments.map((segment) => encodeURIComponent(String(segment))).join("/");
|
|
956
|
+
const base = `w/${encodeURIComponent(wid)}/installations`;
|
|
957
|
+
return tail ? `${base}/${tail}` : base;
|
|
958
|
+
}
|
|
959
|
+
var InstallationsApi = class extends BaseApiClient {
|
|
960
|
+
/** Inspect one published release and its selected example dependencies. */
|
|
961
|
+
async preflightBundleInstallation(wid, bundleUuid, data) {
|
|
962
|
+
return this.fetch(
|
|
963
|
+
`w/${encodeURIComponent(wid)}/bundles/${encodeURIComponent(bundleUuid)}/installation-preflight`,
|
|
964
|
+
{ method: "POST", body: JSON.stringify(data) }
|
|
965
|
+
);
|
|
966
|
+
}
|
|
967
|
+
/**
|
|
968
|
+
* Install a published Bundle version into this workspace.
|
|
969
|
+
*
|
|
970
|
+
* A key in `bindings` that this version has no slot or Form item for is
|
|
971
|
+
* refused; a **missing** required slot is not.
|
|
972
|
+
*/
|
|
973
|
+
async installBundle(wid, bundleUuid, data) {
|
|
974
|
+
return this.fetch(
|
|
975
|
+
`w/${encodeURIComponent(wid)}/bundles/${encodeURIComponent(bundleUuid)}/installations`,
|
|
976
|
+
{ method: "POST", body: JSON.stringify(data) }
|
|
977
|
+
);
|
|
978
|
+
}
|
|
979
|
+
/** Every installation this workspace holds, oldest first. */
|
|
980
|
+
async listInstallations(wid) {
|
|
981
|
+
return this.fetch(installationsPath(wid));
|
|
982
|
+
}
|
|
983
|
+
async getInstallation(wid, installationUuid) {
|
|
984
|
+
return this.fetch(installationsPath(wid, installationUuid));
|
|
985
|
+
}
|
|
986
|
+
/**
|
|
987
|
+
* Open slots, bindings whose target no longer resolves, Forms that drifted
|
|
988
|
+
* from their recipe, missing or changed Workflow dependencies, and archived
|
|
989
|
+
* items. Computed on read, never stored.
|
|
990
|
+
*/
|
|
991
|
+
async getInstallationReadiness(wid, installationUuid) {
|
|
992
|
+
return this.fetch(
|
|
993
|
+
installationsPath(wid, installationUuid, "readiness")
|
|
994
|
+
);
|
|
995
|
+
}
|
|
996
|
+
/**
|
|
997
|
+
* What moving to version `to` would change: per-item differences, the slots
|
|
998
|
+
* that would still be unbound, and the release notes of every version in
|
|
999
|
+
* between. `to` must be newer than the version the installation holds.
|
|
1000
|
+
*/
|
|
1001
|
+
async previewInstallationUpgrade(wid, installationUuid, to) {
|
|
1002
|
+
const query = new URLSearchParams({ to: String(to) });
|
|
1003
|
+
return this.fetch(
|
|
1004
|
+
`${installationsPath(wid, installationUuid, "upgrade-preview")}?${query.toString()}`
|
|
1005
|
+
);
|
|
1006
|
+
}
|
|
1007
|
+
/**
|
|
1008
|
+
* Move the installation onto a newer published version. The version it
|
|
1009
|
+
* already holds, and any earlier one, are refused with 409.
|
|
1010
|
+
*/
|
|
1011
|
+
async upgradeInstallation(wid, installationUuid, data) {
|
|
1012
|
+
return this.fetch(installationsPath(wid, installationUuid, "upgrade"), {
|
|
1013
|
+
method: "POST",
|
|
1014
|
+
body: JSON.stringify(data)
|
|
1015
|
+
});
|
|
1016
|
+
}
|
|
1017
|
+
/** Recreate one deleted Form from the version already installed. */
|
|
1018
|
+
async restoreInstallationForm(wid, installationUuid, data) {
|
|
1019
|
+
return this.fetch(
|
|
1020
|
+
installationsPath(wid, installationUuid, "restore-form"),
|
|
1021
|
+
{
|
|
1022
|
+
method: "POST",
|
|
1023
|
+
body: JSON.stringify(data)
|
|
1024
|
+
}
|
|
1025
|
+
);
|
|
1026
|
+
}
|
|
1027
|
+
/** Recreate missing dependency resources for an installed Workflow. */
|
|
1028
|
+
async restoreInstallationWorkflowResources(wid, installationUuid, data) {
|
|
1029
|
+
return this.fetch(
|
|
1030
|
+
installationsPath(wid, installationUuid, "restore-workflow-resources"),
|
|
1031
|
+
{ method: "POST", body: JSON.stringify(data) }
|
|
1032
|
+
);
|
|
1033
|
+
}
|
|
1034
|
+
/** `pinned` holds the installed version; `auto` follows each publication. */
|
|
1035
|
+
async setInstallationPolicy(wid, installationUuid, data) {
|
|
1036
|
+
return this.fetch(installationsPath(wid, installationUuid), {
|
|
1037
|
+
method: "PATCH",
|
|
1038
|
+
body: JSON.stringify(data)
|
|
1039
|
+
});
|
|
1040
|
+
}
|
|
1041
|
+
/** Stop future Bundle updates while keeping the workspace's installed content. */
|
|
1042
|
+
async unsubscribeInstallation(wid, installationUuid) {
|
|
1043
|
+
return this.fetch(
|
|
1044
|
+
installationsPath(wid, installationUuid, "unsubscribe"),
|
|
1045
|
+
{ method: "POST", body: JSON.stringify({}) }
|
|
1046
|
+
);
|
|
1047
|
+
}
|
|
1048
|
+
/** Fill open slots. A slot that already carries a target is refused with 409. */
|
|
1049
|
+
async bindInstallationSlots(wid, installationUuid, data) {
|
|
1050
|
+
return this.fetch(
|
|
1051
|
+
installationsPath(wid, installationUuid, "bindings"),
|
|
1052
|
+
{ method: "POST", body: JSON.stringify(data) }
|
|
1053
|
+
);
|
|
1054
|
+
}
|
|
1055
|
+
/**
|
|
1056
|
+
* Settle an installation left `pending` by an interrupted operation.
|
|
1057
|
+
*
|
|
1058
|
+
* The body is empty and required: a bodyless cookie-auth POST is forgeable
|
|
1059
|
+
* by a cross-site form, so the route demands JSON.
|
|
1060
|
+
*/
|
|
1061
|
+
async reconcileInstallation(wid, installationUuid) {
|
|
1062
|
+
return this.fetch(
|
|
1063
|
+
installationsPath(wid, installationUuid, "reconcile"),
|
|
1064
|
+
{ method: "POST", body: JSON.stringify({}) }
|
|
1065
|
+
);
|
|
1066
|
+
}
|
|
1067
|
+
/**
|
|
1068
|
+
* The settings a compiled theme declares, for labelling a Site item's slots
|
|
1069
|
+
* before any Site exists. 404 for an unknown slug and for `source-site`,
|
|
1070
|
+
* whose schema is a per-workspace build artifact rather than a catalog one.
|
|
1071
|
+
* Requires `sites:read`; no Bundle installation authority is needed.
|
|
1072
|
+
*/
|
|
1073
|
+
async getThemeSettingsSchema(wid, slug) {
|
|
1074
|
+
return this.fetch(
|
|
1075
|
+
`w/${encodeURIComponent(wid)}/themes/${encodeURIComponent(slug)}/settings-schema`
|
|
1076
|
+
);
|
|
1077
|
+
}
|
|
1078
|
+
};
|
|
1079
|
+
|
|
788
1080
|
// src/api/access-grants.ts
|
|
789
1081
|
var AccessGrantsApi = class extends BaseApiClient {
|
|
790
1082
|
/** List access grants received by the current member. */
|
|
@@ -917,7 +1209,6 @@ var AgentsApi = class extends BaseApiClient {
|
|
|
917
1209
|
if (options.search) params.append("search", options.search);
|
|
918
1210
|
if (options.includeArchived)
|
|
919
1211
|
params.append("includeArchived", options.includeArchived.toString());
|
|
920
|
-
if (options.owner) params.append("owner", options.owner);
|
|
921
1212
|
return this.fetch(
|
|
922
1213
|
`w/${wid}/agents${params.toString() ? `?${params.toString()}` : ""}`
|
|
923
1214
|
);
|
|
@@ -973,6 +1264,18 @@ var AIModelsApi = class extends BaseApiClient {
|
|
|
973
1264
|
const url = queryString ? `ai-models/chat?${queryString}` : "ai-models/chat";
|
|
974
1265
|
return this.fetch(url);
|
|
975
1266
|
}
|
|
1267
|
+
/**
|
|
1268
|
+
* Get the models a member may pick for the Workspace Manager, in display
|
|
1269
|
+
* order. Only models this deployment can serve are listed.
|
|
1270
|
+
*
|
|
1271
|
+
* `tokenMultiplier` is each model's input + output price per token relative
|
|
1272
|
+
* to `baselineModelId`; `defaultModelId` is what the Manager runs with no
|
|
1273
|
+
* pick. Send a pick on a Manager chat as `AppContext.managerModel` /
|
|
1274
|
+
* `managerReasoningEffort`.
|
|
1275
|
+
*/
|
|
1276
|
+
async getManagerModels() {
|
|
1277
|
+
return this.fetch("ai-models/manager");
|
|
1278
|
+
}
|
|
976
1279
|
/**
|
|
977
1280
|
* Get available realtime AI models
|
|
978
1281
|
*/
|
|
@@ -1424,6 +1727,19 @@ var AuthApi = class extends BaseApiClient {
|
|
|
1424
1727
|
body: JSON.stringify(request)
|
|
1425
1728
|
});
|
|
1426
1729
|
}
|
|
1730
|
+
/**
|
|
1731
|
+
* Mint a single-use, account-bound realtime login token (`gr_wst_`) with
|
|
1732
|
+
* this client's credential. Call once per realtime connect attempt; the
|
|
1733
|
+
* token is spent on first use and expires in seconds. Only the full browser
|
|
1734
|
+
* session may mint one — an API key is refused.
|
|
1735
|
+
*/
|
|
1736
|
+
async createRealtimeLoginToken() {
|
|
1737
|
+
return this.fetch("auth/realtime/ws-token", {
|
|
1738
|
+
method: "POST",
|
|
1739
|
+
// The route requires a JSON body (its CSRF barrier); it reads nothing from it.
|
|
1740
|
+
body: JSON.stringify({})
|
|
1741
|
+
});
|
|
1742
|
+
}
|
|
1427
1743
|
/** Get the organization and workspace mapping for a custom domain. */
|
|
1428
1744
|
async getDomainMapping(customDomain) {
|
|
1429
1745
|
return this.fetch(`s/mapping/${customDomain}`);
|
|
@@ -2083,6 +2399,26 @@ var ChatsApi = class extends BaseApiClient {
|
|
|
2083
2399
|
async getChat(wid, id) {
|
|
2084
2400
|
return this.fetch(`w/${wid}/chats/${id}`);
|
|
2085
2401
|
}
|
|
2402
|
+
/**
|
|
2403
|
+
* Get a single chat by UUID.
|
|
2404
|
+
*
|
|
2405
|
+
* The uuid-addressed twin of `getChat`: same access check (own chat,
|
|
2406
|
+
* otherwise `chats:read`), same body; a chat the caller may not read is a
|
|
2407
|
+
* 404. Activity events and org webhooks name a chat by `uuid` only.
|
|
2408
|
+
*/
|
|
2409
|
+
async getChatByUuid(wid, uuid) {
|
|
2410
|
+
return this.fetch(`w/${wid}/chats/by-uuid/${uuid}`);
|
|
2411
|
+
}
|
|
2412
|
+
async saveChatBrowserStorage(wid, chatId) {
|
|
2413
|
+
await this.fetchRaw(`w/${wid}/chats/${chatId}/browser/storage/save`, {
|
|
2414
|
+
method: "POST",
|
|
2415
|
+
keepalive: true,
|
|
2416
|
+
body: JSON.stringify({})
|
|
2417
|
+
});
|
|
2418
|
+
}
|
|
2419
|
+
async clearChatBrowserStorage(wid, chatId) {
|
|
2420
|
+
await this.fetchRaw(`w/${wid}/chats/${chatId}/browser/storage`, { method: "DELETE" });
|
|
2421
|
+
}
|
|
2086
2422
|
/**
|
|
2087
2423
|
* Get a short-lived, interactive AgentCore browser view for this Chat.
|
|
2088
2424
|
*
|
|
@@ -2689,10 +3025,18 @@ var DashboardsApi = class extends BaseApiClient {
|
|
|
2689
3025
|
`w/${wid}/dashboards/stats/channels${query ? `?${query}` : ""}`
|
|
2690
3026
|
);
|
|
2691
3027
|
}
|
|
2692
|
-
/**
|
|
2693
|
-
|
|
3028
|
+
/**
|
|
3029
|
+
* Assignment status rollup per root workflow.
|
|
3030
|
+
*
|
|
3031
|
+
* `hours` windows the rollup to runs STARTED within the last N hours.
|
|
3032
|
+
* Omit it (or pass null) for the all-time rollup.
|
|
3033
|
+
*/
|
|
3034
|
+
async getDashboardWorkflowAssignmentStats(wid, options) {
|
|
3035
|
+
const params = new URLSearchParams();
|
|
3036
|
+
if (options?.hours != null) params.append("hours", options.hours.toString());
|
|
3037
|
+
const query = params.toString();
|
|
2694
3038
|
return this.fetch(
|
|
2695
|
-
`w/${wid}/dashboards/stats/workflow-assignments`
|
|
3039
|
+
`w/${wid}/dashboards/stats/workflow-assignments${query ? `?${query}` : ""}`
|
|
2696
3040
|
);
|
|
2697
3041
|
}
|
|
2698
3042
|
/**
|
|
@@ -2834,6 +3178,26 @@ var DataTypesApi = class extends BaseApiClient {
|
|
|
2834
3178
|
`w/${wid}/data-types/${dataTypeId}/records${params?.toString() ? `?${params.toString()}` : ""}`
|
|
2835
3179
|
);
|
|
2836
3180
|
}
|
|
3181
|
+
/**
|
|
3182
|
+
* List an anonymous Form's submissions, newest first. Requires
|
|
3183
|
+
* `anonymous_submissions:read`. Submissions are immutable: there is no
|
|
3184
|
+
* update or delete method.
|
|
3185
|
+
*/
|
|
3186
|
+
async listAnonymousFormSubmissions(wid, dataTypeId, options) {
|
|
3187
|
+
const params = new URLSearchParams();
|
|
3188
|
+
if (options?.page) params.append("page", options.page.toString());
|
|
3189
|
+
if (options?.pageSize) params.append("page_size", options.pageSize.toString());
|
|
3190
|
+
const qs = params.toString();
|
|
3191
|
+
return this.fetch(
|
|
3192
|
+
`w/${wid}/data-types/${dataTypeId}/anonymous-submissions${qs ? `?${qs}` : ""}`
|
|
3193
|
+
);
|
|
3194
|
+
}
|
|
3195
|
+
/** Get one anonymous Form submission by its uuid. Requires `anonymous_submissions:read`. */
|
|
3196
|
+
async getAnonymousFormSubmission(wid, dataTypeId, submissionUuid) {
|
|
3197
|
+
return this.fetch(
|
|
3198
|
+
`w/${wid}/data-types/${dataTypeId}/anonymous-submissions/${encodeURIComponent(submissionUuid)}`
|
|
3199
|
+
);
|
|
3200
|
+
}
|
|
2837
3201
|
// Data-record filter APIs (saved Query IR predicates per form)
|
|
2838
3202
|
/** List saved data-record filters, optionally scoped to one DataType. */
|
|
2839
3203
|
async getDataRecordFilters(wid, options) {
|
|
@@ -2876,6 +3240,15 @@ var DataTypesApi = class extends BaseApiClient {
|
|
|
2876
3240
|
async getDataRecord(wid, recordId) {
|
|
2877
3241
|
return this.fetch(`w/${wid}/data-types/records/${recordId}`);
|
|
2878
3242
|
}
|
|
3243
|
+
/**
|
|
3244
|
+
* Get a single data record by UUID.
|
|
3245
|
+
*
|
|
3246
|
+
* The uuid-addressed twin of `getDataRecord`: same access check, same body.
|
|
3247
|
+
* Activity events and org webhooks name a record by `uuid` only.
|
|
3248
|
+
*/
|
|
3249
|
+
async getDataRecordByUuid(wid, uuid) {
|
|
3250
|
+
return this.fetch(`w/${wid}/data-types/records/by-uuid/${uuid}`);
|
|
3251
|
+
}
|
|
2879
3252
|
/** Create a new data record under the specified data type. */
|
|
2880
3253
|
async createDataRecord(wid, dataTypeId, record) {
|
|
2881
3254
|
return this.fetch(`w/${wid}/data-types/${dataTypeId}/records`, {
|
|
@@ -3420,20 +3793,6 @@ var EventsApi = class extends BaseApiClient {
|
|
|
3420
3793
|
body: JSON.stringify(request)
|
|
3421
3794
|
});
|
|
3422
3795
|
}
|
|
3423
|
-
/**
|
|
3424
|
-
* Preview which target-audience roles lack Workflow USE for the Workflows a
|
|
3425
|
-
* draft Routine would start. Non-persisting, non-blocking authoring assist —
|
|
3426
|
-
* returns warnings only (role/Workflow names + IDs; no Member data).
|
|
3427
|
-
*/
|
|
3428
|
-
async previewRoutineWorkflowAccess(wid, request) {
|
|
3429
|
-
return this.fetch(
|
|
3430
|
-
`w/${wid}/routines/preview-workflow-access`,
|
|
3431
|
-
{
|
|
3432
|
-
method: "POST",
|
|
3433
|
-
body: JSON.stringify(request)
|
|
3434
|
-
}
|
|
3435
|
-
);
|
|
3436
|
-
}
|
|
3437
3796
|
/**
|
|
3438
3797
|
* Preview what would stop a draft Routine placing its scheduled outbound
|
|
3439
3798
|
* calls — the Member voice opt-out, a missing member phone, or a
|
|
@@ -4139,6 +4498,19 @@ var FilesApi = class extends BaseApiClient {
|
|
|
4139
4498
|
if (folderId != null) params.append("folderId", String(folderId));
|
|
4140
4499
|
return this.fetch(`w/${wid}/files/resolve-path?${params.toString()}`);
|
|
4141
4500
|
}
|
|
4501
|
+
/**
|
|
4502
|
+
* Download one file's bytes via GET ``.../files/{id}/contents/{filename}``.
|
|
4503
|
+
*
|
|
4504
|
+
* Uses this client's base URL (FastAPI on the app, same-origin ``/api/v2``
|
|
4505
|
+
* on scoped site sessions) so the payload does not transit the Next.js
|
|
4506
|
+
* ``/api/w/.../files/...`` Lambda proxy, which 500s above the 6MB sync cap.
|
|
4507
|
+
*/
|
|
4508
|
+
async downloadFileContents(wid, id, filename) {
|
|
4509
|
+
const response = await this.fetchRaw(
|
|
4510
|
+
`w/${wid}/files/${id}/contents/${encodeURIComponent(filename)}`
|
|
4511
|
+
);
|
|
4512
|
+
return response.blob();
|
|
4513
|
+
}
|
|
4142
4514
|
/**
|
|
4143
4515
|
* Download the given files + folders (folders recursively) as a single ZIP.
|
|
4144
4516
|
* Returns the raw archive bytes for the caller to save.
|
|
@@ -4890,7 +5262,21 @@ function throwMemberImportError(errorBody, fallback) {
|
|
|
4890
5262
|
}
|
|
4891
5263
|
throw new Error(typeof detail === "string" ? detail : fallback);
|
|
4892
5264
|
}
|
|
5265
|
+
function memberImportUpload(file, roleId, options) {
|
|
5266
|
+
const body = new FormData();
|
|
5267
|
+
const filename = "name" in file && typeof file.name === "string" ? file.name : "members.csv";
|
|
5268
|
+
body.append("file", file, filename);
|
|
5269
|
+
if (options?.resolutions !== void 0) {
|
|
5270
|
+
body.append("resolutions", JSON.stringify(options.resolutions));
|
|
5271
|
+
}
|
|
5272
|
+
const params = new URLSearchParams({ new_member_role_id: String(roleId) });
|
|
5273
|
+
if (options?.autoPromoteUniqueContacts !== void 0) {
|
|
5274
|
+
params.set("auto_promote_unique_contacts", String(options.autoPromoteUniqueContacts));
|
|
5275
|
+
}
|
|
5276
|
+
return { body, params };
|
|
5277
|
+
}
|
|
4893
5278
|
var MembersApi = class extends BaseApiClient {
|
|
5279
|
+
memberImportPlans = /* @__PURE__ */ new WeakMap();
|
|
4894
5280
|
/** Get the currently authenticated member for a workspace. */
|
|
4895
5281
|
async getCurrentMember(wid) {
|
|
4896
5282
|
return this.fetch(`w/${wid}/me`);
|
|
@@ -4943,33 +5329,6 @@ var MembersApi = class extends BaseApiClient {
|
|
|
4943
5329
|
`w/${wid}/me/records?${params.toString()}`
|
|
4944
5330
|
);
|
|
4945
5331
|
}
|
|
4946
|
-
/**
|
|
4947
|
-
* Get all members owned by the current member in this workspace.
|
|
4948
|
-
* Returns the authenticated member plus any members they own (via owner_id).
|
|
4949
|
-
* Used by the member switcher to show available identities.
|
|
4950
|
-
*/
|
|
4951
|
-
async getOwnedMembers(wid) {
|
|
4952
|
-
return this.fetch(`w/${wid}/members/owned`);
|
|
4953
|
-
}
|
|
4954
|
-
/**
|
|
4955
|
-
* Switch to a different member identity owned by the current member.
|
|
4956
|
-
* Sets the actingAsMemberUuid cookie for subsequent requests.
|
|
4957
|
-
* Uses UUID (not ID) to prevent cross-workspace identity confusion.
|
|
4958
|
-
*/
|
|
4959
|
-
async switchMember(wid, memberUuid) {
|
|
4960
|
-
return this.fetch(`w/${wid}/members/switch`, {
|
|
4961
|
-
method: "POST",
|
|
4962
|
-
body: JSON.stringify({ memberUuid })
|
|
4963
|
-
});
|
|
4964
|
-
}
|
|
4965
|
-
/**
|
|
4966
|
-
* Clear the member switch and return to the authenticated member.
|
|
4967
|
-
*/
|
|
4968
|
-
async clearMemberSwitch(wid) {
|
|
4969
|
-
return this.fetch(`w/${wid}/members/switch`, {
|
|
4970
|
-
method: "DELETE"
|
|
4971
|
-
});
|
|
4972
|
-
}
|
|
4973
5332
|
/** Update the currently authenticated member's profile. */
|
|
4974
5333
|
async updateCurrentMember(wid, member) {
|
|
4975
5334
|
return this.fetch(`w/${wid}/me`, {
|
|
@@ -5009,6 +5368,16 @@ var MembersApi = class extends BaseApiClient {
|
|
|
5009
5368
|
async getWorkspaceMember(wid, memberId) {
|
|
5010
5369
|
return this.fetch(`w/${wid}/members/${memberId}`);
|
|
5011
5370
|
}
|
|
5371
|
+
/**
|
|
5372
|
+
* Get a single workspace member by UUID.
|
|
5373
|
+
*
|
|
5374
|
+
* The uuid-addressed twin of `getWorkspaceMember`: same access check (self,
|
|
5375
|
+
* otherwise `members:read`), same body. Activity events and org webhooks
|
|
5376
|
+
* name a member by `uuid` only.
|
|
5377
|
+
*/
|
|
5378
|
+
async getMemberByUuid(wid, uuid) {
|
|
5379
|
+
return this.fetch(`w/${wid}/members/by-uuid/${uuid}`);
|
|
5380
|
+
}
|
|
5012
5381
|
/**
|
|
5013
5382
|
* Get one member of an org's workspace, under `org:read`.
|
|
5014
5383
|
*
|
|
@@ -5060,6 +5429,53 @@ var MembersApi = class extends BaseApiClient {
|
|
|
5060
5429
|
method: "POST"
|
|
5061
5430
|
});
|
|
5062
5431
|
}
|
|
5432
|
+
/**
|
|
5433
|
+
* Update a workspace member addressed by its external id.
|
|
5434
|
+
*
|
|
5435
|
+
* The external-id twin of `updateMember`: for an integrator that keys on its
|
|
5436
|
+
* own `externalId` and never stores our numeric member id. Same authorization
|
|
5437
|
+
* (`members:write`) and same body as `updateMember`.
|
|
5438
|
+
*/
|
|
5439
|
+
async updateMemberByExternalId(wid, externalId, data) {
|
|
5440
|
+
return this.fetch(
|
|
5441
|
+
`w/${wid}/members/by-external-id/${encodeURIComponent(externalId)}`,
|
|
5442
|
+
{
|
|
5443
|
+
method: "PUT",
|
|
5444
|
+
body: JSON.stringify(data)
|
|
5445
|
+
}
|
|
5446
|
+
);
|
|
5447
|
+
}
|
|
5448
|
+
/**
|
|
5449
|
+
* Archive a workspace member addressed by its external id.
|
|
5450
|
+
*
|
|
5451
|
+
* The external-id twin of `archiveMember`; same authorization
|
|
5452
|
+
* (`members:write` + `members:admin`) and same body.
|
|
5453
|
+
*/
|
|
5454
|
+
async archiveMemberByExternalId(wid, externalId) {
|
|
5455
|
+
return this.fetch(
|
|
5456
|
+
`w/${wid}/members/by-external-id/${encodeURIComponent(externalId)}/archive`,
|
|
5457
|
+
{
|
|
5458
|
+
method: "POST",
|
|
5459
|
+
// Required empty JSON body is the route's CSRF barrier (GRA-6284).
|
|
5460
|
+
body: JSON.stringify({})
|
|
5461
|
+
}
|
|
5462
|
+
);
|
|
5463
|
+
}
|
|
5464
|
+
/**
|
|
5465
|
+
* Unarchive a workspace member addressed by its external id.
|
|
5466
|
+
*
|
|
5467
|
+
* The external-id twin of `unarchiveMember`; same authorization and body.
|
|
5468
|
+
*/
|
|
5469
|
+
async unarchiveMemberByExternalId(wid, externalId) {
|
|
5470
|
+
return this.fetch(
|
|
5471
|
+
`w/${wid}/members/by-external-id/${encodeURIComponent(externalId)}/unarchive`,
|
|
5472
|
+
{
|
|
5473
|
+
method: "POST",
|
|
5474
|
+
// Required empty JSON body is the route's CSRF barrier (GRA-6284).
|
|
5475
|
+
body: JSON.stringify({})
|
|
5476
|
+
}
|
|
5477
|
+
);
|
|
5478
|
+
}
|
|
5063
5479
|
/**
|
|
5064
5480
|
* Send the member an SMS asking them to confirm their phone number. When they
|
|
5065
5481
|
* reply, a trusted phone auth binding is created so they can use SMS as
|
|
@@ -5201,16 +5617,13 @@ var MembersApi = class extends BaseApiClient {
|
|
|
5201
5617
|
* operator can decide whether to skip or explicitly overwrite before
|
|
5202
5618
|
* committing. Requires MEMBERS_ADMIN and is bulk-PHI audited server-side.
|
|
5203
5619
|
*/
|
|
5204
|
-
async previewImportMembers(wid, file, newMemberRoleId) {
|
|
5205
|
-
const
|
|
5206
|
-
formData.append("file", file);
|
|
5207
|
-
const params = new URLSearchParams();
|
|
5208
|
-
params.append("new_member_role_id", newMemberRoleId.toString());
|
|
5620
|
+
async previewImportMembers(wid, file, newMemberRoleId, options) {
|
|
5621
|
+
const { body, params } = memberImportUpload(file, newMemberRoleId, options);
|
|
5209
5622
|
const response = await this.fetchRaw(
|
|
5210
5623
|
`w/${wid}/members/import/preview?${params.toString()}`,
|
|
5211
5624
|
{
|
|
5212
5625
|
method: "POST",
|
|
5213
|
-
body
|
|
5626
|
+
body
|
|
5214
5627
|
},
|
|
5215
5628
|
[400, 413]
|
|
5216
5629
|
);
|
|
@@ -5218,7 +5631,19 @@ var MembersApi = class extends BaseApiClient {
|
|
|
5218
5631
|
const error = await response.json().catch(() => ({}));
|
|
5219
5632
|
throwMemberImportError(error, "Import preview failed");
|
|
5220
5633
|
}
|
|
5221
|
-
|
|
5634
|
+
const preview = await response.json();
|
|
5635
|
+
if (preview.previewPlanToken) {
|
|
5636
|
+
this.memberImportPlans.set(file, {
|
|
5637
|
+
wid,
|
|
5638
|
+
role: newMemberRoleId,
|
|
5639
|
+
autoPromote: options?.autoPromoteUniqueContacts ?? true,
|
|
5640
|
+
token: preview.previewPlanToken,
|
|
5641
|
+
cachedAt: Date.now()
|
|
5642
|
+
});
|
|
5643
|
+
} else {
|
|
5644
|
+
this.memberImportPlans.delete(file);
|
|
5645
|
+
}
|
|
5646
|
+
return preview;
|
|
5222
5647
|
}
|
|
5223
5648
|
/**
|
|
5224
5649
|
* Import members from a CSV file, streaming progress updates via callback.
|
|
@@ -5228,10 +5653,11 @@ var MembersApi = class extends BaseApiClient {
|
|
|
5228
5653
|
* Send 'overwrite_identity_fields' only after the operator confirms a preview.
|
|
5229
5654
|
*/
|
|
5230
5655
|
async importMembers(wid, file, newMemberRoleId, onProgress, options) {
|
|
5231
|
-
const
|
|
5232
|
-
|
|
5233
|
-
const
|
|
5234
|
-
|
|
5656
|
+
const { body, params } = memberImportUpload(file, newMemberRoleId, options);
|
|
5657
|
+
const cachedPlan = this.memberImportPlans.get(file);
|
|
5658
|
+
const autoPromote = options?.autoPromoteUniqueContacts ?? true;
|
|
5659
|
+
const previewPlanToken = options?.previewPlanToken ?? (cachedPlan?.wid === wid && cachedPlan.role === newMemberRoleId && cachedPlan.autoPromote === autoPromote && Date.now() - cachedPlan.cachedAt < 55 * 60 * 1e3 ? cachedPlan.token : (await this.previewImportMembers(wid, file, newMemberRoleId, options)).previewPlanToken);
|
|
5660
|
+
if (previewPlanToken) body.append("previewPlanToken", previewPlanToken);
|
|
5235
5661
|
if (options?.identityConflictPolicy) {
|
|
5236
5662
|
params.append("identity_conflict_policy", options.identityConflictPolicy);
|
|
5237
5663
|
}
|
|
@@ -5239,7 +5665,7 @@ var MembersApi = class extends BaseApiClient {
|
|
|
5239
5665
|
`w/${wid}/members/import?${params.toString()}`,
|
|
5240
5666
|
{
|
|
5241
5667
|
method: "POST",
|
|
5242
|
-
body
|
|
5668
|
+
body
|
|
5243
5669
|
},
|
|
5244
5670
|
[400, 413]
|
|
5245
5671
|
);
|
|
@@ -5247,34 +5673,48 @@ var MembersApi = class extends BaseApiClient {
|
|
|
5247
5673
|
const error = await response.json().catch(() => ({}));
|
|
5248
5674
|
throwMemberImportError(error, "Import failed");
|
|
5249
5675
|
}
|
|
5250
|
-
if (
|
|
5251
|
-
|
|
5252
|
-
|
|
5253
|
-
|
|
5676
|
+
if (!response.body) throw new Error("Member import response has no progress stream");
|
|
5677
|
+
const reader = response.body.getReader();
|
|
5678
|
+
const decoder = new TextDecoder();
|
|
5679
|
+
let buffer = "";
|
|
5680
|
+
let result;
|
|
5681
|
+
let hadError = false;
|
|
5682
|
+
const consume = (line) => {
|
|
5683
|
+
if (!line.trim()) return;
|
|
5684
|
+
let event;
|
|
5685
|
+
try {
|
|
5686
|
+
event = JSON.parse(line);
|
|
5687
|
+
} catch {
|
|
5688
|
+
throw new Error("Invalid member import progress event");
|
|
5689
|
+
}
|
|
5690
|
+
if (event.type === "complete") result = event;
|
|
5691
|
+
if (event.type === "error") hadError = true;
|
|
5692
|
+
onProgress?.(event);
|
|
5693
|
+
};
|
|
5694
|
+
try {
|
|
5254
5695
|
while (true) {
|
|
5255
5696
|
const { done, value } = await reader.read();
|
|
5256
5697
|
if (done) break;
|
|
5257
5698
|
buffer += decoder.decode(value, { stream: true });
|
|
5258
5699
|
const lines = buffer.split("\n");
|
|
5259
5700
|
buffer = lines.pop() ?? "";
|
|
5260
|
-
for (const line of lines)
|
|
5261
|
-
const trimmed = line.trim();
|
|
5262
|
-
if (!trimmed) continue;
|
|
5263
|
-
try {
|
|
5264
|
-
onProgress(JSON.parse(trimmed));
|
|
5265
|
-
} catch {
|
|
5266
|
-
}
|
|
5267
|
-
}
|
|
5268
|
-
}
|
|
5269
|
-
const tail = buffer.trim();
|
|
5270
|
-
if (tail) {
|
|
5271
|
-
try {
|
|
5272
|
-
onProgress(JSON.parse(tail));
|
|
5273
|
-
} catch {
|
|
5274
|
-
}
|
|
5701
|
+
for (const line of lines) consume(line);
|
|
5275
5702
|
}
|
|
5703
|
+
buffer += decoder.decode();
|
|
5704
|
+
consume(buffer);
|
|
5705
|
+
} catch (error) {
|
|
5706
|
+
await reader.cancel().catch(() => void 0);
|
|
5707
|
+
throw error;
|
|
5708
|
+
} finally {
|
|
5709
|
+
reader.releaseLock();
|
|
5710
|
+
}
|
|
5711
|
+
if (!result) {
|
|
5712
|
+
throw new Error("Member import ended before completion; inspect members before retrying");
|
|
5276
5713
|
}
|
|
5277
|
-
return {
|
|
5714
|
+
return {
|
|
5715
|
+
success: !hadError && (result.failed ?? 0) === 0 && (result.conflicted ?? 0) === 0,
|
|
5716
|
+
result
|
|
5717
|
+
};
|
|
5278
5718
|
}
|
|
5279
5719
|
/** Export members as a downloadable file with selected fields and data types. */
|
|
5280
5720
|
async exportMembers(wid, selectedFields, selectedDataTypes, memberType) {
|
|
@@ -5502,6 +5942,18 @@ var MembersApi = class extends BaseApiClient {
|
|
|
5502
5942
|
{ method: "DELETE" }
|
|
5503
5943
|
);
|
|
5504
5944
|
}
|
|
5945
|
+
async listContactPermissions(wid, params) {
|
|
5946
|
+
return this.fetch(`w/${wid}/contact-permissions/history`, {
|
|
5947
|
+
method: "POST",
|
|
5948
|
+
body: JSON.stringify(params)
|
|
5949
|
+
});
|
|
5950
|
+
}
|
|
5951
|
+
async createContactPermission(wid, body) {
|
|
5952
|
+
return this.fetch(`w/${wid}/contact-permissions`, {
|
|
5953
|
+
method: "POST",
|
|
5954
|
+
body: JSON.stringify(body)
|
|
5955
|
+
});
|
|
5956
|
+
}
|
|
5505
5957
|
};
|
|
5506
5958
|
|
|
5507
5959
|
// src/api/activity.ts
|
|
@@ -5918,6 +6370,21 @@ var MondayIntegrationApi = class extends BaseApiClient {
|
|
|
5918
6370
|
method: "POST"
|
|
5919
6371
|
});
|
|
5920
6372
|
}
|
|
6373
|
+
/**
|
|
6374
|
+
* Managed-rule execution history for this connection (`GET /sync/logs`):
|
|
6375
|
+
* the connection's managed EventRule executions, newest first, with the
|
|
6376
|
+
* shared cursor pagination. Requires `apps:read`; works while the
|
|
6377
|
+
* connection is parked for re-authorization.
|
|
6378
|
+
*/
|
|
6379
|
+
async getMondaySyncLogs(wid, params) {
|
|
6380
|
+
const query = new URLSearchParams();
|
|
6381
|
+
if (params?.pageSize) query.set("pageSize", String(params.pageSize));
|
|
6382
|
+
if (params?.cursor) query.set("cursor", params.cursor);
|
|
6383
|
+
const qs = query.toString() ? `?${query.toString()}` : "";
|
|
6384
|
+
return this.fetch(
|
|
6385
|
+
`w/${wid}/app-connections/monday/sync/logs${qs}`
|
|
6386
|
+
);
|
|
6387
|
+
}
|
|
5921
6388
|
};
|
|
5922
6389
|
|
|
5923
6390
|
// src/api/intervention-requests.ts
|
|
@@ -6075,6 +6542,10 @@ var OrgApi = class extends BaseApiClient {
|
|
|
6075
6542
|
async getCurrentOrgMember(orgIdOrUuid) {
|
|
6076
6543
|
return this.fetch(`o/${orgIdOrUuid}/me`);
|
|
6077
6544
|
}
|
|
6545
|
+
/** Bundles this organization owns — read-only catalog for `/o/{uuid}/library`. */
|
|
6546
|
+
async listOrgBundles(orgIdOrUuid) {
|
|
6547
|
+
return this.fetch(`o/${orgIdOrUuid}/bundles`);
|
|
6548
|
+
}
|
|
6078
6549
|
/**
|
|
6079
6550
|
* Update the settings an org admin owns: name, slug and contact details.
|
|
6080
6551
|
*
|
|
@@ -6116,6 +6587,12 @@ var OrgApi = class extends BaseApiClient {
|
|
|
6116
6587
|
* `subscriptionId` is the org-scoped row — never pick the customer's
|
|
6117
6588
|
* newest subscription from the list endpoint. One customer can bill many
|
|
6118
6589
|
* organizations.
|
|
6590
|
+
*
|
|
6591
|
+
* Returns the generated `OrgBillingCustomerResponse` — the contract the
|
|
6592
|
+
* route actually emits, `audiences` included. The hand-written mirror that
|
|
6593
|
+
* used to live here listed four fields and silently dropped `audiences`,
|
|
6594
|
+
* so callers could not see the commercial roles they hold (GRA-8792).
|
|
6595
|
+
* Regenerate the shape (`yarn generate:types`) rather than re-declaring it.
|
|
6119
6596
|
*/
|
|
6120
6597
|
async getOrgBillingCustomer(orgIdOrUuid) {
|
|
6121
6598
|
return this.fetch(`o/${orgIdOrUuid}/billing-customer`);
|
|
@@ -6152,7 +6629,10 @@ var OrgApi = class extends BaseApiClient {
|
|
|
6152
6629
|
return this.fetch(`o/${orgUuid}/members/check/${accountUuid}`);
|
|
6153
6630
|
}
|
|
6154
6631
|
/**
|
|
6155
|
-
* Update an organization member's role.
|
|
6632
|
+
* Update an organization member's role and/or org-level display name.
|
|
6633
|
+
*
|
|
6634
|
+
* `name` is the org's own label for the member (the OrgMember row and the
|
|
6635
|
+
* linked OrgAccount); it does not change the person's global Account name.
|
|
6156
6636
|
*/
|
|
6157
6637
|
async updateOrganizationMember(orgIdOrUuid, memberId, data) {
|
|
6158
6638
|
return this.fetch(`o/${orgIdOrUuid}/members/${memberId}`, {
|
|
@@ -6527,12 +7007,6 @@ var OrgApi = class extends BaseApiClient {
|
|
|
6527
7007
|
// ============================================================================
|
|
6528
7008
|
// Organization A2P Brand Registration API
|
|
6529
7009
|
// ============================================================================
|
|
6530
|
-
/**
|
|
6531
|
-
* Get the org's A2P brand registration status.
|
|
6532
|
-
*/
|
|
6533
|
-
async getA2PStatus(orgUuid) {
|
|
6534
|
-
return this.fetch(`o/${orgUuid}/phone-numbers/a2p/status`);
|
|
6535
|
-
}
|
|
6536
7010
|
/** Return fixed phone-number and outbound-messaging prices. */
|
|
6537
7011
|
async getPhoneBillingPricing(orgUuid) {
|
|
6538
7012
|
return this.fetch(`o/${orgUuid}/phone-numbers/pricing`);
|
|
@@ -6541,11 +7015,30 @@ var OrgApi = class extends BaseApiClient {
|
|
|
6541
7015
|
* Start A2P brand registration under a legal entity. `legalEntityUuid`
|
|
6542
7016
|
* is required — brands register per legal entity (Customer Profile);
|
|
6543
7017
|
* there is no primary-entity fallback.
|
|
7018
|
+
*
|
|
7019
|
+
* `soleProprietorMobile` is the proprietor's own mobile number, the one the
|
|
7020
|
+
* carrier sends the A2P one-time-password verification to. Required when the
|
|
7021
|
+
* entity's registration shape is a sole proprietorship (see
|
|
7022
|
+
* `LegalEntitySummaryResponse.requiredBrandType`); ignored otherwise.
|
|
7023
|
+
*
|
|
7024
|
+
* Three constraints belong to the customer, so the caller must state them:
|
|
7025
|
+
* it has to be a US or Canadian **mobile**, it cannot be a number acquired
|
|
7026
|
+
* from a CPaaS provider (so never one we provisioned — the carrier rejects
|
|
7027
|
+
* it), and the carrier allows it a lifetime maximum of three uses across all
|
|
7028
|
+
* A2P brand registrations, counting those made through other vendors.
|
|
7029
|
+
*
|
|
7030
|
+
* It is forwarded to the registration workflow to reach the carrier as an
|
|
7031
|
+
* EndUser attribute and is never stored on our side.
|
|
6544
7032
|
*/
|
|
6545
|
-
async startA2PRegistration(orgUuid, legalEntityUuid, brandName, brandUuid = null) {
|
|
7033
|
+
async startA2PRegistration(orgUuid, legalEntityUuid, brandName, brandUuid = null, soleProprietorMobile = null) {
|
|
6546
7034
|
return this.fetch(`o/${orgUuid}/phone-numbers/a2p/start`, {
|
|
6547
7035
|
method: "POST",
|
|
6548
|
-
body: JSON.stringify({
|
|
7036
|
+
body: JSON.stringify({
|
|
7037
|
+
legalEntityUuid,
|
|
7038
|
+
brandName,
|
|
7039
|
+
brandUuid,
|
|
7040
|
+
soleProprietorMobile
|
|
7041
|
+
})
|
|
6549
7042
|
});
|
|
6550
7043
|
}
|
|
6551
7044
|
/**
|
|
@@ -6573,6 +7066,25 @@ var OrgApi = class extends BaseApiClient {
|
|
|
6573
7066
|
}
|
|
6574
7067
|
);
|
|
6575
7068
|
}
|
|
7069
|
+
/**
|
|
7070
|
+
* Which legal entity's voice trust products (CNAM, SHAKEN/STIR, Voice
|
|
7071
|
+
* Integrity) each of the org's numbers carries, read live from Twilio.
|
|
7072
|
+
*/
|
|
7073
|
+
async getPhoneVoiceTrust(orgUuid) {
|
|
7074
|
+
return this.fetch(`o/${orgUuid}/phone-numbers/voice-trust`);
|
|
7075
|
+
}
|
|
7076
|
+
/**
|
|
7077
|
+
* Put a number on a legal entity's Customer Profile and approved voice
|
|
7078
|
+
* trust products, taking it off any other legal entity's first. The
|
|
7079
|
+
* entity's business profile must be approved (400 otherwise).
|
|
7080
|
+
*/
|
|
7081
|
+
async attachPhoneVoiceTrust(orgUuid, providerPhoneUuid, legalEntityUuid) {
|
|
7082
|
+
const body = { providerPhoneUuid, legalEntityUuid };
|
|
7083
|
+
return this.fetch(`o/${orgUuid}/phone-numbers/voice-trust/attach`, {
|
|
7084
|
+
method: "POST",
|
|
7085
|
+
body: JSON.stringify(body)
|
|
7086
|
+
});
|
|
7087
|
+
}
|
|
6576
7088
|
// ============================================================================
|
|
6577
7089
|
// Organization Business Profile API (Twilio Trust Hub Secondary CP)
|
|
6578
7090
|
// ============================================================================
|
|
@@ -6742,6 +7254,16 @@ var OrgApi = class extends BaseApiClient {
|
|
|
6742
7254
|
}
|
|
6743
7255
|
);
|
|
6744
7256
|
}
|
|
7257
|
+
/**
|
|
7258
|
+
* Resubmit a campaign the carrier rejected, with the brand's current
|
|
7259
|
+
* campaign copy. Edits the campaign in place, so no second vetting fee.
|
|
7260
|
+
*/
|
|
7261
|
+
async resubmitA2PCampaign(orgUuid, brandUuid) {
|
|
7262
|
+
return this.fetch(
|
|
7263
|
+
`o/${orgUuid}/a2p-brands/${brandUuid}/resubmit-campaign`,
|
|
7264
|
+
{ method: "POST" }
|
|
7265
|
+
);
|
|
7266
|
+
}
|
|
6745
7267
|
/**
|
|
6746
7268
|
* Published Sites across the org's workspaces that can be linked as this
|
|
6747
7269
|
* brand's enrollment (opt-in) surface. Org-authorized, so it works even when
|
|
@@ -6754,7 +7276,7 @@ var OrgApi = class extends BaseApiClient {
|
|
|
6754
7276
|
}
|
|
6755
7277
|
/**
|
|
6756
7278
|
* Link the brand to a published enrollment Site (sets `site_uuid`). Returns
|
|
6757
|
-
* the refreshed campaign config
|
|
7279
|
+
* the refreshed campaign config.
|
|
6758
7280
|
*/
|
|
6759
7281
|
async linkA2PEnrollmentSite(orgUuid, brandUuid, data) {
|
|
6760
7282
|
return this.fetch(
|
|
@@ -6767,9 +7289,9 @@ var OrgApi = class extends BaseApiClient {
|
|
|
6767
7289
|
}
|
|
6768
7290
|
/**
|
|
6769
7291
|
* Provision (or reuse) a patient-enrollment Site for the brand and link it —
|
|
6770
|
-
* the
|
|
6771
|
-
* only when the org has multiple
|
|
6772
|
-
*
|
|
7292
|
+
* the explicit counterpart to the automatic provisioning at brand
|
|
7293
|
+
* registration. `workspaceUuid` is required only when the org has multiple
|
|
7294
|
+
* workspaces. Returns the refreshed campaign config. Idempotent.
|
|
6773
7295
|
*/
|
|
6774
7296
|
async provisionA2PEnrollmentSite(orgUuid, brandUuid, data = {}) {
|
|
6775
7297
|
return this.fetch(
|
|
@@ -6788,34 +7310,42 @@ var OrgApi = class extends BaseApiClient {
|
|
|
6788
7310
|
);
|
|
6789
7311
|
}
|
|
6790
7312
|
/**
|
|
6791
|
-
*
|
|
6792
|
-
*
|
|
6793
|
-
*
|
|
6794
|
-
* to get a patient-ready link instead.
|
|
7313
|
+
* Stage one A2P opt-in evidence file: get a presigned POST to send the bytes
|
|
7314
|
+
* straight to storage. Nothing is recorded on the brand until
|
|
7315
|
+
* {@link registerA2PEvidenceUpload} reads the object back and normalizes it.
|
|
6795
7316
|
*/
|
|
6796
|
-
async
|
|
7317
|
+
async createA2PEvidenceUploadUrl(orgUuid, brandUuid, data) {
|
|
6797
7318
|
return this.fetch(
|
|
6798
|
-
`o/${orgUuid}/a2p-brands/${brandUuid}/
|
|
7319
|
+
`o/${orgUuid}/a2p-brands/${brandUuid}/evidence-attachments/upload-url`,
|
|
7320
|
+
{
|
|
7321
|
+
method: "POST",
|
|
7322
|
+
body: JSON.stringify(data)
|
|
7323
|
+
}
|
|
6799
7324
|
);
|
|
6800
7325
|
}
|
|
6801
7326
|
/**
|
|
6802
|
-
*
|
|
6803
|
-
*
|
|
6804
|
-
*
|
|
6805
|
-
* the member that `externalId` resolves to. `externalId` (the patient's
|
|
6806
|
-
* CRM/EHR identifier) travels in the request body, never the query string,
|
|
6807
|
-
* so it stays out of access logs. When it matches no member, the
|
|
6808
|
-
* credential-free template URL is returned rather than an error.
|
|
7327
|
+
* Normalize a staged evidence upload and record it on the brand. Returns the
|
|
7328
|
+
* refreshed campaign config, so the editor's evidence list updates without a
|
|
7329
|
+
* second round trip.
|
|
6809
7330
|
*/
|
|
6810
|
-
async
|
|
7331
|
+
async registerA2PEvidenceUpload(orgUuid, brandUuid, data) {
|
|
6811
7332
|
return this.fetch(
|
|
6812
|
-
`o/${orgUuid}/a2p-brands/${brandUuid}/
|
|
7333
|
+
`o/${orgUuid}/a2p-brands/${brandUuid}/evidence-attachments`,
|
|
6813
7334
|
{
|
|
6814
7335
|
method: "POST",
|
|
6815
|
-
body: JSON.stringify(
|
|
7336
|
+
body: JSON.stringify(data)
|
|
6816
7337
|
}
|
|
6817
7338
|
);
|
|
6818
7339
|
}
|
|
7340
|
+
/** Remove one uploaded evidence artifact. */
|
|
7341
|
+
async deleteA2PEvidenceUpload(orgUuid, brandUuid, attachmentUuid) {
|
|
7342
|
+
return this.fetch(
|
|
7343
|
+
`o/${orgUuid}/a2p-brands/${brandUuid}/evidence-attachments/${encodeURIComponent(
|
|
7344
|
+
attachmentUuid
|
|
7345
|
+
)}`,
|
|
7346
|
+
{ method: "DELETE" }
|
|
7347
|
+
);
|
|
7348
|
+
}
|
|
6819
7349
|
/**
|
|
6820
7350
|
* List available member roles for a workspace in the organization.
|
|
6821
7351
|
*/
|
|
@@ -6840,6 +7370,9 @@ var OrgApi = class extends BaseApiClient {
|
|
|
6840
7370
|
async listOrgWebhookEndpoints(orgIdOrUuid) {
|
|
6841
7371
|
return this.fetch(`o/${orgIdOrUuid}/webhooks`);
|
|
6842
7372
|
}
|
|
7373
|
+
async getOrgWebhookEndpoint(orgIdOrUuid, endpointUuid) {
|
|
7374
|
+
return this.fetch(`o/${orgIdOrUuid}/webhooks/${endpointUuid}`);
|
|
7375
|
+
}
|
|
6843
7376
|
/**
|
|
6844
7377
|
* The subscribable event-type vocabulary for the org UI's event-type
|
|
6845
7378
|
* picker — exactly what the create/update validators accept, so the UI
|
|
@@ -6898,6 +7431,39 @@ var OrgApi = class extends BaseApiClient {
|
|
|
6898
7431
|
}
|
|
6899
7432
|
);
|
|
6900
7433
|
}
|
|
7434
|
+
// =========================================================================
|
|
7435
|
+
// Organization API keys (GRA-9043)
|
|
7436
|
+
// =========================================================================
|
|
7437
|
+
/**
|
|
7438
|
+
* List every API key bound to this organization. Never carries the secret.
|
|
7439
|
+
*
|
|
7440
|
+
* Org-bound keys authenticate as an org-local principal, so one key reaches
|
|
7441
|
+
* every current workspace of the organization and every workspace created
|
|
7442
|
+
* later. Gated by `org:api_keys`, which `org:admin` holds transitively.
|
|
7443
|
+
*/
|
|
7444
|
+
async listOrgApiKeys(orgIdOrUuid) {
|
|
7445
|
+
return this.fetch(`o/${orgIdOrUuid}/api-keys`);
|
|
7446
|
+
}
|
|
7447
|
+
/**
|
|
7448
|
+
* Mint an org-bound API key.
|
|
7449
|
+
*
|
|
7450
|
+
* The payload is the same client-only {@link ApiKeyFormData} the workspace
|
|
7451
|
+
* and account routes take — `{name, expiresInDays, scopes}`, no workspace
|
|
7452
|
+
* id: the mint location is what binds the key. The response carries `key`,
|
|
7453
|
+
* the plaintext secret, which is readable exactly once.
|
|
7454
|
+
*/
|
|
7455
|
+
async createOrgApiKey(orgIdOrUuid, apiKey) {
|
|
7456
|
+
return this.fetch(`o/${orgIdOrUuid}/api-keys`, {
|
|
7457
|
+
method: "POST",
|
|
7458
|
+
body: JSON.stringify(apiKey)
|
|
7459
|
+
});
|
|
7460
|
+
}
|
|
7461
|
+
/** Revoke an org-bound API key by its id. */
|
|
7462
|
+
async revokeOrgApiKey(orgIdOrUuid, keyId) {
|
|
7463
|
+
return this.fetch(`o/${orgIdOrUuid}/api-keys/${keyId}`, {
|
|
7464
|
+
method: "DELETE"
|
|
7465
|
+
});
|
|
7466
|
+
}
|
|
6901
7467
|
};
|
|
6902
7468
|
function businessProfilePath(orgUuid, legalEntityUuid) {
|
|
6903
7469
|
return legalEntityUuid ? `o/${orgUuid}/legal-entities/${legalEntityUuid}/business-profile` : `o/${orgUuid}/business-profile`;
|
|
@@ -7532,6 +8098,14 @@ var QualificationsApi = class extends BaseApiClient {
|
|
|
7532
8098
|
});
|
|
7533
8099
|
}
|
|
7534
8100
|
// ===== Test chat runs =====
|
|
8101
|
+
/**
|
|
8102
|
+
* List a Workflow's test chat runs, newest first (default 50, max 500).
|
|
8103
|
+
*
|
|
8104
|
+
* `workflowRevisionId` narrows to that revision before the limit applies.
|
|
8105
|
+
* `includeEarlierRevisions` widens the window to earlier published
|
|
8106
|
+
* revisions and runs whose revision was deleted, and requires
|
|
8107
|
+
* `workflowRevisionId`. Omitting both keeps the unfiltered list.
|
|
8108
|
+
*/
|
|
7535
8109
|
async listTestChatRuns(wid, workflowId, params) {
|
|
7536
8110
|
const query = new URLSearchParams();
|
|
7537
8111
|
if (params?.scenarioId !== void 0) query.set("scenarioId", String(params.scenarioId));
|
|
@@ -7539,11 +8113,36 @@ var QualificationsApi = class extends BaseApiClient {
|
|
|
7539
8113
|
query.set("assistantChatModelId", params.assistantChatModelId);
|
|
7540
8114
|
}
|
|
7541
8115
|
if (params?.limit !== void 0) query.set("limit", String(params.limit));
|
|
8116
|
+
if (params?.workflowRevisionId !== void 0) {
|
|
8117
|
+
query.set("workflow_revision_id", String(params.workflowRevisionId));
|
|
8118
|
+
}
|
|
8119
|
+
if (params?.includeEarlierRevisions !== void 0) {
|
|
8120
|
+
query.set("include_earlier_revisions", String(params.includeEarlierRevisions));
|
|
8121
|
+
}
|
|
7542
8122
|
const qs = query.toString() ? `?${query.toString()}` : "";
|
|
7543
8123
|
return this.fetch(
|
|
7544
8124
|
`w/${wid}/qualifications/workflows/${workflowId}/test-chat-runs${qs}`
|
|
7545
8125
|
);
|
|
7546
8126
|
}
|
|
8127
|
+
/**
|
|
8128
|
+
* Exact scenario health for one revision of a Workflow: every active
|
|
8129
|
+
* scenario's server-decided state, caption, counts and per-revision pass
|
|
8130
|
+
* rates, plus the board headline. Scenarios arrive in board order.
|
|
8131
|
+
*
|
|
8132
|
+
* Omit `workflowRevisionId` for the server's current revision (the newest
|
|
8133
|
+
* with runs, the Draft counting as newest); the response names the
|
|
8134
|
+
* revision it describes and whether it is the current one.
|
|
8135
|
+
*/
|
|
8136
|
+
async listScenarioHealthSummaries(wid, workflowId, params) {
|
|
8137
|
+
const query = new URLSearchParams();
|
|
8138
|
+
if (params?.workflowRevisionId !== void 0) {
|
|
8139
|
+
query.set("workflow_revision_id", String(params.workflowRevisionId));
|
|
8140
|
+
}
|
|
8141
|
+
const qs = query.toString() ? `?${query.toString()}` : "";
|
|
8142
|
+
return this.fetch(
|
|
8143
|
+
`w/${wid}/qualifications/workflows/${workflowId}/scenario-health-summaries${qs}`
|
|
8144
|
+
);
|
|
8145
|
+
}
|
|
7547
8146
|
async getTestChatRun(wid, runId) {
|
|
7548
8147
|
return this.fetch(`w/${wid}/qualifications/test-chat-runs/${runId}`);
|
|
7549
8148
|
}
|
|
@@ -7639,6 +8238,96 @@ var ReportsApi = class extends BaseApiClient {
|
|
|
7639
8238
|
}
|
|
7640
8239
|
};
|
|
7641
8240
|
|
|
8241
|
+
// src/types/generated/communication.ts
|
|
8242
|
+
var RoutingActionType = {
|
|
8243
|
+
answer_ai: "answer_ai",
|
|
8244
|
+
answer_human: "answer_human",
|
|
8245
|
+
answer_owner: "answer_owner",
|
|
8246
|
+
voicemail: "voicemail",
|
|
8247
|
+
play_message: "play_message",
|
|
8248
|
+
ignore: "ignore",
|
|
8249
|
+
signup: "signup"
|
|
8250
|
+
};
|
|
8251
|
+
var RoutingAudience = {
|
|
8252
|
+
anyone: "anyone",
|
|
8253
|
+
anonymous: "anonymous",
|
|
8254
|
+
members: "members"
|
|
8255
|
+
};
|
|
8256
|
+
var RoutingChannel = {
|
|
8257
|
+
pstn: "pstn",
|
|
8258
|
+
messaging: "messaging",
|
|
8259
|
+
email: "email"
|
|
8260
|
+
};
|
|
8261
|
+
var RoutingTimeWindow = {
|
|
8262
|
+
always: "always",
|
|
8263
|
+
business_hours: "business_hours",
|
|
8264
|
+
non_business_hours: "non_business_hours",
|
|
8265
|
+
custom: "custom"
|
|
8266
|
+
};
|
|
8267
|
+
|
|
8268
|
+
// src/api/routing-rules.ts
|
|
8269
|
+
function appendFilters(params, filters) {
|
|
8270
|
+
if (!filters) return;
|
|
8271
|
+
if (filters.channel !== void 0) params.set("channel", filters.channel);
|
|
8272
|
+
if (filters.phoneNumberId !== void 0)
|
|
8273
|
+
params.set("phoneNumberId", String(filters.phoneNumberId));
|
|
8274
|
+
if (filters.inboxId !== void 0) params.set("inboxId", String(filters.inboxId));
|
|
8275
|
+
if (filters.page !== void 0) params.set("page", String(filters.page));
|
|
8276
|
+
if (filters.pageSize !== void 0) params.set("pageSize", String(filters.pageSize));
|
|
8277
|
+
}
|
|
8278
|
+
var RoutingRulesApi = class extends BaseApiClient {
|
|
8279
|
+
/** List one endpoint's rules. Requires the rule's endpoint read permission (`phones:read`, or `inboxes:read`). */
|
|
8280
|
+
async getRoutingRules(wid, filters) {
|
|
8281
|
+
const params = new URLSearchParams();
|
|
8282
|
+
appendFilters(params, filters);
|
|
8283
|
+
const query = params.toString();
|
|
8284
|
+
return this.fetch(
|
|
8285
|
+
`w/${wid}/routing${query ? `?${query}` : ""}`
|
|
8286
|
+
);
|
|
8287
|
+
}
|
|
8288
|
+
/** Read one rule. Requires the rule's endpoint read permission (`phones:read`, or `inboxes:read`). */
|
|
8289
|
+
async getRoutingRule(wid, ruleUuid) {
|
|
8290
|
+
return this.fetch(`w/${wid}/routing/${ruleUuid}`);
|
|
8291
|
+
}
|
|
8292
|
+
/** Create a rule. Requires the rule's endpoint write permission (`phones:write`, or `inboxes:write`). */
|
|
8293
|
+
async createRoutingRule(wid, data) {
|
|
8294
|
+
return this.fetch(`w/${wid}/routing`, {
|
|
8295
|
+
method: "POST",
|
|
8296
|
+
body: JSON.stringify(data)
|
|
8297
|
+
});
|
|
8298
|
+
}
|
|
8299
|
+
/** Update a rule. Requires the rule's endpoint write permission (`phones:write`, or `inboxes:write`). */
|
|
8300
|
+
async updateRoutingRule(wid, ruleUuid, data) {
|
|
8301
|
+
return this.fetch(`w/${wid}/routing/${ruleUuid}`, {
|
|
8302
|
+
method: "PATCH",
|
|
8303
|
+
body: JSON.stringify(data)
|
|
8304
|
+
});
|
|
8305
|
+
}
|
|
8306
|
+
/** Hard-delete a rule. Requires the rule's endpoint write permission (`phones:write`, or `inboxes:write`); the server audits deletion. */
|
|
8307
|
+
async deleteRoutingRule(wid, ruleUuid) {
|
|
8308
|
+
return this.fetch(`w/${wid}/routing/${ruleUuid}`, {
|
|
8309
|
+
method: "DELETE"
|
|
8310
|
+
});
|
|
8311
|
+
}
|
|
8312
|
+
/** Atomically reorder one endpoint/channel scope. Requires the rule's endpoint write permission (`phones:write`, or `inboxes:write`). */
|
|
8313
|
+
async reorderRoutingRules(wid, ruleUuids) {
|
|
8314
|
+
return this.fetch(`w/${wid}/routing/reorder`, {
|
|
8315
|
+
method: "POST",
|
|
8316
|
+
body: JSON.stringify({ ruleUuids })
|
|
8317
|
+
});
|
|
8318
|
+
}
|
|
8319
|
+
/**
|
|
8320
|
+
* Dry-run rule evaluation without placing or sending anything. Requires
|
|
8321
|
+
* the rule's endpoint read permission (`phones:read`, or `inboxes:read`); previewing a named Member also requires `members:read`.
|
|
8322
|
+
*/
|
|
8323
|
+
async previewRoutingRule(wid, data) {
|
|
8324
|
+
return this.fetch(`w/${wid}/routing/preview`, {
|
|
8325
|
+
method: "POST",
|
|
8326
|
+
body: JSON.stringify(data)
|
|
8327
|
+
});
|
|
8328
|
+
}
|
|
8329
|
+
};
|
|
8330
|
+
|
|
7642
8331
|
// src/api/salesforce.ts
|
|
7643
8332
|
var SalesforceApi = class extends BaseApiClient {
|
|
7644
8333
|
/**
|
|
@@ -7719,6 +8408,20 @@ var SalesforceApi = class extends BaseApiClient {
|
|
|
7719
8408
|
body: JSON.stringify(data)
|
|
7720
8409
|
});
|
|
7721
8410
|
}
|
|
8411
|
+
/**
|
|
8412
|
+
* Start a durable run that links unlinked members by Salesforce Id / email
|
|
8413
|
+
* and hydrates them. One run per connection; a second start while one is
|
|
8414
|
+
* in flight is 409.
|
|
8415
|
+
*/
|
|
8416
|
+
async linkUnlinkedSalesforceMembersByIdentity(wid) {
|
|
8417
|
+
return this.fetch(
|
|
8418
|
+
`w/${wid}/app-connections/salesforce/reconciliation/link-unlinked-by-identity`,
|
|
8419
|
+
{
|
|
8420
|
+
method: "POST",
|
|
8421
|
+
body: JSON.stringify({})
|
|
8422
|
+
}
|
|
8423
|
+
);
|
|
8424
|
+
}
|
|
7722
8425
|
async unlinkMemberFromSalesforce(wid, memberId) {
|
|
7723
8426
|
return this.fetch(`w/${wid}/app-connections/salesforce/reconciliation/unlink/${memberId}`, {
|
|
7724
8427
|
method: "DELETE"
|
|
@@ -7800,6 +8503,21 @@ var SalesforceApi = class extends BaseApiClient {
|
|
|
7800
8503
|
}
|
|
7801
8504
|
);
|
|
7802
8505
|
}
|
|
8506
|
+
/**
|
|
8507
|
+
* Managed-rule execution history for this connection (`GET /sync/logs`):
|
|
8508
|
+
* the connection's managed EventRule executions, newest first, with the
|
|
8509
|
+
* shared cursor pagination. Requires `apps:read`; works while the
|
|
8510
|
+
* connection is parked for re-authorization.
|
|
8511
|
+
*/
|
|
8512
|
+
async getSalesforceSyncLogs(wid, params) {
|
|
8513
|
+
const query = new URLSearchParams();
|
|
8514
|
+
if (params?.pageSize) query.set("pageSize", String(params.pageSize));
|
|
8515
|
+
if (params?.cursor) query.set("cursor", params.cursor);
|
|
8516
|
+
const qs = query.toString() ? `?${query.toString()}` : "";
|
|
8517
|
+
return this.fetch(
|
|
8518
|
+
`w/${wid}/app-connections/salesforce/sync/logs${qs}`
|
|
8519
|
+
);
|
|
8520
|
+
}
|
|
7803
8521
|
};
|
|
7804
8522
|
|
|
7805
8523
|
// src/api/connection-sync.ts
|
|
@@ -7990,12 +8708,19 @@ var HubspotApi = class extends BaseApiClient {
|
|
|
7990
8708
|
async getHubspotManagedRules(wid) {
|
|
7991
8709
|
return this.fetch(`w/${wid}/app-connections/hubspot/managed-rules`);
|
|
7992
8710
|
}
|
|
8711
|
+
/**
|
|
8712
|
+
* Managed-rule execution history for this connection (`GET /sync/logs`).
|
|
8713
|
+
* Rows are the shared rule-execution response (the same shape the Salesforce
|
|
8714
|
+
* and Monday twins return), with cursor pagination.
|
|
8715
|
+
*/
|
|
7993
8716
|
async getHubspotSyncLogs(wid, params) {
|
|
7994
8717
|
const query = new URLSearchParams();
|
|
7995
8718
|
if (params?.pageSize) query.set("pageSize", String(params.pageSize));
|
|
7996
8719
|
if (params?.cursor) query.set("cursor", params.cursor);
|
|
7997
8720
|
const qs = query.toString() ? `?${query.toString()}` : "";
|
|
7998
|
-
return this.fetch(
|
|
8721
|
+
return this.fetch(
|
|
8722
|
+
`w/${wid}/app-connections/hubspot/sync/logs${qs}`
|
|
8723
|
+
);
|
|
7999
8724
|
}
|
|
8000
8725
|
async getHubspotTransformPresets(wid) {
|
|
8001
8726
|
return this.fetch(
|
|
@@ -8994,6 +9719,33 @@ var JourneysApi = class extends BaseApiClient {
|
|
|
8994
9719
|
body: JSON.stringify(data)
|
|
8995
9720
|
});
|
|
8996
9721
|
}
|
|
9722
|
+
/**
|
|
9723
|
+
* Discard a saved editor draft, keeping the runnable definition.
|
|
9724
|
+
*
|
|
9725
|
+
* Body-less: a DELETE carries no document, only the resource to remove and
|
|
9726
|
+
* `expectedUpdatedAt` — the Journey's `updatedAt` as the caller loaded it —
|
|
9727
|
+
* proving they are removing the draft they were looking at. Encoded through
|
|
9728
|
+
* `URLSearchParams` because an ISO timestamp with a positive UTC offset
|
|
9729
|
+
* contains a `+`, which a raw template string would deliver to the server as
|
|
9730
|
+
* a space and turn into a revision conflict nobody can explain.
|
|
9731
|
+
*
|
|
9732
|
+
* Returns the AUTHORING projection (`Journey`) with `authoringDraft: null`
|
|
9733
|
+
* and the advanced `updatedAt`, so the caller can re-derive from the stored
|
|
9734
|
+
* definition without a second read.
|
|
9735
|
+
*
|
|
9736
|
+
* Refusals match the PUT's vocabulary: `journey_v2_definition_conflict`
|
|
9737
|
+
* (someone saved first — nothing was removed),
|
|
9738
|
+
* `journey_v2_structural_edit_not_allowed` (the Journey is live or archived)
|
|
9739
|
+
* and `journey_v2_execution_model_mismatch` (it is legacy). A Journey that
|
|
9740
|
+
* has no saved draft is a success, not an error — the state the caller asked
|
|
9741
|
+
* for is the state it is in.
|
|
9742
|
+
*/
|
|
9743
|
+
async deleteJourneyDraft(wid, journeyId, expectedUpdatedAt) {
|
|
9744
|
+
const query = new URLSearchParams({ expectedUpdatedAt });
|
|
9745
|
+
return this.fetch(`w/${wid}/journeys/${journeyId}/draft?${query.toString()}`, {
|
|
9746
|
+
method: "DELETE"
|
|
9747
|
+
});
|
|
9748
|
+
}
|
|
8997
9749
|
/**
|
|
8998
9750
|
* List journeys, optionally including archived, paginated.
|
|
8999
9751
|
*
|
|
@@ -9491,11 +10243,6 @@ var WorkflowsApi = class extends BaseApiClient {
|
|
|
9491
10243
|
`w/${wid}/workflows/${workflowId}/tasks/${taskId}/chats?${params.toString()}`
|
|
9492
10244
|
);
|
|
9493
10245
|
}
|
|
9494
|
-
async getWorkflowAccessValidation(wid, workflowId) {
|
|
9495
|
-
return this.fetch(
|
|
9496
|
-
`w/${wid}/workflows/${workflowId}/validate-access`
|
|
9497
|
-
);
|
|
9498
|
-
}
|
|
9499
10246
|
async getWorkflowConfigValidation(wid, workflowId) {
|
|
9500
10247
|
return this.fetch(
|
|
9501
10248
|
`w/${wid}/workflows/${workflowId}/validate-config`
|
|
@@ -9763,21 +10510,6 @@ function encodePermissions(permissions) {
|
|
|
9763
10510
|
if (permissions.delete) accessMode |= PERMISSION_DELETE;
|
|
9764
10511
|
return accessMode;
|
|
9765
10512
|
}
|
|
9766
|
-
var WORKFLOW_IMPLICIT_USE_SCOPE = "workflows:admin";
|
|
9767
|
-
function roleImplicitWorkflowUseScope(role) {
|
|
9768
|
-
return (role.grantedScopes ?? []).includes(WORKFLOW_IMPLICIT_USE_SCOPE) ? WORKFLOW_IMPLICIT_USE_SCOPE : null;
|
|
9769
|
-
}
|
|
9770
|
-
function roleWorkflowAccess(role, workflowId) {
|
|
9771
|
-
const viaScope = roleImplicitWorkflowUseScope(role);
|
|
9772
|
-
if (viaScope) {
|
|
9773
|
-
return { accessMode: PERMISSION_USE | PERMISSION_EDIT, viaScope };
|
|
9774
|
-
}
|
|
9775
|
-
const entry = (role.workflowAccess ?? []).find((wa) => wa.workflowId === workflowId);
|
|
9776
|
-
return { accessMode: entry?.accessMode ?? PERMISSION_NONE, viaScope: null };
|
|
9777
|
-
}
|
|
9778
|
-
function roleCanUseWorkflow(role, workflowId) {
|
|
9779
|
-
return (roleWorkflowAccess(role, workflowId).accessMode & PERMISSION_USE) !== 0;
|
|
9780
|
-
}
|
|
9781
10513
|
var Scope = /* @__PURE__ */ ((Scope2) => {
|
|
9782
10514
|
Scope2["WORKSPACE_READ"] = "workspace:read";
|
|
9783
10515
|
Scope2["WORKSPACE_WRITE"] = "workspace:write";
|
|
@@ -9846,6 +10578,7 @@ var Scope = /* @__PURE__ */ ((Scope2) => {
|
|
|
9846
10578
|
Scope2["LABELS_READ"] = "labels:read";
|
|
9847
10579
|
Scope2["LABELS_WRITE"] = "labels:write";
|
|
9848
10580
|
Scope2["ANALYTICS_READ"] = "analytics:read";
|
|
10581
|
+
Scope2["ANONYMOUS_SUBMISSIONS_READ"] = "anonymous_submissions:read";
|
|
9849
10582
|
Scope2["OPERATOR_READ"] = "operator:read";
|
|
9850
10583
|
Scope2["OPERATOR_WRITE"] = "operator:write";
|
|
9851
10584
|
Scope2["EXPORT_READ"] = "export:read";
|
|
@@ -9869,6 +10602,8 @@ var BulkMemberResultStatus = {
|
|
|
9869
10602
|
skipped: "skipped"
|
|
9870
10603
|
};
|
|
9871
10604
|
var MemberImportMatchInfoMatchType = {
|
|
10605
|
+
id: "id",
|
|
10606
|
+
uuid: "uuid",
|
|
9872
10607
|
external_id: "external_id",
|
|
9873
10608
|
email: "email",
|
|
9874
10609
|
phone: "phone",
|
|
@@ -9890,6 +10625,36 @@ var MergeMemberRolesRequestAccessStrategy = {
|
|
|
9890
10625
|
target_only: "target_only"
|
|
9891
10626
|
};
|
|
9892
10627
|
|
|
10628
|
+
// src/types/generated/member_contact_point.ts
|
|
10629
|
+
var CreateMemberContactPointRequestContactType = {
|
|
10630
|
+
phone: "phone",
|
|
10631
|
+
email: "email"
|
|
10632
|
+
};
|
|
10633
|
+
var CreateMemberContactPointRequestPurpose = {
|
|
10634
|
+
general: "general",
|
|
10635
|
+
notification: "notification",
|
|
10636
|
+
billing: "billing"
|
|
10637
|
+
};
|
|
10638
|
+
var CreateMemberContactPointRequestSharing = {
|
|
10639
|
+
shared: "shared",
|
|
10640
|
+
individual: "individual",
|
|
10641
|
+
unknown: "unknown"
|
|
10642
|
+
};
|
|
10643
|
+
var UpdateMemberContactPointRequestContactType = {
|
|
10644
|
+
phone: "phone",
|
|
10645
|
+
email: "email"
|
|
10646
|
+
};
|
|
10647
|
+
var UpdateMemberContactPointRequestPurpose = {
|
|
10648
|
+
general: "general",
|
|
10649
|
+
notification: "notification",
|
|
10650
|
+
billing: "billing"
|
|
10651
|
+
};
|
|
10652
|
+
var UpdateMemberContactPointRequestSharing = {
|
|
10653
|
+
shared: "shared",
|
|
10654
|
+
individual: "individual",
|
|
10655
|
+
unknown: "unknown"
|
|
10656
|
+
};
|
|
10657
|
+
|
|
9893
10658
|
// src/types/member-types.ts
|
|
9894
10659
|
var MemberType = /* @__PURE__ */ ((MemberType2) => {
|
|
9895
10660
|
MemberType2["ANONYMOUS"] = "anonymous";
|
|
@@ -9975,6 +10740,8 @@ var EventRuleEventType = /* @__PURE__ */ ((EventRuleEventType2) => {
|
|
|
9975
10740
|
EventRuleEventType2["DATA_RECORD_CHANGED"] = "data_record:changed";
|
|
9976
10741
|
EventRuleEventType2["CHAT_CREATED"] = "chat:created";
|
|
9977
10742
|
EventRuleEventType2["CHAT_SUMMARY"] = "chat:summary";
|
|
10743
|
+
EventRuleEventType2["MESSAGE_CREATED"] = "message:created";
|
|
10744
|
+
EventRuleEventType2["LINK_CLICKED"] = "link:clicked";
|
|
9978
10745
|
EventRuleEventType2["CHAT_CALLBACK"] = "chat:callback";
|
|
9979
10746
|
EventRuleEventType2["MEMBER_UPDATED"] = "member:updated";
|
|
9980
10747
|
EventRuleEventType2["ROUTINE_TRIGGERED"] = "routine:triggered";
|
|
@@ -10038,6 +10805,20 @@ function eventRuleActionParams(params) {
|
|
|
10038
10805
|
}
|
|
10039
10806
|
var MASKED_SECRET_SENTINEL = "__SECRET_SET__";
|
|
10040
10807
|
|
|
10808
|
+
// src/types/generated/credit_stop_service.ts
|
|
10809
|
+
var SendingNextStep = {
|
|
10810
|
+
add_credits: "add_credits",
|
|
10811
|
+
subscribe: "subscribe",
|
|
10812
|
+
contact_billing_owner: "contact_billing_owner"
|
|
10813
|
+
};
|
|
10814
|
+
var SendingStopState = {
|
|
10815
|
+
ok: "ok",
|
|
10816
|
+
credits_suspended: "credits_suspended",
|
|
10817
|
+
out_of_credits: "out_of_credits",
|
|
10818
|
+
operator_suspension: "operator_suspension",
|
|
10819
|
+
billing_unresolved: "billing_unresolved"
|
|
10820
|
+
};
|
|
10821
|
+
|
|
10041
10822
|
// src/types/billing-types.ts
|
|
10042
10823
|
var WorkspaceFeature = /* @__PURE__ */ ((WorkspaceFeature2) => {
|
|
10043
10824
|
WorkspaceFeature2["PHONE"] = "phone";
|
|
@@ -10053,7 +10834,6 @@ var WorkspaceFeature = /* @__PURE__ */ ((WorkspaceFeature2) => {
|
|
|
10053
10834
|
WorkspaceFeature2["WEB_SEARCH"] = "web_search";
|
|
10054
10835
|
WorkspaceFeature2["CALENDAR"] = "calendar";
|
|
10055
10836
|
WorkspaceFeature2["JOURNEY_V2_EDITOR"] = "journey_v2_editor";
|
|
10056
|
-
WorkspaceFeature2["EXPERIMENTS"] = "experiments";
|
|
10057
10837
|
WorkspaceFeature2["MAILBOX_USER_INPUT"] = "mailbox_user_input";
|
|
10058
10838
|
WorkspaceFeature2["FORKED_TRAJECTORIES"] = "forked_trajectories";
|
|
10059
10839
|
WorkspaceFeature2["GMAIL"] = "gmail";
|
|
@@ -10074,6 +10854,7 @@ var WorkspaceFeature = /* @__PURE__ */ ((WorkspaceFeature2) => {
|
|
|
10074
10854
|
WorkspaceFeature2["IMAGE_GENERATION"] = "image_generation";
|
|
10075
10855
|
WorkspaceFeature2["CHARLESTON_NEPHROLOGY_PMD_PAGING"] = "charleston_nephrology_pmd_paging";
|
|
10076
10856
|
WorkspaceFeature2["PATIENTSYNC_TRANSFER"] = "patientsync_transfer";
|
|
10857
|
+
WorkspaceFeature2["COSAN_PATHWAYS_SCHEDULING"] = "cosan_pathways_scheduling";
|
|
10077
10858
|
return WorkspaceFeature2;
|
|
10078
10859
|
})(WorkspaceFeature || {});
|
|
10079
10860
|
var MemberFeature = /* @__PURE__ */ ((MemberFeature2) => {
|
|
@@ -10184,6 +10965,7 @@ var IndexStatus = /* @__PURE__ */ ((IndexStatus2) => {
|
|
|
10184
10965
|
var DataTypeRecordScope = /* @__PURE__ */ ((DataTypeRecordScope2) => {
|
|
10185
10966
|
DataTypeRecordScope2["WORKSPACE"] = "workspace";
|
|
10186
10967
|
DataTypeRecordScope2["MEMBER"] = "member";
|
|
10968
|
+
DataTypeRecordScope2["ANONYMOUS"] = "anonymous";
|
|
10187
10969
|
return DataTypeRecordScope2;
|
|
10188
10970
|
})(DataTypeRecordScope || {});
|
|
10189
10971
|
var DataSensitivity = /* @__PURE__ */ ((DataSensitivity2) => {
|
|
@@ -10212,10 +10994,10 @@ var ModelProvider = {
|
|
|
10212
10994
|
google: "google",
|
|
10213
10995
|
anthropic: "anthropic",
|
|
10214
10996
|
aws: "aws",
|
|
10215
|
-
elevenlabs: "elevenlabs",
|
|
10216
10997
|
deepgram: "deepgram",
|
|
10217
10998
|
xai: "xai",
|
|
10218
10999
|
fireworks: "fireworks",
|
|
11000
|
+
vercel: "vercel",
|
|
10219
11001
|
custom: "custom"
|
|
10220
11002
|
};
|
|
10221
11003
|
var ModelType = {
|
|
@@ -10238,9 +11020,7 @@ var STT_MODEL_DEEPGRAM_FLUX = "deepgram:stt:flux-general-en";
|
|
|
10238
11020
|
var STT_MODEL_DEEPGRAM_FLUX_SELFHOST = "deepgram:stt:flux-general-en:selfhost";
|
|
10239
11021
|
var STT_MODEL_DEEPGRAM_FLUX_MULTI = "deepgram:stt:flux-general-multi";
|
|
10240
11022
|
var STT_MODEL_DEEPGRAM_FLUX_MULTI_SELFHOST = "deepgram:stt:flux-general-multi:selfhost";
|
|
10241
|
-
var
|
|
10242
|
-
var TTS_MODEL_ELEVENLABS_TURBO = "elevenlabs:tts:eleven_turbo_v2_5";
|
|
10243
|
-
var TTS_MODEL_ELEVENLABS_MULTILINGUAL = "elevenlabs:tts:eleven_multilingual_v2";
|
|
11023
|
+
var TTS_MODEL_XAI_V1 = "xai:tts:v1";
|
|
10244
11024
|
var TTS_MODEL_DEEPGRAM_AURA_2 = "deepgram:tts:aura-2";
|
|
10245
11025
|
var TTS_MODEL_AWS_POLLY_GENERATIVE = "aws:tts:polly-generative";
|
|
10246
11026
|
var TTS_MODEL_AWS_POLLY_NEURAL = "aws:tts:polly-neural";
|
|
@@ -10318,7 +11098,26 @@ var FhirClientType = /* @__PURE__ */ ((FhirClientType2) => {
|
|
|
10318
11098
|
return FhirClientType2;
|
|
10319
11099
|
})(FhirClientType || {});
|
|
10320
11100
|
|
|
11101
|
+
// src/types/app-connection-types.ts
|
|
11102
|
+
var CrmActivityKind = /* @__PURE__ */ ((CrmActivityKind2) => {
|
|
11103
|
+
CrmActivityKind2["MESSAGE"] = "message";
|
|
11104
|
+
CrmActivityKind2["SUMMARY"] = "summary";
|
|
11105
|
+
CrmActivityKind2["CHAT_STARTED"] = "chat_started";
|
|
11106
|
+
CrmActivityKind2["CALL_STARTED"] = "call_started";
|
|
11107
|
+
CrmActivityKind2["CALL_ENDED"] = "call_ended";
|
|
11108
|
+
return CrmActivityKind2;
|
|
11109
|
+
})(CrmActivityKind || {});
|
|
11110
|
+
|
|
10321
11111
|
// src/types/generated/qualification.ts
|
|
11112
|
+
var RunHealthCategory = {
|
|
11113
|
+
passed: "passed",
|
|
11114
|
+
failed: "failed",
|
|
11115
|
+
running: "running",
|
|
11116
|
+
not_applicable: "not_applicable",
|
|
11117
|
+
awaiting_evaluation: "awaiting_evaluation",
|
|
11118
|
+
ungradeable: "ungradeable",
|
|
11119
|
+
incomplete: "incomplete"
|
|
11120
|
+
};
|
|
10322
11121
|
var TestChatRunLane = {
|
|
10323
11122
|
text: "text",
|
|
10324
11123
|
web_realtime: "web_realtime",
|
|
@@ -10336,6 +11135,44 @@ var TestChatRunOutcome = {
|
|
|
10336
11135
|
instrument_failure: "instrument_failure"
|
|
10337
11136
|
};
|
|
10338
11137
|
|
|
11138
|
+
// src/types/generated/qualification_health_service.ts
|
|
11139
|
+
var ScenarioHealthCaption = {
|
|
11140
|
+
recent_passes: "recent_passes",
|
|
11141
|
+
pass_ratio: "pass_ratio",
|
|
11142
|
+
could_not_grade: "could_not_grade",
|
|
11143
|
+
awaiting_evaluation: "awaiting_evaluation",
|
|
11144
|
+
running: "running",
|
|
11145
|
+
not_run_since_test_change: "not_run_since_test_change",
|
|
11146
|
+
not_run_on_revision: "not_run_on_revision",
|
|
11147
|
+
never_run: "never_run"
|
|
11148
|
+
};
|
|
11149
|
+
var ScenarioHealthHeadline = {
|
|
11150
|
+
needs_attention: "needs_attention",
|
|
11151
|
+
no_results: "no_results",
|
|
11152
|
+
all_passing: "all_passing",
|
|
11153
|
+
no_scenarios: "no_scenarios"
|
|
11154
|
+
};
|
|
11155
|
+
var ScenarioHealthSampleNote = {
|
|
11156
|
+
low_sample: "low_sample"
|
|
11157
|
+
};
|
|
11158
|
+
var ScenarioHealthState = {
|
|
11159
|
+
failing: "failing",
|
|
11160
|
+
flaky: "flaky",
|
|
11161
|
+
no_results: "no_results",
|
|
11162
|
+
passing: "passing"
|
|
11163
|
+
};
|
|
11164
|
+
|
|
11165
|
+
// src/types/generated/qualification_health_summary.ts
|
|
11166
|
+
var RevisionHistorySegment = {
|
|
11167
|
+
before_test_change: "before_test_change"
|
|
11168
|
+
};
|
|
11169
|
+
|
|
11170
|
+
// src/types/generated/qualification_run_identity.ts
|
|
11171
|
+
var ScenarioRunBlocker = {
|
|
11172
|
+
missing_persona: "missing_persona",
|
|
11173
|
+
archived_persona: "archived_persona"
|
|
11174
|
+
};
|
|
11175
|
+
|
|
10339
11176
|
// src/types/qualification-types.ts
|
|
10340
11177
|
var CriterionType = /* @__PURE__ */ ((CriterionType2) => {
|
|
10341
11178
|
CriterionType2["EXPRESSION"] = "expression";
|
|
@@ -11297,17 +12134,17 @@ var WorkspacesApi = class extends BaseApiClient {
|
|
|
11297
12134
|
body: JSON.stringify(payload)
|
|
11298
12135
|
});
|
|
11299
12136
|
}
|
|
11300
|
-
/**
|
|
12137
|
+
/**
|
|
12138
|
+
* List available themes for a workspace.
|
|
12139
|
+
*
|
|
12140
|
+
* Read-only: `…/themes` serves GET and nothing else. `Workspace.themes` is
|
|
12141
|
+
* an entitlement allowlist — which non-global themes this workspace may
|
|
12142
|
+
* select. There was never a `PUT …/themes` route; the
|
|
12143
|
+
* `updateWorkspaceThemes` method that targeted one always 405'd (GRA-8892).
|
|
12144
|
+
*/
|
|
11301
12145
|
async getWorkspaceThemes(wid) {
|
|
11302
12146
|
return this.fetch(`w/${wid}/themes`);
|
|
11303
12147
|
}
|
|
11304
|
-
/** Update the active themes for a workspace. */
|
|
11305
|
-
async updateWorkspaceThemes(wid, themes) {
|
|
11306
|
-
return this.fetch(`w/${wid}/themes`, {
|
|
11307
|
-
method: "PUT",
|
|
11308
|
-
body: JSON.stringify({ themes })
|
|
11309
|
-
});
|
|
11310
|
-
}
|
|
11311
12148
|
/**
|
|
11312
12149
|
* Get all workspace-grantable scopes that can be assigned to member roles.
|
|
11313
12150
|
*
|
|
@@ -11336,6 +12173,55 @@ var WorkspacesApi = class extends BaseApiClient {
|
|
|
11336
12173
|
}
|
|
11337
12174
|
};
|
|
11338
12175
|
|
|
12176
|
+
// src/types/generated/bundle_contract.ts
|
|
12177
|
+
var BundleGrantRequestGranteeType = {
|
|
12178
|
+
organization: "organization",
|
|
12179
|
+
global: "global"
|
|
12180
|
+
};
|
|
12181
|
+
var FormBundleItemRecordScope = {
|
|
12182
|
+
member: "member",
|
|
12183
|
+
workspace: "workspace",
|
|
12184
|
+
anonymous: "anonymous"
|
|
12185
|
+
};
|
|
12186
|
+
var SolutionReleaseResponseSlug = {
|
|
12187
|
+
"member-enrollment": "member-enrollment",
|
|
12188
|
+
"member-reengagement": "member-reengagement",
|
|
12189
|
+
"treatment-adherence": "treatment-adherence",
|
|
12190
|
+
"heart-health": "heart-health",
|
|
12191
|
+
"recovery-checkins": "recovery-checkins",
|
|
12192
|
+
"care-coordination": "care-coordination"
|
|
12193
|
+
};
|
|
12194
|
+
|
|
12195
|
+
// src/types/generated/installation_contract.ts
|
|
12196
|
+
var InstallationItemChangeChange = {
|
|
12197
|
+
added: "added",
|
|
12198
|
+
removed: "removed",
|
|
12199
|
+
revisionChanged: "revisionChanged",
|
|
12200
|
+
definitionChanged: "definitionChanged",
|
|
12201
|
+
unchanged: "unchanged"
|
|
12202
|
+
};
|
|
12203
|
+
var ReferenceTargetInputKind = {
|
|
12204
|
+
file: "file",
|
|
12205
|
+
file_folder: "file_folder",
|
|
12206
|
+
image: "image",
|
|
12207
|
+
phone_number: "phone_number",
|
|
12208
|
+
member_role: "member_role",
|
|
12209
|
+
page: "page"
|
|
12210
|
+
};
|
|
12211
|
+
var ScalarTargetInputKind = {
|
|
12212
|
+
text: "text",
|
|
12213
|
+
textarea: "textarea",
|
|
12214
|
+
url: "url",
|
|
12215
|
+
color: "color",
|
|
12216
|
+
number: "number",
|
|
12217
|
+
boolean: "boolean",
|
|
12218
|
+
select: "select"
|
|
12219
|
+
};
|
|
12220
|
+
var SetInstallationPolicyRequestUpgradePolicy = {
|
|
12221
|
+
pinned: "pinned",
|
|
12222
|
+
auto: "auto"
|
|
12223
|
+
};
|
|
12224
|
+
|
|
11339
12225
|
// src/app-context.ts
|
|
11340
12226
|
function formatAppContextAsMarkdown(context) {
|
|
11341
12227
|
if (!context) {
|
|
@@ -11412,6 +12298,8 @@ function createApiModules(apiKey, baseUrl, customFetch) {
|
|
|
11412
12298
|
assignments: new AssignmentsApi(apiKey, baseUrl, customFetch),
|
|
11413
12299
|
auth: new AuthApi(apiKey, baseUrl, customFetch),
|
|
11414
12300
|
builders: new BuildersApi(apiKey, baseUrl, customFetch),
|
|
12301
|
+
bundles: new BundlesApi(apiKey, baseUrl, customFetch),
|
|
12302
|
+
installations: new InstallationsApi(apiKey, baseUrl, customFetch),
|
|
11415
12303
|
calendars: new CalendarsApi(apiKey, baseUrl, customFetch),
|
|
11416
12304
|
calls: new CallsApi(apiKey, baseUrl, customFetch),
|
|
11417
12305
|
cel: new CELApi(apiKey, baseUrl, customFetch),
|
|
@@ -11460,6 +12348,8 @@ function createApiModules(apiKey, baseUrl, customFetch) {
|
|
|
11460
12348
|
metrics: new MetricsApi(apiKey, baseUrl, customFetch),
|
|
11461
12349
|
queries: new QueriesApi(apiKey, baseUrl, customFetch),
|
|
11462
12350
|
reports: new ReportsApi(apiKey, baseUrl, customFetch),
|
|
12351
|
+
resourceWorkflows: new ResourceWorkflowsApi(apiKey, baseUrl, customFetch),
|
|
12352
|
+
routingRules: new RoutingRulesApi(apiKey, baseUrl, customFetch),
|
|
11463
12353
|
salesforce: new SalesforceApi(apiKey, baseUrl, customFetch),
|
|
11464
12354
|
sites: new SitesApi(apiKey, baseUrl, customFetch),
|
|
11465
12355
|
subscriptions: new SubscriptionsApi(apiKey, baseUrl, customFetch),
|
|
@@ -11489,6 +12379,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
11489
12379
|
"archiveDataType",
|
|
11490
12380
|
"archiveJourney",
|
|
11491
12381
|
"archiveMember",
|
|
12382
|
+
"archiveMemberByExternalId",
|
|
11492
12383
|
"archiveMemberRelationship",
|
|
11493
12384
|
"archivePersona",
|
|
11494
12385
|
"archivePhoneNumber",
|
|
@@ -11515,7 +12406,6 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
11515
12406
|
"checkSiteSlugAvailability",
|
|
11516
12407
|
"claimDevicePairing",
|
|
11517
12408
|
"clearConnectionMemberExclusion",
|
|
11518
|
-
"clearMemberSwitch",
|
|
11519
12409
|
"clearTrackedLinkDestinations",
|
|
11520
12410
|
"clickWorkspaceSupportRequestResource",
|
|
11521
12411
|
"cloneDataType",
|
|
@@ -11538,6 +12428,9 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
11538
12428
|
"createAgent",
|
|
11539
12429
|
"createApiKey",
|
|
11540
12430
|
"createAssignment",
|
|
12431
|
+
"bindInstallationSlots",
|
|
12432
|
+
"restoreInstallationForm",
|
|
12433
|
+
"createBundle",
|
|
11541
12434
|
"createCalendar",
|
|
11542
12435
|
"createCalendarEvent",
|
|
11543
12436
|
"createCalendarEventType",
|
|
@@ -11550,6 +12443,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
11550
12443
|
"createChatLabel",
|
|
11551
12444
|
"createClientWorkspace",
|
|
11552
12445
|
"createConnection",
|
|
12446
|
+
"createContactPermission",
|
|
11553
12447
|
"createCustomTool",
|
|
11554
12448
|
"createCustomToolkit",
|
|
11555
12449
|
"createDashboard",
|
|
@@ -11585,6 +12479,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
11585
12479
|
"createPhoneNumber",
|
|
11586
12480
|
"createProduct",
|
|
11587
12481
|
"createRoutine",
|
|
12482
|
+
"createRoutingRule",
|
|
11588
12483
|
"createScenario",
|
|
11589
12484
|
"createSignup",
|
|
11590
12485
|
"createSite",
|
|
@@ -11635,6 +12530,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
11635
12530
|
"deleteGoal",
|
|
11636
12531
|
"deleteHubspot",
|
|
11637
12532
|
"deleteInbox",
|
|
12533
|
+
"deleteJourneyDraft",
|
|
11638
12534
|
"deleteJourneyNote",
|
|
11639
12535
|
"deleteMcpServer",
|
|
11640
12536
|
"deleteMember",
|
|
@@ -11652,6 +12548,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
11652
12548
|
"deletePlatformApp",
|
|
11653
12549
|
"deleteProduct",
|
|
11654
12550
|
"deleteRoutine",
|
|
12551
|
+
"deleteRoutingRule",
|
|
11655
12552
|
"deleteSalesforce",
|
|
11656
12553
|
"deleteScenario",
|
|
11657
12554
|
"deleteSite",
|
|
@@ -11684,6 +12581,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
11684
12581
|
"dismissAllNotifications",
|
|
11685
12582
|
"dismissNotification",
|
|
11686
12583
|
"downloadEmailAttachment",
|
|
12584
|
+
"downloadFileContents",
|
|
11687
12585
|
"downloadFilesZip",
|
|
11688
12586
|
"downloadSiteSourceZip",
|
|
11689
12587
|
"editWorkflowRevisionAsDraft",
|
|
@@ -11746,6 +12644,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
11746
12644
|
"getAgentTasks",
|
|
11747
12645
|
"getAgents",
|
|
11748
12646
|
"getAnonymousResolution",
|
|
12647
|
+
"getAnonymousFormSubmission",
|
|
11749
12648
|
"getAnonymousResolutions",
|
|
11750
12649
|
"getApiKeys",
|
|
11751
12650
|
"getArchiveBlockers",
|
|
@@ -11759,6 +12658,12 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
11759
12658
|
"getAvailableActions",
|
|
11760
12659
|
"getAvailablePhoneNumbers",
|
|
11761
12660
|
"getAvailableSlots",
|
|
12661
|
+
"getInstallation",
|
|
12662
|
+
"getInstallationReadiness",
|
|
12663
|
+
"getThemeSettingsSchema",
|
|
12664
|
+
"getBundleDraft",
|
|
12665
|
+
"getBundle",
|
|
12666
|
+
"getBundleVersion",
|
|
11762
12667
|
"getBusinessHoursStatus",
|
|
11763
12668
|
"getCalendar",
|
|
11764
12669
|
"getCalendarEvent",
|
|
@@ -11771,8 +12676,11 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
11771
12676
|
"getCelContext",
|
|
11772
12677
|
"getCharlestonTestDeliveryRecipients",
|
|
11773
12678
|
"getChat",
|
|
12679
|
+
"getChatByUuid",
|
|
11774
12680
|
"getChatAssignmentTasks",
|
|
11775
12681
|
"getChatBrowserLiveView",
|
|
12682
|
+
"saveChatBrowserStorage",
|
|
12683
|
+
"clearChatBrowserStorage",
|
|
11776
12684
|
"getChatCallbacks",
|
|
11777
12685
|
"getChatEhrWritebackOutcomes",
|
|
11778
12686
|
"getChatEmails",
|
|
@@ -11818,6 +12726,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
11818
12726
|
"getDashboardWorkflowAssignmentStats",
|
|
11819
12727
|
"getDashboards",
|
|
11820
12728
|
"getDataRecord",
|
|
12729
|
+
"getDataRecordByUuid",
|
|
11821
12730
|
"getDataRecordChanges",
|
|
11822
12731
|
"getDataRecordFilter",
|
|
11823
12732
|
"getDataRecordFilterCount",
|
|
@@ -11935,6 +12844,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
11935
12844
|
"getMcpServerResources",
|
|
11936
12845
|
"getMcpServerTools",
|
|
11937
12846
|
"getMcpServers",
|
|
12847
|
+
"getMemberByUuid",
|
|
11938
12848
|
"getMemberExperiments",
|
|
11939
12849
|
"getMemberFieldDefinitions",
|
|
11940
12850
|
"getMemberFields",
|
|
@@ -11966,6 +12876,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
11966
12876
|
"getMondayConnectionStatus",
|
|
11967
12877
|
"getMondayReconciliationMatches",
|
|
11968
12878
|
"getMondaySyncConfig",
|
|
12879
|
+
"getMondaySyncLogs",
|
|
11969
12880
|
"getMyCredentials",
|
|
11970
12881
|
"getMyGivenGrants",
|
|
11971
12882
|
"getMyReceivedGrants",
|
|
@@ -11976,7 +12887,6 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
11976
12887
|
"getOperatorGroup",
|
|
11977
12888
|
"getOperatorGroups",
|
|
11978
12889
|
"getOrCreateQualificationForWorkflow",
|
|
11979
|
-
"getOwnedMembers",
|
|
11980
12890
|
"getPage",
|
|
11981
12891
|
"getPageBySlug",
|
|
11982
12892
|
"getPersona",
|
|
@@ -12006,11 +12916,14 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
12006
12916
|
"getRoutineConfigEvents",
|
|
12007
12917
|
"getRoutineRuns",
|
|
12008
12918
|
"getRoutines",
|
|
12919
|
+
"getRoutingRule",
|
|
12920
|
+
"getRoutingRules",
|
|
12009
12921
|
"getRuleExecutions",
|
|
12010
12922
|
"getSMSUsageReport",
|
|
12011
12923
|
"getSalesforceReconciliationMatches",
|
|
12012
12924
|
"getSalesforceStatus",
|
|
12013
12925
|
"getSalesforceSyncConfig",
|
|
12926
|
+
"getSalesforceSyncLogs",
|
|
12014
12927
|
"getScenario",
|
|
12015
12928
|
"getSite",
|
|
12016
12929
|
"getSiteByUuid",
|
|
@@ -12056,7 +12969,6 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
12056
12969
|
"getWebhookLogs",
|
|
12057
12970
|
"getWorkflow",
|
|
12058
12971
|
"getWorkflowOpeningTurnConversionReport",
|
|
12059
|
-
"getWorkflowAccessValidation",
|
|
12060
12972
|
"getWorkflowActivity",
|
|
12061
12973
|
"getWorkflowConfigValidation",
|
|
12062
12974
|
"getWorkflowFeedback",
|
|
@@ -12087,6 +12999,8 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
12087
12999
|
"getWorkspaceSubscriptions",
|
|
12088
13000
|
"getWorkspaceSupportRequest",
|
|
12089
13001
|
"getWorkspaceThemes",
|
|
13002
|
+
"installBundle",
|
|
13003
|
+
"grantBundle",
|
|
12090
13004
|
"importFromBoard",
|
|
12091
13005
|
"importHubspotMembers",
|
|
12092
13006
|
"importMembers",
|
|
@@ -12109,12 +13023,23 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
12109
13023
|
"linkMemberToMonday",
|
|
12110
13024
|
"linkMemberToSalesforce",
|
|
12111
13025
|
"linkPhoneNumber",
|
|
13026
|
+
"linkUnlinkedSalesforceMembersByIdentity",
|
|
12112
13027
|
"listAbilities",
|
|
13028
|
+
"listAnonymousFormSubmissions",
|
|
12113
13029
|
"listAppConnections",
|
|
12114
13030
|
"listAvailableAppConnections",
|
|
13031
|
+
"listInstallations",
|
|
13032
|
+
"listBundleGrants",
|
|
13033
|
+
"listBundleVersions",
|
|
13034
|
+
"listBundles",
|
|
13035
|
+
"listBundleWorkflowCandidates",
|
|
13036
|
+
"updateBundle",
|
|
13037
|
+
"listBundleInstallations",
|
|
12115
13038
|
"listConfluencePages",
|
|
12116
13039
|
"listConfluenceSpaces",
|
|
12117
13040
|
"listConnectionMemberFieldKeys",
|
|
13041
|
+
"listContactPermissions",
|
|
13042
|
+
"revokeBundleGrant",
|
|
12118
13043
|
"rollbackSiteSource",
|
|
12119
13044
|
"rotateDocumoFaxCredentials",
|
|
12120
13045
|
"runQuery",
|
|
@@ -12135,7 +13060,11 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
12135
13060
|
"getMetricSeries",
|
|
12136
13061
|
"computeChatMetrics",
|
|
12137
13062
|
"listPushSubscriptions",
|
|
13063
|
+
"listResourceWorkflows",
|
|
13064
|
+
"getResourceWorkflow",
|
|
13065
|
+
"getResourceWorkflowRevision",
|
|
12138
13066
|
"listSalesforceObjects",
|
|
13067
|
+
"listScenarioHealthSummaries",
|
|
12139
13068
|
"listScenarios",
|
|
12140
13069
|
"listTestChatRuns",
|
|
12141
13070
|
"listWidgetDomains",
|
|
@@ -12151,15 +13080,18 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
12151
13080
|
"previewRenameFieldSlug",
|
|
12152
13081
|
"previewImportWorkspace",
|
|
12153
13082
|
"previewInboxEmail",
|
|
13083
|
+
"preflightBundleInstallation",
|
|
12154
13084
|
"previewRoutineVoiceReadiness",
|
|
12155
|
-
"previewRoutineWorkflowAccess",
|
|
12156
13085
|
"previewSchedule",
|
|
13086
|
+
"previewRoutingRule",
|
|
12157
13087
|
"previewTTS",
|
|
12158
13088
|
"previewTemplate",
|
|
12159
13089
|
"previewThinkingSound",
|
|
12160
13090
|
"previewWorkspaceImport",
|
|
12161
13091
|
"previewWorkspaceImportZip",
|
|
12162
13092
|
"provisionClientWorkspace",
|
|
13093
|
+
"previewInstallationUpgrade",
|
|
13094
|
+
"publishBundle",
|
|
12163
13095
|
"publishWorkflowRevision",
|
|
12164
13096
|
"putJourneyDraft",
|
|
12165
13097
|
"putJourneyV2Definition",
|
|
@@ -12171,11 +13103,16 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
12171
13103
|
"registerPushSubscription",
|
|
12172
13104
|
"reindexFolder",
|
|
12173
13105
|
"releasePhoneNumber",
|
|
13106
|
+
"reorderRoutingRules",
|
|
12174
13107
|
"removeFileRole",
|
|
12175
13108
|
"removeFolderRole",
|
|
12176
13109
|
"removeGroupMember",
|
|
12177
13110
|
"reorderEventRules",
|
|
12178
13111
|
"reorderMenuItems",
|
|
13112
|
+
"reconcileInstallation",
|
|
13113
|
+
"setInstallationPolicy",
|
|
13114
|
+
"upgradeInstallation",
|
|
13115
|
+
"replaceBundleDraft",
|
|
12179
13116
|
"replyToEmail",
|
|
12180
13117
|
"rotateDocumoFaxCredentials",
|
|
12181
13118
|
"requestPhoneNumber",
|
|
@@ -12211,7 +13148,6 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
12211
13148
|
"startSyncRun",
|
|
12212
13149
|
"startTestChatRun",
|
|
12213
13150
|
"summarizeChat",
|
|
12214
|
-
"switchMember",
|
|
12215
13151
|
"syncCalendarWithGoogle",
|
|
12216
13152
|
"syncCalendarWithHealthie",
|
|
12217
13153
|
"testFhirConnection",
|
|
@@ -12224,6 +13160,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
12224
13160
|
"unarchiveChat",
|
|
12225
13161
|
"unarchiveDataType",
|
|
12226
13162
|
"unarchiveMember",
|
|
13163
|
+
"unarchiveMemberByExternalId",
|
|
12227
13164
|
"unarchivePersona",
|
|
12228
13165
|
"unarchiveStep",
|
|
12229
13166
|
"unarchiveTask",
|
|
@@ -12281,6 +13218,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
12281
13218
|
"updateJourneyNote",
|
|
12282
13219
|
"updateMcpServer",
|
|
12283
13220
|
"updateMember",
|
|
13221
|
+
"updateMemberByExternalId",
|
|
12284
13222
|
"updateMemberField",
|
|
12285
13223
|
"updateMemberFilter",
|
|
12286
13224
|
"updateMemberLabel",
|
|
@@ -12297,6 +13235,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
12297
13235
|
"updateProduct",
|
|
12298
13236
|
"updateProject",
|
|
12299
13237
|
"updateRoutine",
|
|
13238
|
+
"updateRoutingRule",
|
|
12300
13239
|
"updateSalesforceSyncConfig",
|
|
12301
13240
|
"resyncSalesforceLinkedMembers",
|
|
12302
13241
|
"updateScenario",
|
|
@@ -12319,7 +13258,6 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
12319
13258
|
"updateWorkspace",
|
|
12320
13259
|
"updateWorkspaceDefaults",
|
|
12321
13260
|
"updateWorkspaceInvitationAdmin",
|
|
12322
|
-
"updateWorkspaceThemes",
|
|
12323
13261
|
"upsertDataRecord",
|
|
12324
13262
|
"upsertWidgetDomain",
|
|
12325
13263
|
"validateCelExpression",
|
|
@@ -12410,6 +13348,9 @@ function bindChatsMethods(target, chats) {
|
|
|
12410
13348
|
target.transitionChatInteractionSession = chats.transitionChatInteractionSession.bind(chats);
|
|
12411
13349
|
target.getChats = chats.getChats.bind(chats);
|
|
12412
13350
|
target.getChat = chats.getChat.bind(chats);
|
|
13351
|
+
target.getChatByUuid = chats.getChatByUuid.bind(chats);
|
|
13352
|
+
target.saveChatBrowserStorage = chats.saveChatBrowserStorage.bind(chats);
|
|
13353
|
+
target.clearChatBrowserStorage = chats.clearChatBrowserStorage.bind(chats);
|
|
12413
13354
|
target.getChatBrowserLiveView = chats.getChatBrowserLiveView.bind(chats);
|
|
12414
13355
|
target.getChatMachineResources = chats.getChatMachineResources.bind(chats);
|
|
12415
13356
|
target.getCurrentSmsChat = chats.getCurrentSmsChat.bind(chats);
|
|
@@ -12546,7 +13487,10 @@ function bindDataTypesMethods(target, dataTypes) {
|
|
|
12546
13487
|
target.unarchiveDataType = dataTypes.unarchiveDataType.bind(dataTypes);
|
|
12547
13488
|
target.cloneDataType = dataTypes.cloneDataType.bind(dataTypes);
|
|
12548
13489
|
target.getDataRecords = dataTypes.getDataRecords.bind(dataTypes);
|
|
13490
|
+
target.listAnonymousFormSubmissions = dataTypes.listAnonymousFormSubmissions.bind(dataTypes);
|
|
13491
|
+
target.getAnonymousFormSubmission = dataTypes.getAnonymousFormSubmission.bind(dataTypes);
|
|
12549
13492
|
target.getDataRecord = dataTypes.getDataRecord.bind(dataTypes);
|
|
13493
|
+
target.getDataRecordByUuid = dataTypes.getDataRecordByUuid.bind(dataTypes);
|
|
12550
13494
|
target.createDataRecord = dataTypes.createDataRecord.bind(dataTypes);
|
|
12551
13495
|
target.updateDataRecord = dataTypes.updateDataRecord.bind(dataTypes);
|
|
12552
13496
|
target.deleteDataRecord = dataTypes.deleteDataRecord.bind(dataTypes);
|
|
@@ -12585,18 +13529,19 @@ function bindMembersMethods(target, members) {
|
|
|
12585
13529
|
target.previewMemberWorkflowVoice = members.previewMemberWorkflowVoice.bind(members);
|
|
12586
13530
|
target.setMemberWorkflowVoice = members.setMemberWorkflowVoice.bind(members);
|
|
12587
13531
|
target.clearMemberWorkflowVoice = members.clearMemberWorkflowVoice.bind(members);
|
|
12588
|
-
target.getOwnedMembers = members.getOwnedMembers.bind(members);
|
|
12589
|
-
target.switchMember = members.switchMember.bind(members);
|
|
12590
|
-
target.clearMemberSwitch = members.clearMemberSwitch.bind(members);
|
|
12591
13532
|
target.updateCurrentMember = members.updateCurrentMember.bind(members);
|
|
12592
13533
|
target.getWorkspaceMembers = members.getWorkspaceMembers.bind(members);
|
|
12593
13534
|
target.getWorkspaceMember = members.getWorkspaceMember.bind(members);
|
|
13535
|
+
target.getMemberByUuid = members.getMemberByUuid.bind(members);
|
|
12594
13536
|
target.getOrgWorkspaceMember = members.getOrgWorkspaceMember.bind(members);
|
|
12595
13537
|
target.createWorkspaceMember = members.createWorkspaceMember.bind(members);
|
|
12596
13538
|
target.updateMember = members.updateMember.bind(members);
|
|
12597
13539
|
target.deleteMember = members.deleteMember.bind(members);
|
|
12598
13540
|
target.archiveMember = members.archiveMember.bind(members);
|
|
12599
13541
|
target.unarchiveMember = members.unarchiveMember.bind(members);
|
|
13542
|
+
target.updateMemberByExternalId = members.updateMemberByExternalId.bind(members);
|
|
13543
|
+
target.archiveMemberByExternalId = members.archiveMemberByExternalId.bind(members);
|
|
13544
|
+
target.unarchiveMemberByExternalId = members.unarchiveMemberByExternalId.bind(members);
|
|
12600
13545
|
target.sendMemberPhoneConfirmation = members.sendMemberPhoneConfirmation.bind(members);
|
|
12601
13546
|
target.bulkCreateMembers = members.bulkCreateMembers.bind(members);
|
|
12602
13547
|
target.previewImportMembers = members.previewImportMembers.bind(members);
|
|
@@ -12643,6 +13588,8 @@ function bindMembersMethods(target, members) {
|
|
|
12643
13588
|
target.getMemberRelationships = members.getMemberRelationships.bind(members);
|
|
12644
13589
|
target.createMemberRelationship = members.createMemberRelationship.bind(members);
|
|
12645
13590
|
target.archiveMemberRelationship = members.archiveMemberRelationship.bind(members);
|
|
13591
|
+
target.listContactPermissions = members.listContactPermissions.bind(members);
|
|
13592
|
+
target.createContactPermission = members.createContactPermission.bind(members);
|
|
12646
13593
|
}
|
|
12647
13594
|
|
|
12648
13595
|
// src/client/bindings/workspaces.ts
|
|
@@ -12696,7 +13643,6 @@ function bindWorkspacesMethods(target, workspaces, signupRequests) {
|
|
|
12696
13643
|
target.rebuildImportSkippedRules = workspaces.rebuildImportSkippedRules.bind(workspaces);
|
|
12697
13644
|
target.previewImportWorkspace = workspaces.previewImportWorkspace.bind(workspaces);
|
|
12698
13645
|
target.getWorkspaceThemes = workspaces.getWorkspaceThemes.bind(workspaces);
|
|
12699
|
-
target.updateWorkspaceThemes = workspaces.updateWorkspaceThemes.bind(workspaces);
|
|
12700
13646
|
target.getWorkspaceBySlug = workspaces.getWorkspace.bind(workspaces);
|
|
12701
13647
|
target.getWorkspaceScopes = workspaces.getWorkspaceScopes.bind(workspaces);
|
|
12702
13648
|
target.getUsageDashboard = workspaces.getUsageDashboard.bind(workspaces);
|
|
@@ -12745,6 +13691,7 @@ function bindAuthMethods(target, auth, assignments) {
|
|
|
12745
13691
|
target.logout = auth.logout.bind(auth);
|
|
12746
13692
|
target.requestCrossDomainToken = auth.requestCrossDomainToken.bind(auth);
|
|
12747
13693
|
target.exchangeToken = auth.exchangeToken.bind(auth);
|
|
13694
|
+
target.createRealtimeLoginToken = auth.createRealtimeLoginToken.bind(auth);
|
|
12748
13695
|
target.getDomainMapping = auth.getDomainMapping.bind(auth);
|
|
12749
13696
|
target.createSignup = auth.createSignup.bind(auth);
|
|
12750
13697
|
target.createAccount = auth.emailPasswordSignup.bind(auth);
|
|
@@ -12834,6 +13781,7 @@ function bindSitesMethods(target, sites) {
|
|
|
12834
13781
|
function bindFilesMethods(target, files) {
|
|
12835
13782
|
target.getFiles = files.getFiles.bind(files);
|
|
12836
13783
|
target.getFile = files.getFile.bind(files);
|
|
13784
|
+
target.downloadFileContents = files.downloadFileContents.bind(files);
|
|
12837
13785
|
target.downloadFilesZip = files.downloadFilesZip.bind(files);
|
|
12838
13786
|
target.createFile = files.createFile.bind(files);
|
|
12839
13787
|
target.uploadFile = files.uploadFile.bind(files);
|
|
@@ -12906,7 +13854,6 @@ function bindEventsMethods(target, events) {
|
|
|
12906
13854
|
target.resetRoutineRuns = events.resetRoutineRuns.bind(events);
|
|
12907
13855
|
target.previewSchedule = events.previewSchedule.bind(events);
|
|
12908
13856
|
target.previewRoutineVoiceReadiness = events.previewRoutineVoiceReadiness.bind(events);
|
|
12909
|
-
target.previewRoutineWorkflowAccess = events.previewRoutineWorkflowAccess.bind(events);
|
|
12910
13857
|
}
|
|
12911
13858
|
|
|
12912
13859
|
// src/client/bindings/experiments.ts
|
|
@@ -12947,7 +13894,6 @@ function bindWorkflowsMethods(target, workflows, workflowNotes, voice, superviso
|
|
|
12947
13894
|
target.createWorkflowFromTemplate = workflows.createWorkflowFromTemplate.bind(workflows);
|
|
12948
13895
|
target.getWorkflowTaskAssignmentStats = workflows.getWorkflowTaskAssignmentStats.bind(workflows);
|
|
12949
13896
|
target.getTaskChats = workflows.getTaskChats.bind(workflows);
|
|
12950
|
-
target.getWorkflowAccessValidation = workflows.getWorkflowAccessValidation.bind(workflows);
|
|
12951
13897
|
target.getWorkflowConfigValidation = workflows.getWorkflowConfigValidation.bind(workflows);
|
|
12952
13898
|
target.getWorkflowNotes = workflowNotes.getWorkflowNotes.bind(workflowNotes);
|
|
12953
13899
|
target.createWorkflowNote = workflowNotes.createWorkflowNote.bind(workflowNotes);
|
|
@@ -13068,6 +14014,7 @@ function bindToolkitsMethods(target, toolkits, templates, aiModels, customToolki
|
|
|
13068
14014
|
target.previewTemplate = templates.previewTemplate.bind(templates);
|
|
13069
14015
|
target.getVariableRegistry = templates.getVariableRegistry.bind(templates);
|
|
13070
14016
|
target.getChatModels = aiModels.getChatModels.bind(aiModels);
|
|
14017
|
+
target.getManagerModels = aiModels.getManagerModels.bind(aiModels);
|
|
13071
14018
|
target.getRealtimeModels = aiModels.getRealtimeModels.bind(aiModels);
|
|
13072
14019
|
target.getSTTModels = aiModels.getSTTModels.bind(aiModels);
|
|
13073
14020
|
target.getTTSModels = aiModels.getTTSModels.bind(aiModels);
|
|
@@ -13181,6 +14128,7 @@ function bindIntegrationsMethods(target, mondayIntegration, discordBots, slackAp
|
|
|
13181
14128
|
target.getMondayConnectionBoardColumns = mondayIntegration.getMondayConnectionBoardColumns.bind(mondayIntegration);
|
|
13182
14129
|
target.getMondayConnectionBoardGroups = mondayIntegration.getMondayConnectionBoardGroups.bind(mondayIntegration);
|
|
13183
14130
|
target.getMondaySyncConfig = mondayIntegration.getMondaySyncConfig.bind(mondayIntegration);
|
|
14131
|
+
target.getMondaySyncLogs = mondayIntegration.getMondaySyncLogs.bind(mondayIntegration);
|
|
13184
14132
|
target.updateMondaySyncConfig = mondayIntegration.updateMondaySyncConfig.bind(mondayIntegration);
|
|
13185
14133
|
target.getLinkedMondayMembers = mondayIntegration.getLinkedMondayMembers.bind(mondayIntegration);
|
|
13186
14134
|
target.getMondayReconciliationMatches = mondayIntegration.getMondayReconciliationMatches.bind(mondayIntegration);
|
|
@@ -13295,10 +14243,12 @@ function bindIntegrationsMethods(target, mondayIntegration, discordBots, slackAp
|
|
|
13295
14243
|
target.deleteSalesforce = salesforce.deleteSalesforce.bind(salesforce);
|
|
13296
14244
|
target.getSalesforceReconciliationMatches = salesforce.getSalesforceReconciliationMatches.bind(salesforce);
|
|
13297
14245
|
target.linkMemberToSalesforce = salesforce.linkMemberToSalesforce.bind(salesforce);
|
|
14246
|
+
target.linkUnlinkedSalesforceMembersByIdentity = salesforce.linkUnlinkedSalesforceMembersByIdentity.bind(salesforce);
|
|
13298
14247
|
target.bulkLinkMembersToSalesforce = salesforce.bulkLinkMembersToSalesforce.bind(salesforce);
|
|
13299
14248
|
target.unlinkMemberFromSalesforce = salesforce.unlinkMemberFromSalesforce.bind(salesforce);
|
|
13300
14249
|
target.getLinkedSalesforceMembers = salesforce.getLinkedSalesforceMembers.bind(salesforce);
|
|
13301
14250
|
target.getSalesforceSyncConfig = salesforce.getSalesforceSyncConfig.bind(salesforce);
|
|
14251
|
+
target.getSalesforceSyncLogs = salesforce.getSalesforceSyncLogs.bind(salesforce);
|
|
13302
14252
|
target.updateSalesforceSyncConfig = salesforce.updateSalesforceSyncConfig.bind(salesforce);
|
|
13303
14253
|
target.resyncSalesforceLinkedMembers = salesforce.resyncSalesforceLinkedMembers.bind(salesforce);
|
|
13304
14254
|
target.listSalesforceObjects = salesforce.listSalesforceObjects.bind(salesforce);
|
|
@@ -13388,10 +14338,15 @@ function bindOrgMethods(target, org) {
|
|
|
13388
14338
|
target.getVoiceTrustProducts = org.getVoiceTrustProducts.bind(org);
|
|
13389
14339
|
target.syncVoiceTrustProducts = org.syncVoiceTrustProducts.bind(org);
|
|
13390
14340
|
target.createOrganizationWorkspace = org.createOrganizationWorkspace.bind(org);
|
|
14341
|
+
target.getOrganizationWorkspace = org.getOrganizationWorkspace.bind(org);
|
|
14342
|
+
target.updateOrganizationWorkspace = org.updateOrganizationWorkspace.bind(org);
|
|
13391
14343
|
target.getOrgBillingCustomer = org.getOrgBillingCustomer.bind(org);
|
|
13392
14344
|
target.getA2PCampaignConfig = org.getA2PCampaignConfig.bind(org);
|
|
13393
14345
|
target.updateA2PCampaignConfig = org.updateA2PCampaignConfig.bind(org);
|
|
13394
14346
|
target.getOrgWorkspaceUsage = org.getOrgWorkspaceUsage.bind(org);
|
|
14347
|
+
target.updateOrganizationMember = org.updateOrganizationMember.bind(org);
|
|
14348
|
+
target.listOrgWebhookEndpoints = org.listOrgWebhookEndpoints.bind(org);
|
|
14349
|
+
target.getOrgWebhookEndpoint = org.getOrgWebhookEndpoint.bind(org);
|
|
13395
14350
|
}
|
|
13396
14351
|
|
|
13397
14352
|
// src/client/bindings/pronunciations.ts
|
|
@@ -13411,12 +14366,58 @@ function bindPronunciationsMethods(target, pronunciations) {
|
|
|
13411
14366
|
target.previewPronunciation = pronunciations.previewPronunciation.bind(pronunciations);
|
|
13412
14367
|
}
|
|
13413
14368
|
|
|
14369
|
+
// src/client/bindings/resource-workflows.ts
|
|
14370
|
+
function bindResourceWorkflowsMethods(target, resourceWorkflows) {
|
|
14371
|
+
target.getResourceWorkflow = resourceWorkflows.getResourceWorkflow.bind(resourceWorkflows);
|
|
14372
|
+
target.getResourceWorkflowRevision = resourceWorkflows.getResourceWorkflowRevision.bind(resourceWorkflows);
|
|
14373
|
+
}
|
|
14374
|
+
|
|
14375
|
+
// src/client/bindings/bundles.ts
|
|
14376
|
+
function bindBundlesMethods(target, bundles, resourceWorkflows) {
|
|
14377
|
+
bindResourceWorkflowsMethods(target, resourceWorkflows);
|
|
14378
|
+
target.getSolutionRelease = bundles.getSolutionRelease.bind(bundles);
|
|
14379
|
+
target.updateBundle = bundles.updateBundle.bind(bundles);
|
|
14380
|
+
target.listBundleInstallations = bundles.listBundleInstallations.bind(bundles);
|
|
14381
|
+
target.listBundles = bundles.listBundles.bind(bundles);
|
|
14382
|
+
target.listBundleWorkflowCandidates = bundles.listBundleWorkflowCandidates.bind(bundles);
|
|
14383
|
+
target.createBundle = bundles.createBundle.bind(bundles);
|
|
14384
|
+
target.getBundleDraft = bundles.getBundleDraft.bind(bundles);
|
|
14385
|
+
target.replaceBundleDraft = bundles.replaceBundleDraft.bind(bundles);
|
|
14386
|
+
target.publishBundle = bundles.publishBundle.bind(bundles);
|
|
14387
|
+
target.listBundleVersions = bundles.listBundleVersions.bind(bundles);
|
|
14388
|
+
target.getBundle = bundles.getBundle.bind(bundles);
|
|
14389
|
+
target.getBundleVersion = bundles.getBundleVersion.bind(bundles);
|
|
14390
|
+
target.listBundleGrants = bundles.listBundleGrants.bind(bundles);
|
|
14391
|
+
target.grantBundle = bundles.grantBundle.bind(bundles);
|
|
14392
|
+
target.revokeBundleGrant = bundles.revokeBundleGrant.bind(bundles);
|
|
14393
|
+
target.listResourceWorkflows = resourceWorkflows.listResourceWorkflows.bind(resourceWorkflows);
|
|
14394
|
+
}
|
|
14395
|
+
|
|
14396
|
+
// src/client/bindings/installations.ts
|
|
14397
|
+
function bindInstallationsMethods(target, installations) {
|
|
14398
|
+
target.preflightBundleInstallation = installations.preflightBundleInstallation.bind(installations);
|
|
14399
|
+
target.installBundle = installations.installBundle.bind(installations);
|
|
14400
|
+
target.listInstallations = installations.listInstallations.bind(installations);
|
|
14401
|
+
target.getInstallation = installations.getInstallation.bind(installations);
|
|
14402
|
+
target.getInstallationReadiness = installations.getInstallationReadiness.bind(installations);
|
|
14403
|
+
target.previewInstallationUpgrade = installations.previewInstallationUpgrade.bind(installations);
|
|
14404
|
+
target.upgradeInstallation = installations.upgradeInstallation.bind(installations);
|
|
14405
|
+
target.setInstallationPolicy = installations.setInstallationPolicy.bind(installations);
|
|
14406
|
+
target.unsubscribeInstallation = installations.unsubscribeInstallation.bind(installations);
|
|
14407
|
+
target.restoreInstallationForm = installations.restoreInstallationForm.bind(installations);
|
|
14408
|
+
target.restoreInstallationWorkflowResources = installations.restoreInstallationWorkflowResources.bind(installations);
|
|
14409
|
+
target.bindInstallationSlots = installations.bindInstallationSlots.bind(installations);
|
|
14410
|
+
target.reconcileInstallation = installations.reconcileInstallation.bind(installations);
|
|
14411
|
+
target.getThemeSettingsSchema = installations.getThemeSettingsSchema.bind(installations);
|
|
14412
|
+
}
|
|
14413
|
+
|
|
13414
14414
|
// src/client/bindings/journeys.ts
|
|
13415
14415
|
function bindJourneysMethods(target, journeys) {
|
|
13416
14416
|
target.getJourneys = journeys.getJourneys.bind(journeys);
|
|
13417
14417
|
target.getJourney = journeys.getJourney.bind(journeys);
|
|
13418
14418
|
target.getJourneyAuthoring = journeys.getJourneyAuthoring.bind(journeys);
|
|
13419
14419
|
target.putJourneyDraft = journeys.putJourneyDraft.bind(journeys);
|
|
14420
|
+
target.deleteJourneyDraft = journeys.deleteJourneyDraft.bind(journeys);
|
|
13420
14421
|
target.putJourneyV2Definition = journeys.putJourneyV2Definition.bind(journeys);
|
|
13421
14422
|
target.getJourneyV2Validation = journeys.getJourneyV2Validation.bind(journeys);
|
|
13422
14423
|
target.getJourneyFilterOptions = journeys.getJourneyFilterOptions.bind(journeys);
|
|
@@ -13464,6 +14465,7 @@ function bindQualificationsMethods(target, qualifications) {
|
|
|
13464
14465
|
target.updateScenario = qualifications.updateScenario.bind(qualifications);
|
|
13465
14466
|
target.deleteScenario = qualifications.deleteScenario.bind(qualifications);
|
|
13466
14467
|
target.listTestChatRuns = qualifications.listTestChatRuns.bind(qualifications);
|
|
14468
|
+
target.listScenarioHealthSummaries = qualifications.listScenarioHealthSummaries.bind(qualifications);
|
|
13467
14469
|
target.getTestChatRun = qualifications.getTestChatRun.bind(qualifications);
|
|
13468
14470
|
target.startTestChatRun = qualifications.startTestChatRun.bind(qualifications);
|
|
13469
14471
|
target.evaluateTestChatRun = qualifications.evaluateTestChatRun.bind(qualifications);
|
|
@@ -13552,6 +14554,17 @@ function bindSupportRequestMethods(target, supportRequests) {
|
|
|
13552
14554
|
target.clickWorkspaceSupportRequestResource = supportRequests.clickWorkspaceSupportRequestResource.bind(supportRequests);
|
|
13553
14555
|
}
|
|
13554
14556
|
|
|
14557
|
+
// src/client/bindings/routing-rules.ts
|
|
14558
|
+
function bindRoutingRulesMethods(target, routingRules) {
|
|
14559
|
+
target.getRoutingRules = routingRules.getRoutingRules.bind(routingRules);
|
|
14560
|
+
target.getRoutingRule = routingRules.getRoutingRule.bind(routingRules);
|
|
14561
|
+
target.createRoutingRule = routingRules.createRoutingRule.bind(routingRules);
|
|
14562
|
+
target.updateRoutingRule = routingRules.updateRoutingRule.bind(routingRules);
|
|
14563
|
+
target.deleteRoutingRule = routingRules.deleteRoutingRule.bind(routingRules);
|
|
14564
|
+
target.reorderRoutingRules = routingRules.reorderRoutingRules.bind(routingRules);
|
|
14565
|
+
target.previewRoutingRule = routingRules.previewRoutingRule.bind(routingRules);
|
|
14566
|
+
}
|
|
14567
|
+
|
|
13555
14568
|
// src/client/client.ts
|
|
13556
14569
|
var GravityRailClient = class {
|
|
13557
14570
|
// WorkspaceInvitations is exposed publicly for backward compatibility
|
|
@@ -13577,6 +14590,9 @@ var GravityRailClient = class {
|
|
|
13577
14590
|
// Chats API
|
|
13578
14591
|
getChats;
|
|
13579
14592
|
getChat;
|
|
14593
|
+
getChatByUuid;
|
|
14594
|
+
saveChatBrowserStorage;
|
|
14595
|
+
clearChatBrowserStorage;
|
|
13580
14596
|
getChatBrowserLiveView;
|
|
13581
14597
|
getChatMachineResources;
|
|
13582
14598
|
getCurrentSmsChat;
|
|
@@ -13654,7 +14670,10 @@ var GravityRailClient = class {
|
|
|
13654
14670
|
unarchiveDataType;
|
|
13655
14671
|
cloneDataType;
|
|
13656
14672
|
getDataRecords;
|
|
14673
|
+
listAnonymousFormSubmissions;
|
|
14674
|
+
getAnonymousFormSubmission;
|
|
13657
14675
|
getDataRecord;
|
|
14676
|
+
getDataRecordByUuid;
|
|
13658
14677
|
createDataRecord;
|
|
13659
14678
|
updateDataRecord;
|
|
13660
14679
|
deleteDataRecord;
|
|
@@ -13680,12 +14699,10 @@ var GravityRailClient = class {
|
|
|
13680
14699
|
previewMemberWorkflowVoice;
|
|
13681
14700
|
setMemberWorkflowVoice;
|
|
13682
14701
|
clearMemberWorkflowVoice;
|
|
13683
|
-
getOwnedMembers;
|
|
13684
|
-
switchMember;
|
|
13685
|
-
clearMemberSwitch;
|
|
13686
14702
|
updateCurrentMember;
|
|
13687
14703
|
getWorkspaceMembers;
|
|
13688
14704
|
getWorkspaceMember;
|
|
14705
|
+
getMemberByUuid;
|
|
13689
14706
|
// Org-scoped, so deliberately absent from WORKSPACE_METHOD_NAMES: that proxy
|
|
13690
14707
|
// passes a workspace uuid as the first argument.
|
|
13691
14708
|
getOrgWorkspaceMember;
|
|
@@ -13694,6 +14711,9 @@ var GravityRailClient = class {
|
|
|
13694
14711
|
deleteMember;
|
|
13695
14712
|
archiveMember;
|
|
13696
14713
|
unarchiveMember;
|
|
14714
|
+
updateMemberByExternalId;
|
|
14715
|
+
archiveMemberByExternalId;
|
|
14716
|
+
unarchiveMemberByExternalId;
|
|
13697
14717
|
sendMemberPhoneConfirmation;
|
|
13698
14718
|
bulkCreateMembers;
|
|
13699
14719
|
previewImportMembers;
|
|
@@ -13746,6 +14766,8 @@ var GravityRailClient = class {
|
|
|
13746
14766
|
getMemberRelationships;
|
|
13747
14767
|
createMemberRelationship;
|
|
13748
14768
|
archiveMemberRelationship;
|
|
14769
|
+
listContactPermissions;
|
|
14770
|
+
createContactPermission;
|
|
13749
14771
|
// Agent Tasks API (operator-facing async sub-agent inspection/cancel)
|
|
13750
14772
|
getAgentTasks;
|
|
13751
14773
|
getAgentTask;
|
|
@@ -13769,6 +14791,7 @@ var GravityRailClient = class {
|
|
|
13769
14791
|
updateScenario;
|
|
13770
14792
|
deleteScenario;
|
|
13771
14793
|
listTestChatRuns;
|
|
14794
|
+
listScenarioHealthSummaries;
|
|
13772
14795
|
getTestChatRun;
|
|
13773
14796
|
startTestChatRun;
|
|
13774
14797
|
evaluateTestChatRun;
|
|
@@ -13846,6 +14869,7 @@ var GravityRailClient = class {
|
|
|
13846
14869
|
getJourney;
|
|
13847
14870
|
getJourneyAuthoring;
|
|
13848
14871
|
putJourneyDraft;
|
|
14872
|
+
deleteJourneyDraft;
|
|
13849
14873
|
putJourneyV2Definition;
|
|
13850
14874
|
getJourneyV2Validation;
|
|
13851
14875
|
getJourneyFilterOptions;
|
|
@@ -13880,6 +14904,41 @@ var GravityRailClient = class {
|
|
|
13880
14904
|
createJourneyNote;
|
|
13881
14905
|
updateJourneyNote;
|
|
13882
14906
|
deleteJourneyNote;
|
|
14907
|
+
updateBundle;
|
|
14908
|
+
listBundleInstallations;
|
|
14909
|
+
// Bundles API
|
|
14910
|
+
getSolutionRelease;
|
|
14911
|
+
listBundles;
|
|
14912
|
+
listBundleWorkflowCandidates;
|
|
14913
|
+
createBundle;
|
|
14914
|
+
getBundleDraft;
|
|
14915
|
+
replaceBundleDraft;
|
|
14916
|
+
publishBundle;
|
|
14917
|
+
listBundleVersions;
|
|
14918
|
+
getBundle;
|
|
14919
|
+
getBundleVersion;
|
|
14920
|
+
listBundleGrants;
|
|
14921
|
+
grantBundle;
|
|
14922
|
+
revokeBundleGrant;
|
|
14923
|
+
listResourceWorkflows;
|
|
14924
|
+
// Resource Workflows API — published Workflow catalog reads
|
|
14925
|
+
getResourceWorkflow;
|
|
14926
|
+
getResourceWorkflowRevision;
|
|
14927
|
+
// Installations API
|
|
14928
|
+
preflightBundleInstallation;
|
|
14929
|
+
installBundle;
|
|
14930
|
+
listInstallations;
|
|
14931
|
+
getInstallation;
|
|
14932
|
+
getInstallationReadiness;
|
|
14933
|
+
previewInstallationUpgrade;
|
|
14934
|
+
upgradeInstallation;
|
|
14935
|
+
setInstallationPolicy;
|
|
14936
|
+
unsubscribeInstallation;
|
|
14937
|
+
bindInstallationSlots;
|
|
14938
|
+
restoreInstallationForm;
|
|
14939
|
+
restoreInstallationWorkflowResources;
|
|
14940
|
+
reconcileInstallation;
|
|
14941
|
+
getThemeSettingsSchema;
|
|
13883
14942
|
// Experiments API
|
|
13884
14943
|
getExperiments;
|
|
13885
14944
|
getExperiment;
|
|
@@ -13972,7 +15031,6 @@ var GravityRailClient = class {
|
|
|
13972
15031
|
rebuildImportSkippedRules;
|
|
13973
15032
|
previewImportWorkspace;
|
|
13974
15033
|
getWorkspaceThemes;
|
|
13975
|
-
updateWorkspaceThemes;
|
|
13976
15034
|
getWorkspaceBySlug;
|
|
13977
15035
|
getWorkspaceScopes;
|
|
13978
15036
|
getUsageDashboard;
|
|
@@ -14011,10 +15069,15 @@ var GravityRailClient = class {
|
|
|
14011
15069
|
getVoiceTrustProducts;
|
|
14012
15070
|
syncVoiceTrustProducts;
|
|
14013
15071
|
createOrganizationWorkspace;
|
|
15072
|
+
getOrganizationWorkspace;
|
|
15073
|
+
updateOrganizationWorkspace;
|
|
14014
15074
|
getOrgBillingCustomer;
|
|
14015
15075
|
getA2PCampaignConfig;
|
|
14016
15076
|
updateA2PCampaignConfig;
|
|
14017
15077
|
getOrgWorkspaceUsage;
|
|
15078
|
+
updateOrganizationMember;
|
|
15079
|
+
listOrgWebhookEndpoints;
|
|
15080
|
+
getOrgWebhookEndpoint;
|
|
14018
15081
|
getVapidPublicKey;
|
|
14019
15082
|
registerPushSubscription;
|
|
14020
15083
|
unregisterPushSubscription;
|
|
@@ -14051,6 +15114,7 @@ var GravityRailClient = class {
|
|
|
14051
15114
|
logout;
|
|
14052
15115
|
requestCrossDomainToken;
|
|
14053
15116
|
exchangeToken;
|
|
15117
|
+
createRealtimeLoginToken;
|
|
14054
15118
|
getDomainMapping;
|
|
14055
15119
|
createSignup;
|
|
14056
15120
|
createAccount;
|
|
@@ -14140,6 +15204,7 @@ var GravityRailClient = class {
|
|
|
14140
15204
|
updateProject;
|
|
14141
15205
|
updatePlan;
|
|
14142
15206
|
resolveFilePath;
|
|
15207
|
+
downloadFileContents;
|
|
14143
15208
|
downloadFilesZip;
|
|
14144
15209
|
createFile;
|
|
14145
15210
|
uploadFile;
|
|
@@ -14200,7 +15265,6 @@ var GravityRailClient = class {
|
|
|
14200
15265
|
resetRoutineRuns;
|
|
14201
15266
|
previewSchedule;
|
|
14202
15267
|
previewRoutineVoiceReadiness;
|
|
14203
|
-
previewRoutineWorkflowAccess;
|
|
14204
15268
|
// Workflows API
|
|
14205
15269
|
getWorkflows;
|
|
14206
15270
|
getWorkflow;
|
|
@@ -14221,7 +15285,6 @@ var GravityRailClient = class {
|
|
|
14221
15285
|
createWorkflowFromTemplate;
|
|
14222
15286
|
getWorkflowTaskAssignmentStats;
|
|
14223
15287
|
getTaskChats;
|
|
14224
|
-
getWorkflowAccessValidation;
|
|
14225
15288
|
getWorkflowConfigValidation;
|
|
14226
15289
|
getWorkflowNotes;
|
|
14227
15290
|
createWorkflowNote;
|
|
@@ -14333,6 +15396,7 @@ var GravityRailClient = class {
|
|
|
14333
15396
|
previewTemplate;
|
|
14334
15397
|
getVariableRegistry;
|
|
14335
15398
|
getChatModels;
|
|
15399
|
+
getManagerModels;
|
|
14336
15400
|
getRealtimeModels;
|
|
14337
15401
|
getSTTModels;
|
|
14338
15402
|
getTTSModels;
|
|
@@ -14445,6 +15509,7 @@ var GravityRailClient = class {
|
|
|
14445
15509
|
getMondayConnectionBoardColumns;
|
|
14446
15510
|
getMondayConnectionBoardGroups;
|
|
14447
15511
|
getMondaySyncConfig;
|
|
15512
|
+
getMondaySyncLogs;
|
|
14448
15513
|
updateMondaySyncConfig;
|
|
14449
15514
|
getLinkedMondayMembers;
|
|
14450
15515
|
getMondayReconciliationMatches;
|
|
@@ -14566,10 +15631,12 @@ var GravityRailClient = class {
|
|
|
14566
15631
|
deleteSalesforce;
|
|
14567
15632
|
getSalesforceReconciliationMatches;
|
|
14568
15633
|
linkMemberToSalesforce;
|
|
15634
|
+
linkUnlinkedSalesforceMembersByIdentity;
|
|
14569
15635
|
bulkLinkMembersToSalesforce;
|
|
14570
15636
|
unlinkMemberFromSalesforce;
|
|
14571
15637
|
getLinkedSalesforceMembers;
|
|
14572
15638
|
getSalesforceSyncConfig;
|
|
15639
|
+
getSalesforceSyncLogs;
|
|
14573
15640
|
updateSalesforceSyncConfig;
|
|
14574
15641
|
resyncSalesforceLinkedMembers;
|
|
14575
15642
|
listSalesforceObjects;
|
|
@@ -14666,6 +15733,14 @@ var GravityRailClient = class {
|
|
|
14666
15733
|
closeWorkspaceSupportRequest;
|
|
14667
15734
|
reopenWorkspaceSupportRequest;
|
|
14668
15735
|
clickWorkspaceSupportRequestResource;
|
|
15736
|
+
// Routing Rules API
|
|
15737
|
+
getRoutingRules;
|
|
15738
|
+
getRoutingRule;
|
|
15739
|
+
createRoutingRule;
|
|
15740
|
+
updateRoutingRule;
|
|
15741
|
+
deleteRoutingRule;
|
|
15742
|
+
reorderRoutingRules;
|
|
15743
|
+
previewRoutingRule;
|
|
14669
15744
|
constructor(apiKey, baseUrl, customFetch) {
|
|
14670
15745
|
const apis = createApiModules(apiKey, baseUrl, customFetch);
|
|
14671
15746
|
this.apis = apis;
|
|
@@ -14687,6 +15762,8 @@ var GravityRailClient = class {
|
|
|
14687
15762
|
bindMotdMethods(this, apis.motd);
|
|
14688
15763
|
bindTrackedLinksMethods(this, apis.trackedLinks);
|
|
14689
15764
|
bindJourneysMethods(this, apis.journeys);
|
|
15765
|
+
bindBundlesMethods(this, apis.bundles, apis.resourceWorkflows);
|
|
15766
|
+
bindInstallationsMethods(this, apis.installations);
|
|
14690
15767
|
bindExperimentsMethods(this, apis.experiments);
|
|
14691
15768
|
bindOperatorMethods(this, apis.operatorGroups);
|
|
14692
15769
|
bindOrgMethods(this, apis.org);
|
|
@@ -14740,6 +15817,7 @@ var GravityRailClient = class {
|
|
|
14740
15817
|
bindCustomersMethods(this, apis.customers);
|
|
14741
15818
|
bindResellersMethods(this, apis.resellers);
|
|
14742
15819
|
bindSupportRequestMethods(this, apis.supportRequests);
|
|
15820
|
+
bindRoutingRulesMethods(this, apis.routingRules);
|
|
14743
15821
|
}
|
|
14744
15822
|
/**
|
|
14745
15823
|
* Return a workspace-scoped client facade.
|
|
@@ -14817,32 +15895,6 @@ var GravityRailClient = class {
|
|
|
14817
15895
|
}
|
|
14818
15896
|
});
|
|
14819
15897
|
}
|
|
14820
|
-
/**
|
|
14821
|
-
* Set the acting member UUID for member identity switching.
|
|
14822
|
-
* When set, all API requests will include the X-Acting-Member header.
|
|
14823
|
-
* The backend will validate that the authenticated account owns this member
|
|
14824
|
-
* and use it as the effective identity for the request.
|
|
14825
|
-
* Propagates to all API modules.
|
|
14826
|
-
*/
|
|
14827
|
-
setActingMember(memberUuid) {
|
|
14828
|
-
Object.values(this.apis).forEach((api) => {
|
|
14829
|
-
if (typeof api.setActingMember === "function") {
|
|
14830
|
-
api.setActingMember(memberUuid);
|
|
14831
|
-
}
|
|
14832
|
-
});
|
|
14833
|
-
}
|
|
14834
|
-
/**
|
|
14835
|
-
* Get the current acting member UUID.
|
|
14836
|
-
* Returns undefined if no member switch is active.
|
|
14837
|
-
*/
|
|
14838
|
-
getActingMember() {
|
|
14839
|
-
for (const api of Object.values(this.apis)) {
|
|
14840
|
-
if (typeof api.getActingMember === "function") {
|
|
14841
|
-
return api.getActingMember();
|
|
14842
|
-
}
|
|
14843
|
-
}
|
|
14844
|
-
return void 0;
|
|
14845
|
-
}
|
|
14846
15898
|
};
|
|
14847
15899
|
|
|
14848
15900
|
// src/workspace-builder/resource.ts
|
|
@@ -15894,8 +16946,8 @@ var JourneyV2Builder = class extends WorkspaceBuilderResource {
|
|
|
15894
16946
|
*
|
|
15895
16947
|
* A different rule set from the legacy builder's on purpose. "No incoming
|
|
15896
16948
|
* edge" has no meaning in a timeline — position is the order — and the v2
|
|
15897
|
-
*
|
|
15898
|
-
*
|
|
16949
|
+
* checks here cover branch shape and Ending conditions. Steps without
|
|
16950
|
+
* actions pass through, with or without a wait.
|
|
15899
16951
|
*/
|
|
15900
16952
|
validate() {
|
|
15901
16953
|
const problems = [];
|
|
@@ -15904,19 +16956,6 @@ var JourneyV2Builder = class extends WorkspaceBuilderResource {
|
|
|
15904
16956
|
`journey '${this.name}' has no touches \u2014 an empty timeline has nothing to execute.`
|
|
15905
16957
|
);
|
|
15906
16958
|
}
|
|
15907
|
-
const armHeads = new Set(
|
|
15908
|
-
this.allRoutes().map((route) => route.touches[0]).filter(Boolean)
|
|
15909
|
-
);
|
|
15910
|
-
this.allTouches().forEach((touch) => {
|
|
15911
|
-
if (touch.hasOutreach) return;
|
|
15912
|
-
const wait = touch.options.wait;
|
|
15913
|
-
const isFirst = this.touches[0] === touch;
|
|
15914
|
-
const isExplicitWait = !isFirst && !armHeads.has(touch) && (wait?.afterDays !== void 0 || !!wait?.when || wait?.filterId !== void 0);
|
|
15915
|
-
if (isExplicitWait) return;
|
|
15916
|
-
problems.push(
|
|
15917
|
-
`touch '${touch.name}' has no JOURNEY_STEP_EXECUTE action \u2014 a member reaching it gets nothing. Add one, or give it a wait so it is an explicit grace period.`
|
|
15918
|
-
);
|
|
15919
|
-
});
|
|
15920
16959
|
for (const touch of this.allTouches()) {
|
|
15921
16960
|
const branch = touch._branch;
|
|
15922
16961
|
if (!branch) continue;
|
|
@@ -15938,13 +16977,6 @@ var JourneyV2Builder = class extends WorkspaceBuilderResource {
|
|
|
15938
16977
|
`the Otherwise route of the branch after touch '${touch.name}' is not last; it is taken immediately, so any route after it can never be reached.`
|
|
15939
16978
|
);
|
|
15940
16979
|
}
|
|
15941
|
-
for (const route of branch.routes) {
|
|
15942
|
-
if (!route.touches.length && !route.options.continueAt) {
|
|
15943
|
-
problems.push(
|
|
15944
|
-
`route '${route.name}' has no target \u2014 give it at least one touch, or a \`continueAt\` naming the touch it continues to.`
|
|
15945
|
-
);
|
|
15946
|
-
}
|
|
15947
|
-
}
|
|
15948
16980
|
}
|
|
15949
16981
|
for (const ending of this.endings) {
|
|
15950
16982
|
if (!ending.when?.trim() && ending.filterId === void 0) {
|
|
@@ -16329,34 +17361,6 @@ function buildV2Wait(wait, touchIndex) {
|
|
|
16329
17361
|
return { kind: "none", ...extras };
|
|
16330
17362
|
}
|
|
16331
17363
|
|
|
16332
|
-
// src/workspace-builder/role-update.ts
|
|
16333
|
-
var RoleUpdate = class extends WorkspaceBuilderResource {
|
|
16334
|
-
constructor(roleId, workflowIds, dataTypeIds) {
|
|
16335
|
-
super();
|
|
16336
|
-
this.roleId = roleId;
|
|
16337
|
-
this.workflowIds = workflowIds;
|
|
16338
|
-
this.dataTypeIds = dataTypeIds;
|
|
16339
|
-
}
|
|
16340
|
-
roleId;
|
|
16341
|
-
workflowIds;
|
|
16342
|
-
dataTypeIds;
|
|
16343
|
-
planLine() {
|
|
16344
|
-
const parts = [];
|
|
16345
|
-
if (this.workflowIds) parts.push(`workflows=${JSON.stringify(this.workflowIds)}`);
|
|
16346
|
-
if (this.dataTypeIds) parts.push(`dataTypes=${JSON.stringify(this.dataTypeIds)}`);
|
|
16347
|
-
return `RoleUpdate: roleId=${this.roleId}${parts.length ? ` (${parts.join(", ")})` : ""}`;
|
|
16348
|
-
}
|
|
16349
|
-
async apply(client) {
|
|
16350
|
-
if (this._existed) return;
|
|
16351
|
-
const payload = {};
|
|
16352
|
-
if (this.workflowIds) payload.workflowIds = this.workflowIds;
|
|
16353
|
-
if (this.dataTypeIds) payload.dataTypeIds = this.dataTypeIds;
|
|
16354
|
-
if (Object.keys(payload).length) await client.updateMemberRole(this.roleId, payload);
|
|
16355
|
-
this._id = this.roleId;
|
|
16356
|
-
this._created = true;
|
|
16357
|
-
}
|
|
16358
|
-
};
|
|
16359
|
-
|
|
16360
17364
|
// src/workspace-builder/workflows.ts
|
|
16361
17365
|
var PERM_KEYS = {
|
|
16362
17366
|
canRead: "canRead",
|
|
@@ -16609,7 +17613,6 @@ var PHASES = /* @__PURE__ */ new Map([
|
|
|
16609
17613
|
[AgentBuilder, 1],
|
|
16610
17614
|
[WorkflowBuilder, 2],
|
|
16611
17615
|
[TaskBuilder, 3],
|
|
16612
|
-
[RoleUpdate, 4],
|
|
16613
17616
|
[MemberFilterBuilder, 5],
|
|
16614
17617
|
[RoutineBuilder, 6],
|
|
16615
17618
|
[NotificationRuleBuilder, 6],
|
|
@@ -16631,10 +17634,6 @@ async function collectPages(fetchPage) {
|
|
|
16631
17634
|
}
|
|
16632
17635
|
return all;
|
|
16633
17636
|
}
|
|
16634
|
-
function sameIdSet(left, right) {
|
|
16635
|
-
const target = new Set(right);
|
|
16636
|
-
return target.size === new Set(left).size && left.every((id) => target.has(id));
|
|
16637
|
-
}
|
|
16638
17637
|
function notificationRuleKey(noticeType, memberId, workflowId) {
|
|
16639
17638
|
return JSON.stringify([noticeType, memberId, workflowId]);
|
|
16640
17639
|
}
|
|
@@ -16713,11 +17712,6 @@ var WorkspaceBuilder = class {
|
|
|
16713
17712
|
this.resources.push(rule);
|
|
16714
17713
|
return rule;
|
|
16715
17714
|
}
|
|
16716
|
-
roleUpdate(roleId, workflowIds, dataTypeIds) {
|
|
16717
|
-
const update = new RoleUpdate(roleId, workflowIds, dataTypeIds);
|
|
16718
|
-
this.resources.push(update);
|
|
16719
|
-
return update;
|
|
16720
|
-
}
|
|
16721
17715
|
plan() {
|
|
16722
17716
|
const resources = this.sortedResources();
|
|
16723
17717
|
writeLine(`
|
|
@@ -16978,45 +17972,9 @@ Done! Created ${count} resources.`);
|
|
|
16978
17972
|
}
|
|
16979
17973
|
}
|
|
16980
17974
|
}
|
|
16981
|
-
await this.resolveExistingRoleUpdates(resources);
|
|
16982
17975
|
await this.resolveExistingWorkflows(resources, workflowNames);
|
|
16983
17976
|
await this.resolveExistingNotificationRules(resources);
|
|
16984
17977
|
}
|
|
16985
|
-
/**
|
|
16986
|
-
* Adopt a role update whose grants the server already has.
|
|
16987
|
-
*
|
|
16988
|
-
* A role update is a replace-semantics PUT, not a create, so its identity is
|
|
16989
|
-
* the role id and "already applied" means the id sets match exactly. Subset
|
|
16990
|
-
* would be wrong: `roleUpdate(7, [])` asks to *clear* the role's workflow
|
|
16991
|
-
* access, and treating that as satisfied by a role that still has grants
|
|
16992
|
-
* would silently skip a real change.
|
|
16993
|
-
*
|
|
16994
|
-
* Only the fields this update declares are compared — an update that passes
|
|
16995
|
-
* `workflowIds` and omits `dataTypeIds` never touches data-type access, so
|
|
16996
|
-
* that access cannot make it stale.
|
|
16997
|
-
*/
|
|
16998
|
-
async resolveExistingRoleUpdates(resources) {
|
|
16999
|
-
const updates = resources.filter(
|
|
17000
|
-
(resource) => resource instanceof RoleUpdate
|
|
17001
|
-
);
|
|
17002
|
-
if (!updates.length) return;
|
|
17003
|
-
const rolesById = new Map(
|
|
17004
|
-
(await this.client.getMemberRoles()).map((role) => [role.id, role])
|
|
17005
|
-
);
|
|
17006
|
-
for (const update of updates) {
|
|
17007
|
-
const role = rolesById.get(update.roleId);
|
|
17008
|
-
if (!role) continue;
|
|
17009
|
-
const workflowsSettled = update.workflowIds === void 0 || sameIdSet(
|
|
17010
|
-
update.workflowIds,
|
|
17011
|
-
(role.workflowAccess ?? []).map((access) => access.workflowId)
|
|
17012
|
-
);
|
|
17013
|
-
const dataTypesSettled = update.dataTypeIds === void 0 || sameIdSet(
|
|
17014
|
-
update.dataTypeIds,
|
|
17015
|
-
(role.dataTypeAccess ?? []).map((access) => access.dataTypeId)
|
|
17016
|
-
);
|
|
17017
|
-
if (workflowsSettled && dataTypesSettled) update.adopt(role);
|
|
17018
|
-
}
|
|
17019
|
-
}
|
|
17020
17978
|
/**
|
|
17021
17979
|
* Adopt notification rules the server already has.
|
|
17022
17980
|
*
|
|
@@ -17306,7 +18264,6 @@ function assertUniqueJourneyNames(journeys) {
|
|
|
17306
18264
|
}
|
|
17307
18265
|
}
|
|
17308
18266
|
function resourceKey(resource) {
|
|
17309
|
-
if (resource instanceof RoleUpdate) return "roleUpdates";
|
|
17310
18267
|
if (resource instanceof FormBuilder) return "forms";
|
|
17311
18268
|
if (resource instanceof MemberLabelBuilder) return "labels";
|
|
17312
18269
|
if (resource instanceof WorkflowBuilder) return "workflows";
|
|
@@ -17430,7 +18387,6 @@ function writeScopeForResource(resource) {
|
|
|
17430
18387
|
if (resource instanceof JourneyBuilder || resource instanceof JourneyStepBuilder || resource instanceof JourneyV2Builder) {
|
|
17431
18388
|
return "journeys:write";
|
|
17432
18389
|
}
|
|
17433
|
-
if (resource instanceof RoleUpdate) return "member_roles:write";
|
|
17434
18390
|
return null;
|
|
17435
18391
|
}
|
|
17436
18392
|
function scopeRetryHint(resource) {
|
|
@@ -17509,13 +18465,14 @@ var AbilityTypeSlugs = {
|
|
|
17509
18465
|
GOOGLE_DRIVE: "integration:google_drive",
|
|
17510
18466
|
GOOGLE_SHEETS: "integration:google_sheets",
|
|
17511
18467
|
CHARLESTON_PMD_PAGING: "integration:charleston_pmd_paging",
|
|
18468
|
+
COSAN_PATHWAYS_SCHEDULING: "integration:cosan_pathways_scheduling",
|
|
17512
18469
|
// Communication
|
|
17513
18470
|
PHONE_CALL_TOOLS: "communication:phone_call_tools",
|
|
17514
18471
|
SEND_SMS: "communication:send_sms",
|
|
18472
|
+
SEND_EMAIL: "communication:send_email",
|
|
17515
18473
|
SEND_WHATSAPP: "communication:send_whatsapp",
|
|
17516
18474
|
MEMBER_ACCESS: "communication:member_access",
|
|
17517
18475
|
AUDIO_PLAYBACK: "communication:audio_playback",
|
|
17518
|
-
IMAGE_DISPLAY: "communication:image_display",
|
|
17519
18476
|
// Oversight
|
|
17520
18477
|
SUPERVISOR: "oversight:supervisor",
|
|
17521
18478
|
SUPERVISOR_ACTIONS: "oversight:supervisor_actions",
|
|
@@ -17527,6 +18484,8 @@ var AbilityTypeSlugs = {
|
|
|
17527
18484
|
MANAGE_WORKSPACE: "delegation:manage_workspace",
|
|
17528
18485
|
// Workflow
|
|
17529
18486
|
WORKFLOW_RUN: "workflow:run",
|
|
18487
|
+
// Access
|
|
18488
|
+
MEMBER_ROLE_GATE: "access:member_role_gate",
|
|
17530
18489
|
// Commerce
|
|
17531
18490
|
RESELLER: "commerce:reseller",
|
|
17532
18491
|
// System (auto-injected, hidden from users)
|
|
@@ -17545,14 +18504,7 @@ function getTTSProvider(ttsModel) {
|
|
|
17545
18504
|
if (!ttsModel || ttsModel === "native") return ttsModel ?? null;
|
|
17546
18505
|
return ttsModel.split(":")[0] ?? null;
|
|
17547
18506
|
}
|
|
17548
|
-
var TTS_PREVIEW_PROVIDERS = [
|
|
17549
|
-
"openai",
|
|
17550
|
-
"elevenlabs",
|
|
17551
|
-
"google",
|
|
17552
|
-
"aws",
|
|
17553
|
-
"deepgram",
|
|
17554
|
-
"xai"
|
|
17555
|
-
];
|
|
18507
|
+
var TTS_PREVIEW_PROVIDERS = ["openai", "google", "aws", "deepgram", "xai"];
|
|
17556
18508
|
function getVoiceModelId(entity) {
|
|
17557
18509
|
const config = entity.realtimeModelConfig;
|
|
17558
18510
|
return config?.voiceModel ?? null;
|
|
@@ -17732,12 +18684,6 @@ var AbilityConfigIssueSeverity = {
|
|
|
17732
18684
|
warning: "warning",
|
|
17733
18685
|
error: "error"
|
|
17734
18686
|
};
|
|
17735
|
-
var WorkflowAccessWarningResourceType = {
|
|
17736
|
-
form: "form",
|
|
17737
|
-
file: "file",
|
|
17738
|
-
folder: "folder",
|
|
17739
|
-
calendar: "calendar"
|
|
17740
|
-
};
|
|
17741
18687
|
|
|
17742
18688
|
// src/types/generated/workflow.ts
|
|
17743
18689
|
var WorkflowRoutingMode = {
|
|
@@ -17778,7 +18724,8 @@ var ImportSkippedRuleResponseParentKind = {
|
|
|
17778
18724
|
var ImportSkippedRuleResponseReasonCode = {
|
|
17779
18725
|
missing_binding: "missing_binding",
|
|
17780
18726
|
invalid_event_rule_cel: "invalid_event_rule_cel",
|
|
17781
|
-
unresolved_journey_scope: "unresolved_journey_scope"
|
|
18727
|
+
unresolved_journey_scope: "unresolved_journey_scope",
|
|
18728
|
+
missing_source_workflow: "missing_source_workflow"
|
|
17782
18729
|
};
|
|
17783
18730
|
var ImportSkippedRuleResponseStatus = {
|
|
17784
18731
|
outstanding: "outstanding",
|
|
@@ -17910,15 +18857,15 @@ function isChatType(value) {
|
|
|
17910
18857
|
}
|
|
17911
18858
|
|
|
17912
18859
|
// src/constants/models.ts
|
|
17913
|
-
var DEFAULT_CHAT_MODEL = "
|
|
17914
|
-
var DEFAULT_AGENT_CHAT_MODEL = "openai:chat:gpt-
|
|
18860
|
+
var DEFAULT_CHAT_MODEL = "openai:chat:gpt-6-luna";
|
|
18861
|
+
var DEFAULT_AGENT_CHAT_MODEL = "openai:chat:gpt-6-luna";
|
|
17915
18862
|
var DEFAULT_AGENT_REALTIME_MODEL = "xai:realtime:voice-agent-2";
|
|
17916
18863
|
var DEFAULT_AGENT_REALTIME_MODEL_CONFIG = {
|
|
17917
18864
|
ttsModel: "native",
|
|
17918
18865
|
voiceModel: "xai:voice:cosmo"
|
|
17919
18866
|
};
|
|
17920
|
-
var DEFAULT_VOICE_INFERENCE_MODEL = "openai:chat:gpt-
|
|
17921
|
-
var DEFAULT_CUSTOM_VOICE_MODEL = "
|
|
18867
|
+
var DEFAULT_VOICE_INFERENCE_MODEL = "openai:chat:gpt-6-luna";
|
|
18868
|
+
var DEFAULT_CUSTOM_VOICE_MODEL = "xai:voice:lux";
|
|
17922
18869
|
|
|
17923
18870
|
// src/types/resource-metadata.ts
|
|
17924
18871
|
var RESOURCE_METADATA = {
|
|
@@ -18049,6 +18996,14 @@ var ActivityWindowBasis = {
|
|
|
18049
18996
|
absolute: "absolute",
|
|
18050
18997
|
workspace_local: "workspace_local"
|
|
18051
18998
|
};
|
|
18999
|
+
var FeedCursorRejection = {
|
|
19000
|
+
malformed: "malformed",
|
|
19001
|
+
signature: "signature",
|
|
19002
|
+
version: "version",
|
|
19003
|
+
expired: "expired",
|
|
19004
|
+
scope_mismatch: "scope_mismatch",
|
|
19005
|
+
query_mismatch: "query_mismatch"
|
|
19006
|
+
};
|
|
18052
19007
|
|
|
18053
19008
|
// src/types/generated/family.ts
|
|
18054
19009
|
var ActivityEventFamily = {
|
|
@@ -18081,6 +19036,7 @@ var ActivityCapability = {
|
|
|
18081
19036
|
"operator:read": "operator:read",
|
|
18082
19037
|
"org:read": "org:read",
|
|
18083
19038
|
"phones:read": "phones:read",
|
|
19039
|
+
"records:read": "records:read",
|
|
18084
19040
|
"workflows:read": "workflows:read",
|
|
18085
19041
|
"workspace:read": "workspace:read"
|
|
18086
19042
|
};
|
|
@@ -18103,16 +19059,19 @@ var ActivityEventType = {
|
|
|
18103
19059
|
chatawaiting_human: "chat.awaiting_human",
|
|
18104
19060
|
chathuman_replied: "chat.human_replied",
|
|
18105
19061
|
chatcall_ended: "chat.call_ended",
|
|
19062
|
+
chatsummary: "chat.summary",
|
|
18106
19063
|
escalationopened: "escalation.opened",
|
|
18107
19064
|
escalationresolved: "escalation.resolved",
|
|
18108
19065
|
callstarted: "call.started",
|
|
18109
19066
|
callcompleted: "call.completed",
|
|
18110
19067
|
callmissed: "call.missed",
|
|
19068
|
+
callsummary: "call.summary",
|
|
18111
19069
|
presencewent_online: "presence.went_online",
|
|
18112
19070
|
presencewent_offline: "presence.went_offline",
|
|
18113
19071
|
operator_groupmember_added: "operator_group.member_added",
|
|
18114
19072
|
operator_groupmember_removed: "operator_group.member_removed",
|
|
18115
19073
|
voicemailreceived: "voicemail.received",
|
|
19074
|
+
voicemailtranscribed: "voicemail.transcribed",
|
|
18116
19075
|
voicemaillistened: "voicemail.listened",
|
|
18117
19076
|
routinestarted: "routine.started",
|
|
18118
19077
|
routinecompleted: "routine.completed",
|
|
@@ -18128,7 +19087,9 @@ var ActivityEventType = {
|
|
|
18128
19087
|
phone_numberarchived: "phone_number.archived",
|
|
18129
19088
|
domainlinked: "domain.linked",
|
|
18130
19089
|
domainverified: "domain.verified",
|
|
18131
|
-
configupdated: "config.updated"
|
|
19090
|
+
configupdated: "config.updated",
|
|
19091
|
+
data_recordcreated: "data_record.created",
|
|
19092
|
+
data_recordupdated: "data_record.updated"
|
|
18132
19093
|
};
|
|
18133
19094
|
var ActivityVisibility = {
|
|
18134
19095
|
workspace: "workspace",
|
|
@@ -18143,7 +19104,8 @@ var ActorKind = {
|
|
|
18143
19104
|
connection: "connection",
|
|
18144
19105
|
member: "member",
|
|
18145
19106
|
org_account: "org_account",
|
|
18146
|
-
system: "system"
|
|
19107
|
+
system: "system",
|
|
19108
|
+
unattributed: "unattributed"
|
|
18147
19109
|
};
|
|
18148
19110
|
var EntityKind = {
|
|
18149
19111
|
account: "account",
|
|
@@ -18175,7 +19137,8 @@ var EntityKind = {
|
|
|
18175
19137
|
purchase: "purchase",
|
|
18176
19138
|
subscription: "subscription",
|
|
18177
19139
|
data_type: "data_type",
|
|
18178
|
-
workspace_config: "workspace_config"
|
|
19140
|
+
workspace_config: "workspace_config",
|
|
19141
|
+
data_record: "data_record"
|
|
18179
19142
|
};
|
|
18180
19143
|
|
|
18181
19144
|
// src/scopes.ts
|
|
@@ -18203,6 +19166,7 @@ var ScopeCategory = /* @__PURE__ */ ((ScopeCategory2) => {
|
|
|
18203
19166
|
ScopeCategory2["APPS"] = "apps";
|
|
18204
19167
|
ScopeCategory2["LABELS"] = "labels";
|
|
18205
19168
|
ScopeCategory2["ANALYTICS"] = "analytics";
|
|
19169
|
+
ScopeCategory2["ANONYMOUS_SUBMISSIONS"] = "anonymous_submissions";
|
|
18206
19170
|
ScopeCategory2["OPERATOR"] = "operator";
|
|
18207
19171
|
ScopeCategory2["EXPORT"] = "export";
|
|
18208
19172
|
ScopeCategory2["ORG"] = "org";
|
|
@@ -18665,6 +19629,14 @@ var SCOPES = {
|
|
|
18665
19629
|
description: "View analytics and reports"
|
|
18666
19630
|
},
|
|
18667
19631
|
// =========================================================================
|
|
19632
|
+
// ANONYMOUS FORM SUBMISSIONS (read-only: submissions are immutable)
|
|
19633
|
+
// =========================================================================
|
|
19634
|
+
"anonymous_submissions:read": {
|
|
19635
|
+
name: "anonymous_submissions:read",
|
|
19636
|
+
category: "anonymous_submissions" /* ANONYMOUS_SUBMISSIONS */,
|
|
19637
|
+
description: "View what anonymous visitors submitted on anonymous Forms"
|
|
19638
|
+
},
|
|
19639
|
+
// =========================================================================
|
|
18668
19640
|
// EXPORT
|
|
18669
19641
|
// =========================================================================
|
|
18670
19642
|
"export:read": {
|
|
@@ -18897,6 +19869,49 @@ var ChatInteractionController = class {
|
|
|
18897
19869
|
this.pending = void 0;
|
|
18898
19870
|
}
|
|
18899
19871
|
};
|
|
19872
|
+
|
|
19873
|
+
// src/helpers/member-import.ts
|
|
19874
|
+
function toSafeMemberImportPreview(preview) {
|
|
19875
|
+
return {
|
|
19876
|
+
previewPlanToken: preview.previewPlanToken,
|
|
19877
|
+
totalRows: preview.totalRows,
|
|
19878
|
+
summary: preview.summary,
|
|
19879
|
+
rows: preview.rows.map((row) => ({
|
|
19880
|
+
row: row.row,
|
|
19881
|
+
action: row.action,
|
|
19882
|
+
memberId: row.match?.memberId,
|
|
19883
|
+
matchType: row.match?.matchType,
|
|
19884
|
+
conflict: row.conflict ? { code: row.conflict.code, fields: row.conflict.fields } : void 0,
|
|
19885
|
+
proposedChanges: row.proposedChanges,
|
|
19886
|
+
sharedContacts: row.sharedContacts
|
|
19887
|
+
}))
|
|
19888
|
+
};
|
|
19889
|
+
}
|
|
19890
|
+
function toSafeMemberImportSummary(event) {
|
|
19891
|
+
return {
|
|
19892
|
+
total: event.total,
|
|
19893
|
+
created: event.created,
|
|
19894
|
+
updated: event.updated,
|
|
19895
|
+
unchanged: event.unchanged,
|
|
19896
|
+
failed: event.failed,
|
|
19897
|
+
conflicted: event.conflicted,
|
|
19898
|
+
skipped: event.skipped,
|
|
19899
|
+
failedRows: event.failedRows,
|
|
19900
|
+
conflictRows: event.conflictRows,
|
|
19901
|
+
skippedRows: event.skippedRows,
|
|
19902
|
+
conflicts: event.conflicts?.map(({ row, code, fields, member_id }) => ({
|
|
19903
|
+
row,
|
|
19904
|
+
code,
|
|
19905
|
+
fields,
|
|
19906
|
+
memberId: member_id
|
|
19907
|
+
})),
|
|
19908
|
+
updatedMembers: event.updatedMembers?.map(({ row, memberId, changes }) => ({
|
|
19909
|
+
row,
|
|
19910
|
+
memberId,
|
|
19911
|
+
changes
|
|
19912
|
+
}))
|
|
19913
|
+
};
|
|
19914
|
+
}
|
|
18900
19915
|
// Annotate the CommonJS export names for ESM import in node:
|
|
18901
19916
|
0 && (module.exports = {
|
|
18902
19917
|
AGENT_NOTE_ORIGINS,
|
|
@@ -18927,6 +19942,8 @@ var ChatInteractionController = class {
|
|
|
18927
19942
|
BaseApiClient,
|
|
18928
19943
|
BuildersApi,
|
|
18929
19944
|
BulkMemberResultStatus,
|
|
19945
|
+
BundleGrantRequestGranteeType,
|
|
19946
|
+
BundlesApi,
|
|
18930
19947
|
BusinessIndustry,
|
|
18931
19948
|
BusinessType,
|
|
18932
19949
|
CELApi,
|
|
@@ -18943,7 +19960,11 @@ var ChatInteractionController = class {
|
|
|
18943
19960
|
ChatInteractionController,
|
|
18944
19961
|
ChatMuteReason,
|
|
18945
19962
|
ConsentMethod,
|
|
19963
|
+
CreateMemberContactPointRequestContactType,
|
|
19964
|
+
CreateMemberContactPointRequestPurpose,
|
|
19965
|
+
CreateMemberContactPointRequestSharing,
|
|
18946
19966
|
CriterionType,
|
|
19967
|
+
CrmActivityKind,
|
|
18947
19968
|
DEFAULT_AGENT_CHAT_MODEL,
|
|
18948
19969
|
DEFAULT_AGENT_REALTIME_MODEL,
|
|
18949
19970
|
DEFAULT_AGENT_REALTIME_MODEL_CONFIG,
|
|
@@ -18966,10 +19987,12 @@ var ChatInteractionController = class {
|
|
|
18966
19987
|
EventRuleObjectType,
|
|
18967
19988
|
FeatureCategory,
|
|
18968
19989
|
FeatureVisibility,
|
|
19990
|
+
FeedCursorRejection,
|
|
18969
19991
|
FhirClientType,
|
|
18970
19992
|
FhirConnectionState,
|
|
18971
19993
|
FhirVendor,
|
|
18972
19994
|
FormBuilder,
|
|
19995
|
+
FormBundleItemRecordScope,
|
|
18973
19996
|
GravityRailClient,
|
|
18974
19997
|
ImportSkippedRuleResourceGroupResourceType,
|
|
18975
19998
|
ImportSkippedRuleResponseNeededResourceTypesItem,
|
|
@@ -18978,6 +20001,8 @@ var ChatInteractionController = class {
|
|
|
18978
20001
|
ImportSkippedRuleResponseStatus,
|
|
18979
20002
|
InboundFaxStatusValues,
|
|
18980
20003
|
IndexStatus,
|
|
20004
|
+
InstallationItemChangeChange,
|
|
20005
|
+
InstallationsApi,
|
|
18981
20006
|
InvitationStatus,
|
|
18982
20007
|
JobPosition,
|
|
18983
20008
|
JourneyBuilder,
|
|
@@ -19028,13 +20053,20 @@ var ChatInteractionController = class {
|
|
|
19028
20053
|
REALTIME_MODEL_OPENAI_2,
|
|
19029
20054
|
REALTIME_MODEL_OPENAI_MINI,
|
|
19030
20055
|
RefResolutionStatus,
|
|
20056
|
+
ReferenceTargetInputKind,
|
|
19031
20057
|
Region,
|
|
19032
20058
|
RegistrationIdentifier,
|
|
19033
20059
|
RelatedMemberRole,
|
|
19034
20060
|
RelationshipCardinality,
|
|
19035
20061
|
Resource,
|
|
19036
|
-
|
|
20062
|
+
ResourceWorkflowsApi,
|
|
20063
|
+
RevisionHistorySegment,
|
|
19037
20064
|
RoutineBuilder,
|
|
20065
|
+
RoutingActionType,
|
|
20066
|
+
RoutingAudience,
|
|
20067
|
+
RoutingChannel,
|
|
20068
|
+
RoutingTimeWindow,
|
|
20069
|
+
RunHealthCategory,
|
|
19038
20070
|
SCOPES,
|
|
19039
20071
|
SCOPE_PRESETS,
|
|
19040
20072
|
SMS_DELIVERY_FAILURE_STATUSES,
|
|
@@ -19042,17 +20074,25 @@ var ChatInteractionController = class {
|
|
|
19042
20074
|
STT_MODEL_DEEPGRAM_FLUX_MULTI,
|
|
19043
20075
|
STT_MODEL_DEEPGRAM_FLUX_MULTI_SELFHOST,
|
|
19044
20076
|
STT_MODEL_DEEPGRAM_FLUX_SELFHOST,
|
|
20077
|
+
ScalarTargetInputKind,
|
|
20078
|
+
ScenarioHealthCaption,
|
|
20079
|
+
ScenarioHealthHeadline,
|
|
20080
|
+
ScenarioHealthSampleNote,
|
|
20081
|
+
ScenarioHealthState,
|
|
20082
|
+
ScenarioRunBlocker,
|
|
19045
20083
|
Scope,
|
|
19046
20084
|
ScopeCategory,
|
|
19047
20085
|
ScopeManager,
|
|
20086
|
+
SendingNextStep,
|
|
20087
|
+
SendingStopState,
|
|
20088
|
+
SetInstallationPolicyRequestUpgradePolicy,
|
|
19048
20089
|
SiteDnsRecordType,
|
|
20090
|
+
SolutionReleaseResponseSlug,
|
|
19049
20091
|
SupervisorsApi,
|
|
19050
20092
|
TTS_MODEL_AWS_POLLY_GENERATIVE,
|
|
19051
20093
|
TTS_MODEL_AWS_POLLY_NEURAL,
|
|
19052
20094
|
TTS_MODEL_DEEPGRAM_AURA_2,
|
|
19053
|
-
|
|
19054
|
-
TTS_MODEL_ELEVENLABS_MULTILINGUAL,
|
|
19055
|
-
TTS_MODEL_ELEVENLABS_TURBO,
|
|
20095
|
+
TTS_MODEL_XAI_V1,
|
|
19056
20096
|
TTS_PREVIEW_PROVIDERS,
|
|
19057
20097
|
TaskBuilder,
|
|
19058
20098
|
TemplatesApi,
|
|
@@ -19062,11 +20102,11 @@ var ChatInteractionController = class {
|
|
|
19062
20102
|
UiPromptPresentedKindValues,
|
|
19063
20103
|
UiPromptResponseKindValues,
|
|
19064
20104
|
UiPromptResponseStatusValues,
|
|
20105
|
+
UpdateMemberContactPointRequestContactType,
|
|
20106
|
+
UpdateMemberContactPointRequestPurpose,
|
|
20107
|
+
UpdateMemberContactPointRequestSharing,
|
|
19065
20108
|
WIDGET_SLUGS,
|
|
19066
|
-
WORKFLOW_IMPLICIT_USE_SCOPE,
|
|
19067
|
-
WorkflowAccessWarningResourceType,
|
|
19068
20109
|
WorkflowBuilder,
|
|
19069
|
-
WorkflowResourceType,
|
|
19070
20110
|
WorkflowRoutingMode,
|
|
19071
20111
|
WorkspaceBuilder,
|
|
19072
20112
|
WorkspaceBuilderResource,
|
|
@@ -19106,10 +20146,9 @@ var ChatInteractionController = class {
|
|
|
19106
20146
|
isSMSDeliveryFailureStatus,
|
|
19107
20147
|
parseOrgAuthChallenge,
|
|
19108
20148
|
requiresAssistantParticipant,
|
|
19109
|
-
roleCanUseWorkflow,
|
|
19110
|
-
roleImplicitWorkflowUseScope,
|
|
19111
|
-
roleWorkflowAccess,
|
|
19112
20149
|
runWorkspaceScript,
|
|
20150
|
+
toSafeMemberImportPreview,
|
|
20151
|
+
toSafeMemberImportSummary,
|
|
19113
20152
|
usesBuiltinAssistant,
|
|
19114
20153
|
validateFeatureDependencies
|
|
19115
20154
|
});
|