@gravity-rail/sdk 0.8.0 → 0.11.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 +45 -8
- package/dist/chunk-FSSXKQR5.js +471 -0
- package/dist/chunk-FSSXKQR5.js.map +1 -0
- package/dist/{chunk-QS6ZRQUZ.js → chunk-V7ZKEH4V.js} +8 -1
- package/dist/chunk-V7ZKEH4V.js.map +1 -0
- package/dist/{chunk-ML55PVP7.js → chunk-YESHLUL7.js} +1435 -703
- package/dist/chunk-YESHLUL7.js.map +1 -0
- package/dist/{client-C2aWAalu.d.cts → client-BCgXtr8p.d.cts} +3684 -1291
- package/dist/{client-CLGovEox.d.ts → client-Dh1l20Ue.d.ts} +3684 -1291
- package/dist/helpers.cjs +177 -13
- package/dist/helpers.cjs.map +1 -1
- package/dist/helpers.d.cts +82 -3
- package/dist/helpers.d.ts +82 -3
- package/dist/helpers.js +155 -12
- package/dist/helpers.js.map +1 -1
- package/dist/index.cjs +1679 -420
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +32 -24
- package/dist/index.d.ts +32 -24
- package/dist/index.js +193 -113
- package/dist/index.js.map +1 -1
- package/dist/internal.cjs +1742 -413
- package/dist/internal.cjs.map +1 -1
- package/dist/internal.d.cts +634 -29
- package/dist/internal.d.ts +634 -29
- package/dist/internal.js +140 -7
- package/dist/internal.js.map +1 -1
- package/dist/realtime.cjs +43 -0
- package/dist/realtime.cjs.map +1 -1
- package/dist/realtime.d.cts +26 -0
- package/dist/realtime.d.ts +26 -0
- package/dist/realtime.js +43 -0
- package/dist/realtime.js.map +1 -1
- package/dist/{scopes-D6a_Mvqr.d.ts → revision-state-BTF-MnbW.d.cts} +270 -23
- package/dist/{scopes-CDaJBQVT.d.cts → revision-state-DOH1NMGb.d.ts} +270 -23
- package/dist/schemas.cjs +56 -117
- package/dist/schemas.cjs.map +1 -1
- package/dist/schemas.d.cts +121 -484
- package/dist/schemas.d.ts +121 -484
- package/dist/schemas.js +55 -114
- package/dist/schemas.js.map +1 -1
- package/dist/{inquiries-CmECZnkl.d.cts → tasks-C4aYbWVv.d.cts} +944 -148
- package/dist/{inquiries-CmECZnkl.d.ts → tasks-C4aYbWVv.d.ts} +944 -148
- package/package.json +5 -5
- package/dist/chunk-ML55PVP7.js.map +0 -1
- package/dist/chunk-QS6ZRQUZ.js.map +0 -1
package/dist/internal.cjs
CHANGED
|
@@ -55,12 +55,19 @@ __export(internal_exports, {
|
|
|
55
55
|
CalendarSource: () => CalendarSource,
|
|
56
56
|
CalendarsApi: () => CalendarsApi,
|
|
57
57
|
CallsApi: () => CallsApi,
|
|
58
|
+
CapabilityClass: () => CapabilityClass,
|
|
58
59
|
ChatsApi: () => ChatsApi,
|
|
59
60
|
ConfluenceApi: () => ConfluenceApi,
|
|
60
61
|
ConnectionSyncApi: () => ConnectionSyncApi,
|
|
61
62
|
ConsentMethod: () => ConsentMethod,
|
|
62
63
|
CriterionType: () => CriterionType,
|
|
63
64
|
CustomToolkitsApi: () => CustomToolkitsApi,
|
|
65
|
+
CustomerActivityClassifierDetectorName: () => CustomerActivityClassifierDetectorName,
|
|
66
|
+
CustomerActivityClassifierLabel: () => CustomerActivityClassifierLabel,
|
|
67
|
+
CustomerActivityEventSource: () => CustomerActivityEventSource,
|
|
68
|
+
CustomerActivityEventStatus: () => CustomerActivityEventStatus,
|
|
69
|
+
CustomerActivityReviewOutcome: () => CustomerActivityReviewOutcome,
|
|
70
|
+
CustomerActivitySeverity: () => CustomerActivitySeverity,
|
|
64
71
|
CustomersApi: () => CustomersApi,
|
|
65
72
|
DEFAULT_CHAT_MODEL: () => DEFAULT_CHAT_MODEL,
|
|
66
73
|
DEFAULT_CUSTOM_VOICE_MODEL: () => DEFAULT_CUSTOM_VOICE_MODEL,
|
|
@@ -68,9 +75,11 @@ __export(internal_exports, {
|
|
|
68
75
|
DEFAULT_VOICE_INFERENCE_MODEL: () => DEFAULT_VOICE_INFERENCE_MODEL,
|
|
69
76
|
DataCategory: () => DataCategory,
|
|
70
77
|
DataFieldType: () => DataFieldType,
|
|
78
|
+
DataRecordRetirementResponseReason: () => DataRecordRetirementResponseReason,
|
|
71
79
|
DataSensitivity: () => DataSensitivity,
|
|
72
80
|
DataTypeRecordScope: () => DataTypeRecordScope,
|
|
73
81
|
DataTypesApi: () => DataTypesApi,
|
|
82
|
+
DeclaredDataUse: () => DeclaredDataUse,
|
|
74
83
|
DiscordBotsApi: () => DiscordBotsApi,
|
|
75
84
|
DriverMode: () => DriverMode,
|
|
76
85
|
EmailDnsRecordType: () => EmailDnsRecordType,
|
|
@@ -100,6 +109,8 @@ __export(internal_exports, {
|
|
|
100
109
|
McpServerState: () => McpServerState,
|
|
101
110
|
McpServersApi: () => McpServersApi,
|
|
102
111
|
MemberFeature: () => MemberFeature,
|
|
112
|
+
MemberImportMatchInfoMatchType: () => MemberImportMatchInfoMatchType,
|
|
113
|
+
MemberImportPreviewRowAction: () => MemberImportPreviewRowAction,
|
|
103
114
|
MemberType: () => MemberType,
|
|
104
115
|
MembersApi: () => MembersApi,
|
|
105
116
|
MenuItemResponseItemType: () => MenuItemResponseItemType,
|
|
@@ -127,11 +138,21 @@ __export(internal_exports, {
|
|
|
127
138
|
PERMISSION_NONE: () => PERMISSION_NONE,
|
|
128
139
|
PERMISSION_USE: () => PERMISSION_USE,
|
|
129
140
|
PERMISSION_VERIFY: () => PERMISSION_VERIFY,
|
|
141
|
+
PIDS_DISPOSITIONS: () => PIDS_DISPOSITIONS,
|
|
142
|
+
PIDS_SOURCES: () => PIDS_SOURCES,
|
|
143
|
+
POSITIVE_RATING_THRESHOLD: () => POSITIVE_RATING_THRESHOLD,
|
|
130
144
|
PersonasApi: () => PersonasApi,
|
|
145
|
+
PhiDataPolicy: () => PhiDataPolicy,
|
|
146
|
+
PhiPolicyReason: () => PhiPolicyReason,
|
|
147
|
+
PhiPolicySource: () => PhiPolicySource,
|
|
148
|
+
PhiPostureDecision: () => PhiPostureDecision,
|
|
149
|
+
PhiPostureReasonCode: () => PhiPostureReasonCode,
|
|
150
|
+
PhiPostureTransitionResponseTargetType: () => PhiPostureTransitionResponseTargetType,
|
|
131
151
|
PhoneNumbersApi: () => PhoneNumbersApi,
|
|
132
152
|
ProductType: () => ProductType,
|
|
133
153
|
PromptsApi: () => PromptsApi,
|
|
134
154
|
PronunciationsApi: () => PronunciationsApi,
|
|
155
|
+
QUERY_VALUELESS_OPS: () => QUERY_VALUELESS_OPS,
|
|
135
156
|
QualificationsApi: () => QualificationsApi,
|
|
136
157
|
REALTIME_MODEL_CUSTOM: () => REALTIME_MODEL_CUSTOM,
|
|
137
158
|
REALTIME_MODEL_GEMINI: () => REALTIME_MODEL_GEMINI,
|
|
@@ -169,13 +190,13 @@ __export(internal_exports, {
|
|
|
169
190
|
TTS_MODEL_ELEVENLABS_FLASH: () => TTS_MODEL_ELEVENLABS_FLASH,
|
|
170
191
|
TTS_MODEL_ELEVENLABS_MULTILINGUAL: () => TTS_MODEL_ELEVENLABS_MULTILINGUAL,
|
|
171
192
|
TTS_MODEL_ELEVENLABS_TURBO: () => TTS_MODEL_ELEVENLABS_TURBO,
|
|
172
|
-
TTS_MODEL_POCKET: () => TTS_MODEL_POCKET,
|
|
173
193
|
TTS_PREVIEW_PROVIDERS: () => TTS_PREVIEW_PROVIDERS,
|
|
174
194
|
TasksApi: () => TasksApi,
|
|
175
195
|
TemplatesApi: () => TemplatesApi,
|
|
176
196
|
ToolkitState: () => ToolkitState,
|
|
177
197
|
ToolkitsApi: () => ToolkitsApi,
|
|
178
198
|
VoiceApi: () => VoiceApi,
|
|
199
|
+
WIDGET_SLUGS: () => WIDGET_SLUGS,
|
|
179
200
|
WorkflowAccessWarningResourceType: () => WorkflowAccessWarningResourceType,
|
|
180
201
|
WorkflowNotesApi: () => WorkflowNotesApi,
|
|
181
202
|
WorkflowResourceType: () => WorkflowAccessWarningResourceType,
|
|
@@ -196,6 +217,7 @@ __export(internal_exports, {
|
|
|
196
217
|
bindChatsMethods: () => bindChatsMethods,
|
|
197
218
|
bindCommunicationsMethods: () => bindCommunicationsMethods,
|
|
198
219
|
bindCustomersMethods: () => bindCustomersMethods,
|
|
220
|
+
bindDashboardsMethods: () => bindDashboardsMethods,
|
|
199
221
|
bindDataTypesMethods: () => bindDataTypesMethods,
|
|
200
222
|
bindEventsMethods: () => bindEventsMethods,
|
|
201
223
|
bindExperimentsMethods: () => bindExperimentsMethods,
|
|
@@ -203,12 +225,14 @@ __export(internal_exports, {
|
|
|
203
225
|
bindIntegrationsMethods: () => bindIntegrationsMethods,
|
|
204
226
|
bindJourneysMethods: () => bindJourneysMethods,
|
|
205
227
|
bindMembersMethods: () => bindMembersMethods,
|
|
228
|
+
bindMotdMethods: () => bindMotdMethods,
|
|
206
229
|
bindOperatorMethods: () => bindOperatorMethods,
|
|
207
230
|
bindOrgMethods: () => bindOrgMethods,
|
|
208
231
|
bindPersonasMethods: () => bindPersonasMethods,
|
|
209
232
|
bindPromptsMethods: () => bindPromptsMethods,
|
|
210
233
|
bindPronunciationsMethods: () => bindPronunciationsMethods,
|
|
211
234
|
bindQualificationsMethods: () => bindQualificationsMethods,
|
|
235
|
+
bindQueriesMethods: () => bindQueriesMethods,
|
|
212
236
|
bindResellersMethods: () => bindResellersMethods,
|
|
213
237
|
bindSitesMethods: () => bindSitesMethods,
|
|
214
238
|
bindSupportRequestMethods: () => bindSupportRequestMethods,
|
|
@@ -235,12 +259,14 @@ __export(internal_exports, {
|
|
|
235
259
|
getFeaturesByVisibility: () => getFeaturesByVisibility,
|
|
236
260
|
getMissingDependencies: () => getMissingDependencies,
|
|
237
261
|
getResourceMetadata: () => getResourceMetadata,
|
|
262
|
+
getRevisionState: () => getRevisionState,
|
|
238
263
|
getScopeFromProductType: () => getScopeFromProductType,
|
|
239
264
|
getTTSProvider: () => getTTSProvider,
|
|
240
265
|
getVoiceModelId: () => getVoiceModelId,
|
|
241
266
|
initializeFeatures: () => initializeFeatures,
|
|
242
267
|
isChatType: () => isChatType,
|
|
243
268
|
isFeatureAvailable: () => isFeatureAvailable,
|
|
269
|
+
isPositiveRating: () => isPositiveRating,
|
|
244
270
|
isRegistryInitialized: () => isRegistryInitialized,
|
|
245
271
|
isSMSDeliveryFailureStatus: () => isSMSDeliveryFailureStatus,
|
|
246
272
|
parseExperimentStatCount: () => parseExperimentStatCount,
|
|
@@ -358,11 +384,14 @@ var Scope = /* @__PURE__ */ ((Scope2) => {
|
|
|
358
384
|
Scope2["ANALYTICS_READ"] = "analytics:read";
|
|
359
385
|
Scope2["OPERATOR_READ"] = "operator:read";
|
|
360
386
|
Scope2["OPERATOR_WRITE"] = "operator:write";
|
|
387
|
+
Scope2["EXPORT_READ"] = "export:read";
|
|
388
|
+
Scope2["EXPORT_WRITE"] = "export:write";
|
|
389
|
+
Scope2["EXPORT_ADMIN"] = "export:admin";
|
|
361
390
|
Scope2["ORG_INFO"] = "org:info";
|
|
362
391
|
Scope2["ORG_READ"] = "org:read";
|
|
363
392
|
Scope2["ORG_WRITE"] = "org:write";
|
|
364
393
|
Scope2["ORG_ADMIN"] = "org:admin";
|
|
365
|
-
Scope2["
|
|
394
|
+
Scope2["ORG_MANAGE_ADMINS"] = "org:manage_admins";
|
|
366
395
|
Scope2["ORG_DELETE"] = "org:delete";
|
|
367
396
|
return Scope2;
|
|
368
397
|
})(Scope || {});
|
|
@@ -373,6 +402,20 @@ var BulkMemberResultStatus = {
|
|
|
373
402
|
updated: "updated",
|
|
374
403
|
failed: "failed"
|
|
375
404
|
};
|
|
405
|
+
var MemberImportMatchInfoMatchType = {
|
|
406
|
+
external_id: "external_id",
|
|
407
|
+
email: "email",
|
|
408
|
+
phone: "phone",
|
|
409
|
+
account_email: "account_email",
|
|
410
|
+
account_phone: "account_phone"
|
|
411
|
+
};
|
|
412
|
+
var MemberImportPreviewRowAction = {
|
|
413
|
+
create: "create",
|
|
414
|
+
update: "update",
|
|
415
|
+
unchanged: "unchanged",
|
|
416
|
+
conflict: "conflict",
|
|
417
|
+
error: "error"
|
|
418
|
+
};
|
|
376
419
|
|
|
377
420
|
// src/types/member-types.ts
|
|
378
421
|
var MemberType = /* @__PURE__ */ ((MemberType2) => {
|
|
@@ -416,10 +459,14 @@ var EventRuleObjectType = /* @__PURE__ */ ((EventRuleObjectType2) => {
|
|
|
416
459
|
})(EventRuleObjectType || {});
|
|
417
460
|
var EventRuleEventType = /* @__PURE__ */ ((EventRuleEventType2) => {
|
|
418
461
|
EventRuleEventType2["TASK_EXECUTE"] = "task:execute";
|
|
462
|
+
EventRuleEventType2["TASK_ENTER"] = "task:enter";
|
|
463
|
+
EventRuleEventType2["TASK_COMMAND"] = "task:command";
|
|
464
|
+
EventRuleEventType2["TASK_EXIT"] = "task:exit";
|
|
419
465
|
EventRuleEventType2["MEMBER_JOINED"] = "workspace:member_joined";
|
|
420
466
|
EventRuleEventType2["MEMBER_LEFT"] = "workspace:member_left";
|
|
421
467
|
EventRuleEventType2["DATA_RECORD_CREATED"] = "data_record:created";
|
|
422
468
|
EventRuleEventType2["DATA_RECORD_UPDATED"] = "data_record:updated";
|
|
469
|
+
EventRuleEventType2["DATA_RECORD_CHANGED"] = "data_record:changed";
|
|
423
470
|
EventRuleEventType2["CHAT_CREATED"] = "chat:created";
|
|
424
471
|
EventRuleEventType2["CHAT_CALLBACK"] = "chat:callback";
|
|
425
472
|
EventRuleEventType2["MEMBER_UPDATED"] = "member:updated";
|
|
@@ -449,6 +496,7 @@ var EventRuleActionType = /* @__PURE__ */ ((EventRuleActionType2) => {
|
|
|
449
496
|
EventRuleActionType2["SWITCH_TASK_ACTION"] = "task:switch";
|
|
450
497
|
EventRuleActionType2["ASSISTANT_MESSAGE"] = "assistant:message";
|
|
451
498
|
EventRuleActionType2["FORM_FIELD_UPDATE"] = "form:update_field";
|
|
499
|
+
EventRuleActionType2["CEL_MUTATE"] = "record:cel_mutate";
|
|
452
500
|
EventRuleActionType2["MESSAGE_VALIDATION"] = "message:validation";
|
|
453
501
|
EventRuleActionType2["CHAT_CREATE"] = "chat:create";
|
|
454
502
|
EventRuleActionType2["CHAT_CONTINUE"] = "chat:continue";
|
|
@@ -497,7 +545,6 @@ var WorkspaceFeature = /* @__PURE__ */ ((WorkspaceFeature2) => {
|
|
|
497
545
|
WorkspaceFeature2["GCALENDAR"] = "gcalendar";
|
|
498
546
|
WorkspaceFeature2["MONDAY"] = "monday";
|
|
499
547
|
WorkspaceFeature2["RESELL_PRODUCTS"] = "resell_products";
|
|
500
|
-
WorkspaceFeature2["HIPAA_COMPLIANCE"] = "hipaa_compliance";
|
|
501
548
|
WorkspaceFeature2["SOC2_COMPLIANCE"] = "soc2_compliance";
|
|
502
549
|
WorkspaceFeature2["EHR_FHIR"] = "ehr_fhir";
|
|
503
550
|
WorkspaceFeature2["EHR_ECLINICALWORKS"] = "ehr_eclinicalworks";
|
|
@@ -507,7 +554,6 @@ var WorkspaceFeature = /* @__PURE__ */ ((WorkspaceFeature2) => {
|
|
|
507
554
|
WorkspaceFeature2["CONFLUENCE"] = "confluence";
|
|
508
555
|
WorkspaceFeature2["AGENT_MEMORY"] = "agent_memory";
|
|
509
556
|
WorkspaceFeature2["IMAGE_GENERATION"] = "image_generation";
|
|
510
|
-
WorkspaceFeature2["WORKFLOW_VERSIONING"] = "workflow_versioning";
|
|
511
557
|
return WorkspaceFeature2;
|
|
512
558
|
})(WorkspaceFeature || {});
|
|
513
559
|
var MemberFeature = /* @__PURE__ */ ((MemberFeature2) => {
|
|
@@ -521,7 +567,6 @@ var MemberFeature = /* @__PURE__ */ ((MemberFeature2) => {
|
|
|
521
567
|
var OrgFeature = /* @__PURE__ */ ((OrgFeature2) => {
|
|
522
568
|
OrgFeature2["SSO"] = "sso";
|
|
523
569
|
OrgFeature2["AUDIT_LOGS"] = "audit_logs";
|
|
524
|
-
OrgFeature2["HIPAA_COMPLIANCE"] = "hipaa_compliance";
|
|
525
570
|
OrgFeature2["SOC2_COMPLIANCE"] = "soc2_compliance";
|
|
526
571
|
OrgFeature2["CUSTOM_BRANDING"] = "custom_branding";
|
|
527
572
|
OrgFeature2["PRIORITY_SUPPORT"] = "priority_support";
|
|
@@ -590,6 +635,12 @@ var InvitationStatus = /* @__PURE__ */ ((InvitationStatus2) => {
|
|
|
590
635
|
return InvitationStatus2;
|
|
591
636
|
})(InvitationStatus || {});
|
|
592
637
|
|
|
638
|
+
// src/types/generated/data.ts
|
|
639
|
+
var DataRecordRetirementResponseReason = {
|
|
640
|
+
monday_item_archived: "monday_item_archived",
|
|
641
|
+
monday_item_deleted: "monday_item_deleted"
|
|
642
|
+
};
|
|
643
|
+
|
|
593
644
|
// src/types/data-types.ts
|
|
594
645
|
var DataFieldType = /* @__PURE__ */ ((DataFieldType2) => {
|
|
595
646
|
DataFieldType2["ENUM"] = "enum";
|
|
@@ -651,7 +702,6 @@ var ModelProvider = {
|
|
|
651
702
|
aws: "aws",
|
|
652
703
|
elevenlabs: "elevenlabs",
|
|
653
704
|
deepgram: "deepgram",
|
|
654
|
-
pocket: "pocket",
|
|
655
705
|
xai: "xai",
|
|
656
706
|
custom: "custom"
|
|
657
707
|
};
|
|
@@ -681,7 +731,10 @@ var TTS_MODEL_ELEVENLABS_MULTILINGUAL = "elevenlabs:tts:eleven_multilingual_v2";
|
|
|
681
731
|
var TTS_MODEL_DEEPGRAM_AURA_2 = "deepgram:tts:aura-2";
|
|
682
732
|
var TTS_MODEL_AWS_POLLY_GENERATIVE = "aws:tts:polly-generative";
|
|
683
733
|
var TTS_MODEL_AWS_POLLY_NEURAL = "aws:tts:polly-neural";
|
|
684
|
-
|
|
734
|
+
|
|
735
|
+
// src/types/pids-types.ts
|
|
736
|
+
var PIDS_DISPOSITIONS = ["true_positive", "false_positive", "needs_more_context"];
|
|
737
|
+
var PIDS_SOURCES = ["scheduled", "backfill", "pre_llm"];
|
|
685
738
|
|
|
686
739
|
// src/types/calendar-types.ts
|
|
687
740
|
var CalendarPermissionType = /* @__PURE__ */ ((CalendarPermissionType2) => {
|
|
@@ -775,8 +828,15 @@ var AccessGrantResourceType = /* @__PURE__ */ ((AccessGrantResourceType2) => {
|
|
|
775
828
|
AccessGrantResourceType2["SITE"] = "site";
|
|
776
829
|
AccessGrantResourceType2["ASSIGNMENT"] = "assignment";
|
|
777
830
|
AccessGrantResourceType2["APP_CONNECTION"] = "app_connection";
|
|
831
|
+
AccessGrantResourceType2["CAPABILITY"] = "capability";
|
|
778
832
|
return AccessGrantResourceType2;
|
|
779
833
|
})(AccessGrantResourceType || {});
|
|
834
|
+
var CapabilityClass = /* @__PURE__ */ ((CapabilityClass2) => {
|
|
835
|
+
CapabilityClass2["TOOL_ALWAYS_ALLOW"] = "tool.always_allow";
|
|
836
|
+
CapabilityClass2["SELF_MODIFICATION_SCHEDULE"] = "self_modification.schedule";
|
|
837
|
+
CapabilityClass2["ATTENTION_INTERRUPT_RUNG"] = "attention.interrupt_rung";
|
|
838
|
+
return CapabilityClass2;
|
|
839
|
+
})(CapabilityClass || {});
|
|
780
840
|
var AccessGrantStatus = /* @__PURE__ */ ((AccessGrantStatus2) => {
|
|
781
841
|
AccessGrantStatus2["PENDING"] = "pending";
|
|
782
842
|
AccessGrantStatus2["ACTIVE"] = "active";
|
|
@@ -821,15 +881,20 @@ var AbilityTypeSlugs = {
|
|
|
821
881
|
TOOLKITS: "tools:toolkits",
|
|
822
882
|
WEB_SEARCH: "tools:web_search",
|
|
823
883
|
CONVERSATION_HISTORY: "tools:conversation_history",
|
|
884
|
+
IMAGE_GENERATION: "tools:image_generation",
|
|
885
|
+
CONVERSATION_CONTROL: "tools:conversation_control",
|
|
824
886
|
// Integration
|
|
825
887
|
CALENDAR_BOOKING: "integration:calendar_booking",
|
|
826
888
|
FILE_ACCESS: "integration:file_access",
|
|
827
889
|
DATA_ACCESS: "integration:data_access",
|
|
828
890
|
GMAIL: "integration:gmail",
|
|
891
|
+
GOOGLE_CALENDAR: "integration:google_calendar",
|
|
892
|
+
GOOGLE_DRIVE: "integration:google_drive",
|
|
829
893
|
CHARLESTON_PMD_PAGING: "integration:charleston_pmd_paging",
|
|
830
894
|
// Communication
|
|
831
895
|
PHONE_CALL_TOOLS: "communication:phone_call_tools",
|
|
832
896
|
SEND_SMS: "communication:send_sms",
|
|
897
|
+
SEND_WHATSAPP: "communication:send_whatsapp",
|
|
833
898
|
MEMBER_ACCESS: "communication:member_access",
|
|
834
899
|
AUDIO_PLAYBACK: "communication:audio_playback",
|
|
835
900
|
// Oversight
|
|
@@ -838,12 +903,209 @@ var AbilityTypeSlugs = {
|
|
|
838
903
|
ESCALATION: "oversight:escalation",
|
|
839
904
|
// Identity
|
|
840
905
|
MEMBER_FIELD_VERIFICATION: "identity:member_field_verification",
|
|
906
|
+
// Delegation
|
|
907
|
+
CONTRIBUTOR: "delegation:contributor",
|
|
908
|
+
// Workflow
|
|
909
|
+
WORKFLOW_RUN: "workflow:run",
|
|
910
|
+
// Commerce
|
|
911
|
+
RESELLER: "commerce:reseller",
|
|
841
912
|
// System (auto-injected, hidden from users)
|
|
842
913
|
USER_MESSAGE_RULES: "system:user_message_rules",
|
|
843
914
|
ASSISTANT_MESSAGE_RULES: "chat:assistant_message_rules",
|
|
844
915
|
CEL_ROUTING: "system:cel_routing"
|
|
845
916
|
};
|
|
846
917
|
|
|
918
|
+
// src/types/query-engine-types.ts
|
|
919
|
+
var QUERY_VALUELESS_OPS = /* @__PURE__ */ new Set([
|
|
920
|
+
"isEmpty",
|
|
921
|
+
"notEmpty",
|
|
922
|
+
"exists"
|
|
923
|
+
]);
|
|
924
|
+
|
|
925
|
+
// src/types/generated/customer_activity.ts
|
|
926
|
+
var CustomerActivityClassifierDetectorName = {
|
|
927
|
+
assignment_chat_classifier: "assignment_chat_classifier",
|
|
928
|
+
manager_chat_classifier: "manager_chat_classifier",
|
|
929
|
+
concierge_chat_classifier: "concierge_chat_classifier",
|
|
930
|
+
chat_review: "chat_review"
|
|
931
|
+
};
|
|
932
|
+
var CustomerActivityClassifierLabel = {
|
|
933
|
+
user_distress: "user_distress",
|
|
934
|
+
user_confusion: "user_confusion",
|
|
935
|
+
health_topic_mentioned: "health_topic_mentioned",
|
|
936
|
+
health_advice_given: "health_advice_given",
|
|
937
|
+
escalation_failure: "escalation_failure",
|
|
938
|
+
repeated_tool_failure: "repeated_tool_failure",
|
|
939
|
+
transcription_quality: "transcription_quality",
|
|
940
|
+
repetitive_loop: "repetitive_loop"
|
|
941
|
+
};
|
|
942
|
+
var CustomerActivityEventSource = {
|
|
943
|
+
system: "system",
|
|
944
|
+
customer: "customer",
|
|
945
|
+
classifier: "classifier",
|
|
946
|
+
operator: "operator"
|
|
947
|
+
};
|
|
948
|
+
var CustomerActivityEventStatus = {
|
|
949
|
+
new: "new",
|
|
950
|
+
reviewed: "reviewed"
|
|
951
|
+
};
|
|
952
|
+
var CustomerActivityReviewOutcome = {
|
|
953
|
+
no_action_needed: "no_action_needed",
|
|
954
|
+
support_request_created: "support_request_created",
|
|
955
|
+
bug_filed: "bug_filed",
|
|
956
|
+
linked_existing_work: "linked_existing_work",
|
|
957
|
+
classifier_feedback: "classifier_feedback",
|
|
958
|
+
test_activity: "test_activity"
|
|
959
|
+
};
|
|
960
|
+
var CustomerActivitySeverity = {
|
|
961
|
+
none: "none",
|
|
962
|
+
minimal: "minimal",
|
|
963
|
+
low: "low",
|
|
964
|
+
medium: "medium",
|
|
965
|
+
high: "high",
|
|
966
|
+
critical: "critical"
|
|
967
|
+
};
|
|
968
|
+
|
|
969
|
+
// src/types/generated/phi_posture.ts
|
|
970
|
+
var PhiPolicyReason = {
|
|
971
|
+
initial_classification: "initial_classification",
|
|
972
|
+
customer_confirmation: "customer_confirmation",
|
|
973
|
+
agreement_verified: "agreement_verified",
|
|
974
|
+
scope_change: "scope_change",
|
|
975
|
+
periodic_review: "periodic_review",
|
|
976
|
+
correction: "correction",
|
|
977
|
+
incident_response: "incident_response"
|
|
978
|
+
};
|
|
979
|
+
var PhiPolicySource = {
|
|
980
|
+
customer_attestation: "customer_attestation",
|
|
981
|
+
contract_review: "contract_review",
|
|
982
|
+
staff_review: "staff_review",
|
|
983
|
+
legacy_inventory: "legacy_inventory"
|
|
984
|
+
};
|
|
985
|
+
var PhiPostureTransitionResponseTargetType = {
|
|
986
|
+
organization: "organization",
|
|
987
|
+
workspace: "workspace"
|
|
988
|
+
};
|
|
989
|
+
|
|
990
|
+
// src/types/generated/organization.ts
|
|
991
|
+
var BusinessIndustry = {
|
|
992
|
+
AGRICULTURE: "AGRICULTURE",
|
|
993
|
+
AUTOMOTIVE: "AUTOMOTIVE",
|
|
994
|
+
BANKING: "BANKING",
|
|
995
|
+
CONSUMER: "CONSUMER",
|
|
996
|
+
EDUCATION: "EDUCATION",
|
|
997
|
+
ELECTRONICS: "ELECTRONICS",
|
|
998
|
+
ENERGY: "ENERGY",
|
|
999
|
+
ENGINEERING: "ENGINEERING",
|
|
1000
|
+
FAST_MOVING_CONSUMER_GOODS: "FAST_MOVING_CONSUMER_GOODS",
|
|
1001
|
+
FINANCIAL: "FINANCIAL",
|
|
1002
|
+
FINTECH: "FINTECH",
|
|
1003
|
+
FOOD_AND_BEVERAGE: "FOOD_AND_BEVERAGE",
|
|
1004
|
+
GOVERNMENT: "GOVERNMENT",
|
|
1005
|
+
HEALTHCARE: "HEALTHCARE",
|
|
1006
|
+
HOSPITALITY: "HOSPITALITY",
|
|
1007
|
+
INSURANCE: "INSURANCE",
|
|
1008
|
+
JEWELRY: "JEWELRY",
|
|
1009
|
+
LEGAL: "LEGAL",
|
|
1010
|
+
MANUFACTURING: "MANUFACTURING",
|
|
1011
|
+
MEDIA: "MEDIA",
|
|
1012
|
+
NOT_FOR_PROFIT: "NOT_FOR_PROFIT",
|
|
1013
|
+
OIL_AND_GAS: "OIL_AND_GAS",
|
|
1014
|
+
ONLINE: "ONLINE",
|
|
1015
|
+
RAW_MATERIALS: "RAW_MATERIALS",
|
|
1016
|
+
REAL_ESTATE: "REAL_ESTATE",
|
|
1017
|
+
RELIGION: "RELIGION",
|
|
1018
|
+
RETAIL: "RETAIL",
|
|
1019
|
+
TECHNOLOGY: "TECHNOLOGY",
|
|
1020
|
+
TELECOMMUNICATIONS: "TELECOMMUNICATIONS",
|
|
1021
|
+
TRANSPORTATION: "TRANSPORTATION",
|
|
1022
|
+
TRAVEL: "TRAVEL"
|
|
1023
|
+
};
|
|
1024
|
+
var BusinessType = {
|
|
1025
|
+
Sole_Proprietorship: "Sole Proprietorship",
|
|
1026
|
+
Partnership: "Partnership",
|
|
1027
|
+
Limited_Liability_Corporation: "Limited Liability Corporation",
|
|
1028
|
+
"Co-operative": "Co-operative",
|
|
1029
|
+
"Non-profit_Corporation": "Non-profit Corporation",
|
|
1030
|
+
Corporation: "Corporation"
|
|
1031
|
+
};
|
|
1032
|
+
var DeclaredDataUse = {
|
|
1033
|
+
unclassified: "unclassified",
|
|
1034
|
+
non_phi_only: "non_phi_only",
|
|
1035
|
+
phi_expected: "phi_expected"
|
|
1036
|
+
};
|
|
1037
|
+
var EmailDnsRecordType = {
|
|
1038
|
+
TXT: "TXT",
|
|
1039
|
+
CNAME: "CNAME",
|
|
1040
|
+
MX: "MX"
|
|
1041
|
+
};
|
|
1042
|
+
var JobPosition = {
|
|
1043
|
+
Director: "Director",
|
|
1044
|
+
GM: "GM",
|
|
1045
|
+
VP: "VP",
|
|
1046
|
+
CEO: "CEO",
|
|
1047
|
+
CFO: "CFO",
|
|
1048
|
+
General_Counsel: "General Counsel",
|
|
1049
|
+
Other: "Other"
|
|
1050
|
+
};
|
|
1051
|
+
var OIDCAdminConfigViewProviderType = {
|
|
1052
|
+
azure_ad: "azure_ad",
|
|
1053
|
+
okta: "okta",
|
|
1054
|
+
auth0: "auth0",
|
|
1055
|
+
generic: "generic"
|
|
1056
|
+
};
|
|
1057
|
+
var Region = {
|
|
1058
|
+
AFRICA: "AFRICA",
|
|
1059
|
+
ASIA: "ASIA",
|
|
1060
|
+
EUROPE: "EUROPE",
|
|
1061
|
+
LATIN_AMERICA: "LATIN_AMERICA",
|
|
1062
|
+
USA_AND_CANADA: "USA_AND_CANADA",
|
|
1063
|
+
AUSTRALIA: "AUSTRALIA"
|
|
1064
|
+
};
|
|
1065
|
+
var RegistrationIdentifier = {
|
|
1066
|
+
EIN: "EIN",
|
|
1067
|
+
CBN: "CBN",
|
|
1068
|
+
CN: "CN",
|
|
1069
|
+
ACN: "ACN",
|
|
1070
|
+
CIN: "CIN",
|
|
1071
|
+
VAT: "VAT",
|
|
1072
|
+
VATRN: "VATRN",
|
|
1073
|
+
RN: "RN",
|
|
1074
|
+
DUNS: "DUNS",
|
|
1075
|
+
Other: "Other"
|
|
1076
|
+
};
|
|
1077
|
+
var SiteDnsRecordType = {
|
|
1078
|
+
CNAME: "CNAME",
|
|
1079
|
+
A: "A",
|
|
1080
|
+
TXT: "TXT"
|
|
1081
|
+
};
|
|
1082
|
+
|
|
1083
|
+
// src/types/generated/workspace.ts
|
|
1084
|
+
var PhiDataPolicy = {
|
|
1085
|
+
unclassified: "unclassified",
|
|
1086
|
+
phi_prohibited: "phi_prohibited",
|
|
1087
|
+
phi_permitted: "phi_permitted"
|
|
1088
|
+
};
|
|
1089
|
+
var PhiPostureDecision = {
|
|
1090
|
+
allow_non_phi: "allow_non_phi",
|
|
1091
|
+
warn_non_phi: "warn_non_phi",
|
|
1092
|
+
review_required: "review_required",
|
|
1093
|
+
authorization_required: "authorization_required",
|
|
1094
|
+
conflict: "conflict"
|
|
1095
|
+
};
|
|
1096
|
+
var PhiPostureReasonCode = {
|
|
1097
|
+
org_unclassified: "org_unclassified",
|
|
1098
|
+
workspace_unclassified: "workspace_unclassified",
|
|
1099
|
+
non_phi_policy_aligned: "non_phi_policy_aligned",
|
|
1100
|
+
phi_expected_workspace_prohibited: "phi_expected_workspace_prohibited",
|
|
1101
|
+
phi_authorization_not_evaluated: "phi_authorization_not_evaluated",
|
|
1102
|
+
non_phi_org_workspace_permitted: "non_phi_org_workspace_permitted",
|
|
1103
|
+
phi_permitted_org_not_expected: "phi_permitted_org_not_expected",
|
|
1104
|
+
organization_review_expired: "organization_review_expired",
|
|
1105
|
+
workspace_review_expired: "workspace_review_expired",
|
|
1106
|
+
invalid_state: "invalid_state"
|
|
1107
|
+
};
|
|
1108
|
+
|
|
847
1109
|
// src/types/model-config-types.ts
|
|
848
1110
|
var DEFAULT_THINKING_SPEECH_PHRASES = [
|
|
849
1111
|
"One moment please",
|
|
@@ -859,7 +1121,6 @@ var TTS_PREVIEW_PROVIDERS = [
|
|
|
859
1121
|
"elevenlabs",
|
|
860
1122
|
"google",
|
|
861
1123
|
"aws",
|
|
862
|
-
"pocket",
|
|
863
1124
|
"deepgram",
|
|
864
1125
|
"xai"
|
|
865
1126
|
];
|
|
@@ -1025,94 +1286,10 @@ var SMS_DELIVERY_FAILURE_STATUSES = /* @__PURE__ */ new Set([
|
|
|
1025
1286
|
function isSMSDeliveryFailureStatus(status) {
|
|
1026
1287
|
return status != null && SMS_DELIVERY_FAILURE_STATUSES.has(status);
|
|
1027
1288
|
}
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
AUTOMOTIVE: "AUTOMOTIVE",
|
|
1033
|
-
BANKING: "BANKING",
|
|
1034
|
-
CONSUMER: "CONSUMER",
|
|
1035
|
-
EDUCATION: "EDUCATION",
|
|
1036
|
-
ELECTRONICS: "ELECTRONICS",
|
|
1037
|
-
ENERGY: "ENERGY",
|
|
1038
|
-
ENGINEERING: "ENGINEERING",
|
|
1039
|
-
FAST_MOVING_CONSUMER_GOODS: "FAST_MOVING_CONSUMER_GOODS",
|
|
1040
|
-
FINANCIAL: "FINANCIAL",
|
|
1041
|
-
FINTECH: "FINTECH",
|
|
1042
|
-
FOOD_AND_BEVERAGE: "FOOD_AND_BEVERAGE",
|
|
1043
|
-
GOVERNMENT: "GOVERNMENT",
|
|
1044
|
-
HEALTHCARE: "HEALTHCARE",
|
|
1045
|
-
HOSPITALITY: "HOSPITALITY",
|
|
1046
|
-
INSURANCE: "INSURANCE",
|
|
1047
|
-
JEWELRY: "JEWELRY",
|
|
1048
|
-
LEGAL: "LEGAL",
|
|
1049
|
-
MANUFACTURING: "MANUFACTURING",
|
|
1050
|
-
MEDIA: "MEDIA",
|
|
1051
|
-
NOT_FOR_PROFIT: "NOT_FOR_PROFIT",
|
|
1052
|
-
OIL_AND_GAS: "OIL_AND_GAS",
|
|
1053
|
-
ONLINE: "ONLINE",
|
|
1054
|
-
RAW_MATERIALS: "RAW_MATERIALS",
|
|
1055
|
-
REAL_ESTATE: "REAL_ESTATE",
|
|
1056
|
-
RELIGION: "RELIGION",
|
|
1057
|
-
RETAIL: "RETAIL",
|
|
1058
|
-
TECHNOLOGY: "TECHNOLOGY",
|
|
1059
|
-
TELECOMMUNICATIONS: "TELECOMMUNICATIONS",
|
|
1060
|
-
TRANSPORTATION: "TRANSPORTATION",
|
|
1061
|
-
TRAVEL: "TRAVEL"
|
|
1062
|
-
};
|
|
1063
|
-
var BusinessType = {
|
|
1064
|
-
Sole_Proprietorship: "Sole Proprietorship",
|
|
1065
|
-
Partnership: "Partnership",
|
|
1066
|
-
Limited_Liability_Corporation: "Limited Liability Corporation",
|
|
1067
|
-
"Co-operative": "Co-operative",
|
|
1068
|
-
"Non-profit_Corporation": "Non-profit Corporation",
|
|
1069
|
-
Corporation: "Corporation"
|
|
1070
|
-
};
|
|
1071
|
-
var EmailDnsRecordType = {
|
|
1072
|
-
TXT: "TXT",
|
|
1073
|
-
CNAME: "CNAME",
|
|
1074
|
-
MX: "MX"
|
|
1075
|
-
};
|
|
1076
|
-
var JobPosition = {
|
|
1077
|
-
Director: "Director",
|
|
1078
|
-
GM: "GM",
|
|
1079
|
-
VP: "VP",
|
|
1080
|
-
CEO: "CEO",
|
|
1081
|
-
CFO: "CFO",
|
|
1082
|
-
General_Counsel: "General Counsel",
|
|
1083
|
-
Other: "Other"
|
|
1084
|
-
};
|
|
1085
|
-
var OIDCAdminConfigViewProviderType = {
|
|
1086
|
-
azure_ad: "azure_ad",
|
|
1087
|
-
okta: "okta",
|
|
1088
|
-
auth0: "auth0",
|
|
1089
|
-
generic: "generic"
|
|
1090
|
-
};
|
|
1091
|
-
var Region = {
|
|
1092
|
-
AFRICA: "AFRICA",
|
|
1093
|
-
ASIA: "ASIA",
|
|
1094
|
-
EUROPE: "EUROPE",
|
|
1095
|
-
LATIN_AMERICA: "LATIN_AMERICA",
|
|
1096
|
-
USA_AND_CANADA: "USA_AND_CANADA",
|
|
1097
|
-
AUSTRALIA: "AUSTRALIA"
|
|
1098
|
-
};
|
|
1099
|
-
var RegistrationIdentifier = {
|
|
1100
|
-
EIN: "EIN",
|
|
1101
|
-
CBN: "CBN",
|
|
1102
|
-
CN: "CN",
|
|
1103
|
-
ACN: "ACN",
|
|
1104
|
-
CIN: "CIN",
|
|
1105
|
-
VAT: "VAT",
|
|
1106
|
-
VATRN: "VATRN",
|
|
1107
|
-
RN: "RN",
|
|
1108
|
-
DUNS: "DUNS",
|
|
1109
|
-
Other: "Other"
|
|
1110
|
-
};
|
|
1111
|
-
var SiteDnsRecordType = {
|
|
1112
|
-
CNAME: "CNAME",
|
|
1113
|
-
A: "A",
|
|
1114
|
-
TXT: "TXT"
|
|
1115
|
-
};
|
|
1289
|
+
var POSITIVE_RATING_THRESHOLD = 0.5;
|
|
1290
|
+
function isPositiveRating(rating) {
|
|
1291
|
+
return rating != null && rating >= POSITIVE_RATING_THRESHOLD;
|
|
1292
|
+
}
|
|
1116
1293
|
|
|
1117
1294
|
// src/types/generated/site.ts
|
|
1118
1295
|
var MenuItemResponseItemType = {
|
|
@@ -1122,11 +1299,15 @@ var MenuItemResponseItemType = {
|
|
|
1122
1299
|
none: "none"
|
|
1123
1300
|
};
|
|
1124
1301
|
|
|
1302
|
+
// src/types/widget-domain-types.ts
|
|
1303
|
+
var WIDGET_SLUGS = ["chat", "operator", "operator-tools", "chat-app"];
|
|
1304
|
+
|
|
1125
1305
|
// src/types/generated/task.ts
|
|
1126
1306
|
var AbilityConfigIssueCode = {
|
|
1127
1307
|
missing_resource: "missing_resource",
|
|
1128
1308
|
invalid_state: "invalid_state",
|
|
1129
1309
|
feature_disabled: "feature_disabled",
|
|
1310
|
+
missing_connection: "missing_connection",
|
|
1130
1311
|
external_drift: "external_drift"
|
|
1131
1312
|
};
|
|
1132
1313
|
var AbilityConfigIssueSeverity = {
|
|
@@ -1305,21 +1486,16 @@ var CHAT_TYPES = {
|
|
|
1305
1486
|
ASSIGNMENT: "assignment",
|
|
1306
1487
|
MANAGER: "manager",
|
|
1307
1488
|
CONTRIBUTOR: "contributor",
|
|
1308
|
-
|
|
1309
|
-
MEMBER: "member",
|
|
1310
|
-
/** @deprecated Use MEMBER instead */
|
|
1311
|
-
AGENT: "member",
|
|
1312
|
-
/** @deprecated Use MEMBER instead */
|
|
1313
|
-
DM: "member"
|
|
1489
|
+
DM: "dm"
|
|
1314
1490
|
};
|
|
1315
1491
|
var BUILTIN_ASSISTANT_CHAT_TYPES = /* @__PURE__ */ new Set([
|
|
1316
1492
|
CHAT_TYPES.MANAGER,
|
|
1317
|
-
CHAT_TYPES.CONTRIBUTOR
|
|
1318
|
-
CHAT_TYPES.DEVELOPER
|
|
1493
|
+
CHAT_TYPES.CONTRIBUTOR
|
|
1319
1494
|
]);
|
|
1495
|
+
var MEMBER_AGENT_CHAT_TYPES = /* @__PURE__ */ new Set([CHAT_TYPES.DM]);
|
|
1320
1496
|
var NO_ASSISTANT_PARTICIPANT_CHAT_TYPES = /* @__PURE__ */ new Set([
|
|
1321
1497
|
...BUILTIN_ASSISTANT_CHAT_TYPES,
|
|
1322
|
-
|
|
1498
|
+
...MEMBER_AGENT_CHAT_TYPES
|
|
1323
1499
|
]);
|
|
1324
1500
|
function usesBuiltinAssistant(chatType) {
|
|
1325
1501
|
return BUILTIN_ASSISTANT_CHAT_TYPES.has(chatType);
|
|
@@ -1973,6 +2149,19 @@ var SCOPE_PRESETS = {
|
|
|
1973
2149
|
ALL: Object.keys(SCOPES)
|
|
1974
2150
|
};
|
|
1975
2151
|
|
|
2152
|
+
// src/utils/revision-state.ts
|
|
2153
|
+
function getRevisionState(workflow, revision) {
|
|
2154
|
+
const draftIsLive = workflow.activeRevisionId === workflow.draftRevisionId;
|
|
2155
|
+
const hasUnpublishedChanges = workflow.draftModifiedAt != null;
|
|
2156
|
+
return {
|
|
2157
|
+
isActive: revision != null && revision.id === workflow.activeRevisionId,
|
|
2158
|
+
isDraft: revision != null && revision.id === workflow.draftRevisionId,
|
|
2159
|
+
draftIsLive,
|
|
2160
|
+
hasUnpublishedChanges,
|
|
2161
|
+
state: revision?.publishedAt != null ? "published" : "draft"
|
|
2162
|
+
};
|
|
2163
|
+
}
|
|
2164
|
+
|
|
1976
2165
|
// src/api/base.ts
|
|
1977
2166
|
function getCookieValue(name) {
|
|
1978
2167
|
if (typeof document === "undefined") return void 0;
|
|
@@ -2030,6 +2219,22 @@ function parseOrgAuthChallenge(wwwAuthenticate) {
|
|
|
2030
2219
|
authUrl: authUrlMatch[1]
|
|
2031
2220
|
};
|
|
2032
2221
|
}
|
|
2222
|
+
function getRequestOrgCookieName(cookieName) {
|
|
2223
|
+
if (cookieName.startsWith("orgToken")) {
|
|
2224
|
+
return cookieName.replace(/^orgToken/, "requestOrgToken");
|
|
2225
|
+
}
|
|
2226
|
+
if (cookieName.startsWith("orgSession")) {
|
|
2227
|
+
return cookieName.replace(/^orgSession/, "requestOrgSession");
|
|
2228
|
+
}
|
|
2229
|
+
return null;
|
|
2230
|
+
}
|
|
2231
|
+
function orgAuthHeaderName(token) {
|
|
2232
|
+
return token.startsWith("gr_sess_") ? "X-Org-Session" : "X-Org-Token";
|
|
2233
|
+
}
|
|
2234
|
+
function setOrgAuthHeader(headers, token) {
|
|
2235
|
+
if (!token) return;
|
|
2236
|
+
headers.set(orgAuthHeaderName(token), token);
|
|
2237
|
+
}
|
|
2033
2238
|
var BaseApiClient = class {
|
|
2034
2239
|
baseUrl;
|
|
2035
2240
|
apiKey;
|
|
@@ -2040,15 +2245,15 @@ var BaseApiClient = class {
|
|
|
2040
2245
|
orgAuthHandler;
|
|
2041
2246
|
orgAuthInProgress = null;
|
|
2042
2247
|
actingMemberUuid;
|
|
2043
|
-
|
|
2248
|
+
orgSession;
|
|
2044
2249
|
/**
|
|
2045
|
-
* The org_uuid that issued the current
|
|
2250
|
+
* The org_uuid that issued the current org auth credential. Tracked so we can detect
|
|
2046
2251
|
* a 401 challenge from a *different* org and re-fire the handler — the
|
|
2047
|
-
*
|
|
2048
|
-
*
|
|
2049
|
-
*
|
|
2252
|
+
* credential is opaque to the client, so without this the original guard
|
|
2253
|
+
* `!this.orgSession` would prevent re-auth across orgs and surface as a silent
|
|
2254
|
+
* 401 in multi-org CLI workflows.
|
|
2050
2255
|
*/
|
|
2051
|
-
|
|
2256
|
+
orgSessionOrgUuid;
|
|
2052
2257
|
constructor(apiKey, baseUrl, customFetch) {
|
|
2053
2258
|
this.baseUrl = baseUrl;
|
|
2054
2259
|
this.apiKey = apiKey;
|
|
@@ -2095,18 +2300,25 @@ var BaseApiClient = class {
|
|
|
2095
2300
|
return this.actingMemberUuid;
|
|
2096
2301
|
}
|
|
2097
2302
|
/**
|
|
2098
|
-
* Set the org
|
|
2099
|
-
*
|
|
2100
|
-
*
|
|
2303
|
+
* Set the opaque org session credential for cross-domain requests.
|
|
2304
|
+
* Opaque gr_sess_ values use X-Org-Session. Legacy orgToken JWE values still
|
|
2305
|
+
* use X-Org-Token through setOrgToken() during the migration window.
|
|
2101
2306
|
*
|
|
2102
|
-
* `orgUuid` is the org that issued the
|
|
2103
|
-
* handler detect a stale
|
|
2307
|
+
* `orgUuid` is the org that issued the credential; passing it lets the 401
|
|
2308
|
+
* handler detect a stale session when a subsequent request targets a
|
|
2104
2309
|
* different org and re-fire the org-auth handler instead of silently
|
|
2105
2310
|
* 401-ing. Callers without that context (legacy / unknown) may omit it.
|
|
2106
2311
|
*/
|
|
2312
|
+
setOrgSession(session, orgUuid) {
|
|
2313
|
+
this.orgSession = session;
|
|
2314
|
+
this.orgSessionOrgUuid = session ? orgUuid : void 0;
|
|
2315
|
+
}
|
|
2316
|
+
/**
|
|
2317
|
+
* @deprecated Legacy compatibility for stateless orgToken JWE credentials.
|
|
2318
|
+
* Prefer setOrgSession() for opaque org browser sessions.
|
|
2319
|
+
*/
|
|
2107
2320
|
setOrgToken(token, orgUuid) {
|
|
2108
|
-
this.
|
|
2109
|
-
this.orgTokenOrgUuid = token ? orgUuid : void 0;
|
|
2321
|
+
this.setOrgSession(token, orgUuid);
|
|
2110
2322
|
}
|
|
2111
2323
|
async fetch(endpoint, options) {
|
|
2112
2324
|
try {
|
|
@@ -2127,9 +2339,7 @@ var BaseApiClient = class {
|
|
|
2127
2339
|
if (this.actingMemberUuid) {
|
|
2128
2340
|
headers.set("X-Acting-Member", this.actingMemberUuid);
|
|
2129
2341
|
}
|
|
2130
|
-
|
|
2131
|
-
headers.set("X-Org-Token", this.orgToken);
|
|
2132
|
-
}
|
|
2342
|
+
setOrgAuthHeader(headers, this.orgSession);
|
|
2133
2343
|
const fullUrl = `${this.baseUrl}/api/v2/${endpoint}`;
|
|
2134
2344
|
const response = await this.fetchFunction(fullUrl, {
|
|
2135
2345
|
...options,
|
|
@@ -2153,31 +2363,28 @@ var BaseApiClient = class {
|
|
|
2153
2363
|
try {
|
|
2154
2364
|
return await this.fetch(endpoint, options);
|
|
2155
2365
|
} catch (retryError) {
|
|
2156
|
-
this.
|
|
2157
|
-
this.
|
|
2366
|
+
this.orgSession = void 0;
|
|
2367
|
+
this.orgSessionOrgUuid = void 0;
|
|
2158
2368
|
throw retryError;
|
|
2159
2369
|
}
|
|
2160
2370
|
}
|
|
2161
2371
|
if (response.status === 401) {
|
|
2162
2372
|
const orgAuthInfo = parseOrgAuthChallenge(response.headers.get("WWW-Authenticate"));
|
|
2163
|
-
if (orgAuthInfo && this.
|
|
2164
|
-
this.
|
|
2165
|
-
this.
|
|
2373
|
+
if (orgAuthInfo && this.orgSession && this.orgSessionOrgUuid && this.orgSessionOrgUuid !== orgAuthInfo.orgUuid) {
|
|
2374
|
+
this.orgSession = void 0;
|
|
2375
|
+
this.orgSessionOrgUuid = void 0;
|
|
2166
2376
|
}
|
|
2167
|
-
if (orgAuthInfo && !this.
|
|
2168
|
-
const requestCookieName = orgAuthInfo.cookieName
|
|
2169
|
-
|
|
2170
|
-
|
|
2171
|
-
|
|
2172
|
-
|
|
2173
|
-
if (cachedOrgToken) {
|
|
2174
|
-
this.orgToken = cachedOrgToken;
|
|
2175
|
-
this.orgTokenOrgUuid = orgAuthInfo.orgUuid;
|
|
2377
|
+
if (orgAuthInfo && !this.orgSession) {
|
|
2378
|
+
const requestCookieName = getRequestOrgCookieName(orgAuthInfo.cookieName);
|
|
2379
|
+
const cachedOrgSession = requestCookieName ? getCookieValue(requestCookieName) : void 0;
|
|
2380
|
+
if (cachedOrgSession) {
|
|
2381
|
+
this.orgSession = cachedOrgSession;
|
|
2382
|
+
this.orgSessionOrgUuid = orgAuthInfo.orgUuid;
|
|
2176
2383
|
try {
|
|
2177
2384
|
return await this.fetch(endpoint, options);
|
|
2178
2385
|
} catch (retryError) {
|
|
2179
|
-
this.
|
|
2180
|
-
this.
|
|
2386
|
+
this.orgSession = void 0;
|
|
2387
|
+
this.orgSessionOrgUuid = void 0;
|
|
2181
2388
|
throw retryError;
|
|
2182
2389
|
}
|
|
2183
2390
|
}
|
|
@@ -2193,20 +2400,20 @@ var BaseApiClient = class {
|
|
|
2193
2400
|
})();
|
|
2194
2401
|
}
|
|
2195
2402
|
await this.orgAuthInProgress;
|
|
2196
|
-
const
|
|
2197
|
-
if (!
|
|
2403
|
+
const postHandlerSession = (requestCookieName ? getCookieValue(requestCookieName) : void 0) ?? this.orgSession;
|
|
2404
|
+
if (!postHandlerSession) {
|
|
2198
2405
|
throw new ApiError(
|
|
2199
|
-
"Organization authentication did not issue a
|
|
2406
|
+
"Organization authentication did not issue a session",
|
|
2200
2407
|
401
|
|
2201
2408
|
);
|
|
2202
2409
|
}
|
|
2203
|
-
this.
|
|
2204
|
-
this.
|
|
2410
|
+
this.orgSession = postHandlerSession;
|
|
2411
|
+
this.orgSessionOrgUuid = orgAuthInfo.orgUuid;
|
|
2205
2412
|
try {
|
|
2206
2413
|
return await this.fetch(endpoint, options);
|
|
2207
2414
|
} catch (retryError) {
|
|
2208
|
-
this.
|
|
2209
|
-
this.
|
|
2415
|
+
this.orgSession = void 0;
|
|
2416
|
+
this.orgSessionOrgUuid = void 0;
|
|
2210
2417
|
throw retryError;
|
|
2211
2418
|
}
|
|
2212
2419
|
}
|
|
@@ -2281,9 +2488,7 @@ ${formattedErrors}`, response.status);
|
|
|
2281
2488
|
if (this.actingMemberUuid) {
|
|
2282
2489
|
headers.set("X-Acting-Member", this.actingMemberUuid);
|
|
2283
2490
|
}
|
|
2284
|
-
|
|
2285
|
-
headers.set("X-Org-Token", this.orgToken);
|
|
2286
|
-
}
|
|
2491
|
+
setOrgAuthHeader(headers, this.orgSession);
|
|
2287
2492
|
const response = await this.fetchFunction(`${this.baseUrl}/api/v2/${endpoint}`, {
|
|
2288
2493
|
...options,
|
|
2289
2494
|
...this.apiKey ? {} : { credentials: "include" },
|
|
@@ -2306,31 +2511,28 @@ ${formattedErrors}`, response.status);
|
|
|
2306
2511
|
try {
|
|
2307
2512
|
return await this.fetchRaw(endpoint, options, allowedErrorStatuses);
|
|
2308
2513
|
} catch (retryError) {
|
|
2309
|
-
this.
|
|
2310
|
-
this.
|
|
2514
|
+
this.orgSession = void 0;
|
|
2515
|
+
this.orgSessionOrgUuid = void 0;
|
|
2311
2516
|
throw retryError;
|
|
2312
2517
|
}
|
|
2313
2518
|
}
|
|
2314
2519
|
if (response.status === 401) {
|
|
2315
2520
|
const orgAuthInfo = parseOrgAuthChallenge(response.headers.get("WWW-Authenticate"));
|
|
2316
|
-
if (orgAuthInfo && this.
|
|
2317
|
-
this.
|
|
2318
|
-
this.
|
|
2521
|
+
if (orgAuthInfo && this.orgSession && this.orgSessionOrgUuid && this.orgSessionOrgUuid !== orgAuthInfo.orgUuid) {
|
|
2522
|
+
this.orgSession = void 0;
|
|
2523
|
+
this.orgSessionOrgUuid = void 0;
|
|
2319
2524
|
}
|
|
2320
|
-
if (orgAuthInfo && !this.
|
|
2321
|
-
const requestCookieName = orgAuthInfo.cookieName
|
|
2322
|
-
|
|
2323
|
-
|
|
2324
|
-
|
|
2325
|
-
|
|
2326
|
-
if (cachedOrgToken) {
|
|
2327
|
-
this.orgToken = cachedOrgToken;
|
|
2328
|
-
this.orgTokenOrgUuid = orgAuthInfo.orgUuid;
|
|
2525
|
+
if (orgAuthInfo && !this.orgSession) {
|
|
2526
|
+
const requestCookieName = getRequestOrgCookieName(orgAuthInfo.cookieName);
|
|
2527
|
+
const cachedOrgSession = requestCookieName ? getCookieValue(requestCookieName) : void 0;
|
|
2528
|
+
if (cachedOrgSession) {
|
|
2529
|
+
this.orgSession = cachedOrgSession;
|
|
2530
|
+
this.orgSessionOrgUuid = orgAuthInfo.orgUuid;
|
|
2329
2531
|
try {
|
|
2330
2532
|
return await this.fetchRaw(endpoint, options, allowedErrorStatuses);
|
|
2331
2533
|
} catch (retryError) {
|
|
2332
|
-
this.
|
|
2333
|
-
this.
|
|
2534
|
+
this.orgSession = void 0;
|
|
2535
|
+
this.orgSessionOrgUuid = void 0;
|
|
2334
2536
|
throw retryError;
|
|
2335
2537
|
}
|
|
2336
2538
|
}
|
|
@@ -2346,20 +2548,20 @@ ${formattedErrors}`, response.status);
|
|
|
2346
2548
|
})();
|
|
2347
2549
|
}
|
|
2348
2550
|
await this.orgAuthInProgress;
|
|
2349
|
-
const
|
|
2350
|
-
if (!
|
|
2551
|
+
const postHandlerSession = (requestCookieName ? getCookieValue(requestCookieName) : void 0) ?? this.orgSession;
|
|
2552
|
+
if (!postHandlerSession) {
|
|
2351
2553
|
throw new ApiError(
|
|
2352
|
-
"Organization authentication did not issue a
|
|
2554
|
+
"Organization authentication did not issue a session",
|
|
2353
2555
|
401
|
|
2354
2556
|
);
|
|
2355
2557
|
}
|
|
2356
|
-
this.
|
|
2357
|
-
this.
|
|
2558
|
+
this.orgSession = postHandlerSession;
|
|
2559
|
+
this.orgSessionOrgUuid = orgAuthInfo.orgUuid;
|
|
2358
2560
|
try {
|
|
2359
2561
|
return await this.fetchRaw(endpoint, options, allowedErrorStatuses);
|
|
2360
2562
|
} catch (retryError) {
|
|
2361
|
-
this.
|
|
2362
|
-
this.
|
|
2563
|
+
this.orgSession = void 0;
|
|
2564
|
+
this.orgSessionOrgUuid = void 0;
|
|
2363
2565
|
throw retryError;
|
|
2364
2566
|
}
|
|
2365
2567
|
}
|
|
@@ -2398,9 +2600,7 @@ ${formattedErrors}`, response.status);
|
|
|
2398
2600
|
if (this.actingMemberUuid) {
|
|
2399
2601
|
headers.set("X-Acting-Member", this.actingMemberUuid);
|
|
2400
2602
|
}
|
|
2401
|
-
|
|
2402
|
-
headers.set("X-Org-Token", this.orgToken);
|
|
2403
|
-
}
|
|
2603
|
+
setOrgAuthHeader(headers, this.orgSession);
|
|
2404
2604
|
const fullUrl = `${this.baseUrl}/${path}`;
|
|
2405
2605
|
const response = await this.fetchFunction(fullUrl, {
|
|
2406
2606
|
...options,
|
|
@@ -2441,20 +2641,22 @@ var AbilitiesApi = class extends BaseApiClient {
|
|
|
2441
2641
|
}
|
|
2442
2642
|
/** Get the full spec for a single ability type by slug. */
|
|
2443
2643
|
async getAbilityType(wid, slug) {
|
|
2444
|
-
return this.fetch(
|
|
2445
|
-
`w/${wid}/abilities/types/${encodeURIComponent(slug)}`
|
|
2446
|
-
);
|
|
2644
|
+
return this.fetch(`w/${wid}/abilities/types/${encodeURIComponent(slug)}`);
|
|
2447
2645
|
}
|
|
2448
2646
|
/**
|
|
2449
2647
|
* List configured ability instances for a workflow or task scope.
|
|
2450
|
-
*
|
|
2648
|
+
* Provide exactly one of:
|
|
2649
|
+
* - workflow scope: workflowId (stable root → draft revision) and/or
|
|
2650
|
+
* workflowRevisionId (explicit pin)
|
|
2651
|
+
* - taskId for task-scoped abilities
|
|
2451
2652
|
*/
|
|
2452
2653
|
async listAbilities(wid, options) {
|
|
2453
2654
|
const params = new URLSearchParams();
|
|
2454
2655
|
if (options.workflowId !== void 0)
|
|
2455
2656
|
params.append("workflowId", options.workflowId.toString());
|
|
2456
|
-
if (options.
|
|
2457
|
-
params.append("
|
|
2657
|
+
if (options.workflowRevisionId !== void 0)
|
|
2658
|
+
params.append("workflowRevisionId", options.workflowRevisionId.toString());
|
|
2659
|
+
if (options.taskId !== void 0) params.append("taskId", options.taskId.toString());
|
|
2458
2660
|
return this.fetch(`w/${wid}/abilities?${params}`);
|
|
2459
2661
|
}
|
|
2460
2662
|
/** Create (enable) a configured ability on a workflow or task scope. */
|
|
@@ -2477,6 +2679,20 @@ var AbilitiesApi = class extends BaseApiClient {
|
|
|
2477
2679
|
method: "DELETE"
|
|
2478
2680
|
});
|
|
2479
2681
|
}
|
|
2682
|
+
/**
|
|
2683
|
+
* List recipient-directory rows approved for Charleston PMD test delivery
|
|
2684
|
+
* (CS-150). Returns only {recipientKey, displayLabel} for active,
|
|
2685
|
+
* test-delivery-allowed rows with a device id — never the PatientSync
|
|
2686
|
+
* recipient_id. Scoped to agents:write + the charleston_nephrology_pmd_paging
|
|
2687
|
+
* feature; used by the ability-config test-delivery dropdown. Kept on the
|
|
2688
|
+
* ability-configuration API (not generic DataRecords) because the actual
|
|
2689
|
+
* ability-editor scopes do not guarantee generic record access.
|
|
2690
|
+
*/
|
|
2691
|
+
async getCharlestonTestDeliveryRecipients(wid) {
|
|
2692
|
+
return this.fetch(
|
|
2693
|
+
`w/${wid}/app-connections/charleston_nephrology/test-delivery/eligible-recipients`
|
|
2694
|
+
);
|
|
2695
|
+
}
|
|
2480
2696
|
};
|
|
2481
2697
|
|
|
2482
2698
|
// src/api/access-grants.ts
|
|
@@ -2548,6 +2764,24 @@ var AccessGrantsApi = class extends BaseApiClient {
|
|
|
2548
2764
|
);
|
|
2549
2765
|
return resp.items;
|
|
2550
2766
|
}
|
|
2767
|
+
/**
|
|
2768
|
+
* List access grants *received* by a member (grantee view) — the
|
|
2769
|
+
* "what can this agent do without asking?" list. Filter with
|
|
2770
|
+
* status=active and/or a capabilityClass (e.g. 'tool.always_allow').
|
|
2771
|
+
*/
|
|
2772
|
+
async getGranteeGrants(wid, memberId, params) {
|
|
2773
|
+
const searchParams = new URLSearchParams();
|
|
2774
|
+
if (params?.status) searchParams.set("status", params.status);
|
|
2775
|
+
if (params?.capabilityClass) {
|
|
2776
|
+
searchParams.set("capability_class", params.capabilityClass);
|
|
2777
|
+
}
|
|
2778
|
+
if (params?.page) searchParams.set("page", params.page.toString());
|
|
2779
|
+
if (params?.pageSize) searchParams.set("page_size", params.pageSize.toString());
|
|
2780
|
+
const qs = searchParams.toString();
|
|
2781
|
+
return this.fetch(
|
|
2782
|
+
`w/${wid}/access-grants/grantee/${memberId}${qs ? `?${qs}` : ""}`
|
|
2783
|
+
);
|
|
2784
|
+
}
|
|
2551
2785
|
};
|
|
2552
2786
|
|
|
2553
2787
|
// src/api/agent-tasks.ts
|
|
@@ -2634,25 +2868,6 @@ var AgentsApi = class extends BaseApiClient {
|
|
|
2634
2868
|
method: "POST"
|
|
2635
2869
|
});
|
|
2636
2870
|
}
|
|
2637
|
-
/** Resolve runtime tools for an agent on a simulated channel. */
|
|
2638
|
-
async resolveAgentTools(wid, id, options) {
|
|
2639
|
-
const params = new URLSearchParams();
|
|
2640
|
-
params.append("channel", options.channel);
|
|
2641
|
-
if (options.taskId !== void 0) params.append("taskId", options.taskId.toString());
|
|
2642
|
-
if (options.taskUuid !== void 0) params.append("taskUuid", options.taskUuid);
|
|
2643
|
-
return this.fetch(`w/${wid}/agents/${id}/resolve-tools?${params}`);
|
|
2644
|
-
}
|
|
2645
|
-
/**
|
|
2646
|
-
* List the configured abilities effective for an agent via a task's workflow.
|
|
2647
|
-
* Requires taskId because abilities are scoped to workflows/tasks, not agents.
|
|
2648
|
-
*/
|
|
2649
|
-
async listAgentAbilities(wid, id, options) {
|
|
2650
|
-
const params = new URLSearchParams();
|
|
2651
|
-
params.append("taskId", options.taskId.toString());
|
|
2652
|
-
return this.fetch(
|
|
2653
|
-
`w/${wid}/agents/${id}/abilities?${params}`
|
|
2654
|
-
);
|
|
2655
|
-
}
|
|
2656
2871
|
};
|
|
2657
2872
|
|
|
2658
2873
|
// src/api/ai-models.ts
|
|
@@ -2849,8 +3064,7 @@ var AssignmentsApi = class extends BaseApiClient {
|
|
|
2849
3064
|
if (options.sortOrder) params.append("sortOrder", options.sortOrder);
|
|
2850
3065
|
if (options.mine) params.append("mine", options.mine.toString());
|
|
2851
3066
|
if (options.taskId) params.append("taskId", options.taskId.toString());
|
|
2852
|
-
if (options.memberId !== void 0)
|
|
2853
|
-
params.append("memberId", options.memberId.toString());
|
|
3067
|
+
if (options.memberId !== void 0) params.append("memberId", options.memberId.toString());
|
|
2854
3068
|
if (options.status) params.append("status", options.status);
|
|
2855
3069
|
return this.fetch(
|
|
2856
3070
|
`w/${wid}/assignments${params.toString() ? `?${params.toString()}` : ""}`
|
|
@@ -2979,6 +3193,20 @@ var AuthApi = class extends BaseApiClient {
|
|
|
2979
3193
|
body: JSON.stringify(info)
|
|
2980
3194
|
});
|
|
2981
3195
|
}
|
|
3196
|
+
/**
|
|
3197
|
+
* Persist the account's FIRST-touch marketing attribution (write-once).
|
|
3198
|
+
*
|
|
3199
|
+
* Called by the browser at signup completion with its resolved UTM /
|
|
3200
|
+
* referrer / landing-page capture. The server keeps the first write and
|
|
3201
|
+
* ignores later posts (`recorded: false`), so calling this again is
|
|
3202
|
+
* harmless. Marketing context only — never emails, phones, or free text.
|
|
3203
|
+
*/
|
|
3204
|
+
async recordAcquisition(request) {
|
|
3205
|
+
return this.fetch("account/acquisition", {
|
|
3206
|
+
method: "POST",
|
|
3207
|
+
body: JSON.stringify(request)
|
|
3208
|
+
});
|
|
3209
|
+
}
|
|
2982
3210
|
/** Initiate SMS login by sending a verification code to the given phone number. */
|
|
2983
3211
|
async login(phoneNumber, wid, organizationUuid) {
|
|
2984
3212
|
const params = new URLSearchParams();
|
|
@@ -3109,15 +3337,11 @@ var AuthApi = class extends BaseApiClient {
|
|
|
3109
3337
|
body: JSON.stringify({ email, organizationUuid, redirectUrl })
|
|
3110
3338
|
});
|
|
3111
3339
|
}
|
|
3112
|
-
/** Validate a magic link token
|
|
3113
|
-
async validateMagicLink(token
|
|
3114
|
-
const body = { token };
|
|
3115
|
-
if (otp) {
|
|
3116
|
-
body.otp = otp;
|
|
3117
|
-
}
|
|
3340
|
+
/** Validate a magic link token to complete authentication. */
|
|
3341
|
+
async validateMagicLink(token) {
|
|
3118
3342
|
return await this.fetch(`auth/validate-magic-link`, {
|
|
3119
3343
|
method: "POST",
|
|
3120
|
-
body: JSON.stringify(
|
|
3344
|
+
body: JSON.stringify({ token })
|
|
3121
3345
|
});
|
|
3122
3346
|
}
|
|
3123
3347
|
// ===== EMAIL VERIFICATION METHODS =====
|
|
@@ -3206,23 +3430,29 @@ var AuthApi = class extends BaseApiClient {
|
|
|
3206
3430
|
// ===== TWO-FACTOR AUTHENTICATION LOGIN METHODS =====
|
|
3207
3431
|
/** Verify a TOTP code during login to complete two-factor authentication. */
|
|
3208
3432
|
async verifyTOTPAuth(tempToken, code) {
|
|
3209
|
-
return this.fetch(
|
|
3210
|
-
|
|
3211
|
-
|
|
3212
|
-
|
|
3213
|
-
|
|
3214
|
-
|
|
3215
|
-
|
|
3433
|
+
return this.fetch(
|
|
3434
|
+
"auth/2fa/auth/totp",
|
|
3435
|
+
{
|
|
3436
|
+
method: "POST",
|
|
3437
|
+
body: JSON.stringify({
|
|
3438
|
+
temp_token: tempToken,
|
|
3439
|
+
code
|
|
3440
|
+
})
|
|
3441
|
+
}
|
|
3442
|
+
);
|
|
3216
3443
|
}
|
|
3217
3444
|
/** Verify a recovery code during login to complete two-factor authentication. */
|
|
3218
3445
|
async verifyRecoveryCodeAuth(tempToken, code) {
|
|
3219
|
-
return this.fetch(
|
|
3220
|
-
|
|
3221
|
-
|
|
3222
|
-
|
|
3223
|
-
|
|
3224
|
-
|
|
3225
|
-
|
|
3446
|
+
return this.fetch(
|
|
3447
|
+
"auth/2fa/auth/recovery",
|
|
3448
|
+
{
|
|
3449
|
+
method: "POST",
|
|
3450
|
+
body: JSON.stringify({
|
|
3451
|
+
temp_token: tempToken,
|
|
3452
|
+
code
|
|
3453
|
+
})
|
|
3454
|
+
}
|
|
3455
|
+
);
|
|
3226
3456
|
}
|
|
3227
3457
|
/** Get WebAuthn credential request options for two-factor login verification. */
|
|
3228
3458
|
async getWebAuthnAuthOptions(tempToken) {
|
|
@@ -3235,13 +3465,16 @@ var AuthApi = class extends BaseApiClient {
|
|
|
3235
3465
|
}
|
|
3236
3466
|
/** Verify a WebAuthn assertion during login to complete two-factor authentication. */
|
|
3237
3467
|
async verifyWebAuthnAuth(tempToken, assertionResponse) {
|
|
3238
|
-
return this.fetch(
|
|
3239
|
-
|
|
3240
|
-
|
|
3241
|
-
|
|
3242
|
-
|
|
3243
|
-
|
|
3244
|
-
|
|
3468
|
+
return this.fetch(
|
|
3469
|
+
"auth/2fa/webauthn",
|
|
3470
|
+
{
|
|
3471
|
+
method: "POST",
|
|
3472
|
+
body: JSON.stringify({
|
|
3473
|
+
temp_token: tempToken,
|
|
3474
|
+
assertion_response: assertionResponse
|
|
3475
|
+
})
|
|
3476
|
+
}
|
|
3477
|
+
);
|
|
3245
3478
|
}
|
|
3246
3479
|
// ===== ORGANIZATION MEMBERSHIP METHODS =====
|
|
3247
3480
|
/** List all organizations the current account belongs to. */
|
|
@@ -3623,6 +3856,35 @@ var CallsApi = class extends BaseApiClient {
|
|
|
3623
3856
|
async getMessageTiming(wid, chatId) {
|
|
3624
3857
|
return this.fetch(`w/${wid}/recordings/chat/${chatId}/message-timing`);
|
|
3625
3858
|
}
|
|
3859
|
+
/**
|
|
3860
|
+
* Get PHI-safe provenance metadata for the recording served by
|
|
3861
|
+
* `/audio.wav` — source, encryption, channels, duration, status, etc.
|
|
3862
|
+
* Staff-only Twilio SIDs are present only for superusers. Returns 404
|
|
3863
|
+
* when the chat has no native recording row (legacy chunk-only playback).
|
|
3864
|
+
*/
|
|
3865
|
+
async getRecordingInfo(wid, chatId) {
|
|
3866
|
+
return this.fetch(`w/${wid}/recordings/chat/${chatId}/info`);
|
|
3867
|
+
}
|
|
3868
|
+
/** List the recorded audio chunks for a chat (metadata only). */
|
|
3869
|
+
async listChatRecordings(wid, chatId, options = {}) {
|
|
3870
|
+
const params = new URLSearchParams();
|
|
3871
|
+
if (options.role) params.set("role", options.role);
|
|
3872
|
+
return this.fetch(
|
|
3873
|
+
`w/${wid}/recordings/chat/${chatId}${params.toString() ? `?${params.toString()}` : ""}`
|
|
3874
|
+
);
|
|
3875
|
+
}
|
|
3876
|
+
/**
|
|
3877
|
+
* Get a single short-lived presigned URL to download the complete call
|
|
3878
|
+
* recording as one WAV file. The first request assembles + caches the
|
|
3879
|
+
* full-call WAV; later requests reuse it.
|
|
3880
|
+
*/
|
|
3881
|
+
async getCallRecordingDownloadUrl(wid, chatId, options = {}) {
|
|
3882
|
+
const params = new URLSearchParams();
|
|
3883
|
+
if (options.expiresIn !== void 0) params.set("expires_in", String(options.expiresIn));
|
|
3884
|
+
return this.fetch(
|
|
3885
|
+
`w/${wid}/recordings/chat/${chatId}/download-url${params.toString() ? `?${params.toString()}` : ""}`
|
|
3886
|
+
);
|
|
3887
|
+
}
|
|
3626
3888
|
};
|
|
3627
3889
|
|
|
3628
3890
|
// src/api/cel.ts
|
|
@@ -3661,8 +3923,7 @@ var ChatsApi = class extends BaseApiClient {
|
|
|
3661
3923
|
if (options.paused !== void 0) params.append("paused", options.paused.toString());
|
|
3662
3924
|
if (options.archived !== void 0) params.append("archived", options.archived.toString());
|
|
3663
3925
|
if (options.channel) params.append("channel", options.channel);
|
|
3664
|
-
|
|
3665
|
-
params.append("chatType", chatType);
|
|
3926
|
+
if (options.chatType) params.append("chatType", options.chatType);
|
|
3666
3927
|
if (options.memberId !== void 0) params.append("memberId", options.memberId.toString());
|
|
3667
3928
|
if (options.assistantMemberId !== void 0)
|
|
3668
3929
|
params.append("assistantMemberId", options.assistantMemberId.toString());
|
|
@@ -3673,6 +3934,11 @@ var ChatsApi = class extends BaseApiClient {
|
|
|
3673
3934
|
if (options.filters && options.filters.length > 0) {
|
|
3674
3935
|
params.append("filters", JSON.stringify(options.filters));
|
|
3675
3936
|
}
|
|
3937
|
+
if (options.query) params.append("query", JSON.stringify(options.query));
|
|
3938
|
+
if (options.workflowId !== void 0)
|
|
3939
|
+
params.append("workflowId", options.workflowId.toString());
|
|
3940
|
+
if (options.workflowRevisionId !== void 0)
|
|
3941
|
+
params.append("workflowRevisionId", options.workflowRevisionId.toString());
|
|
3676
3942
|
if (options.createdAfter) params.append("createdAfter", options.createdAfter);
|
|
3677
3943
|
if (options.createdBefore) params.append("createdBefore", options.createdBefore);
|
|
3678
3944
|
return params;
|
|
@@ -3707,6 +3973,17 @@ var ChatsApi = class extends BaseApiClient {
|
|
|
3707
3973
|
async getChatTokenUsage(wid, chatId) {
|
|
3708
3974
|
return this.fetch(`w/${wid}/chats/${chatId}/token-usage`);
|
|
3709
3975
|
}
|
|
3976
|
+
/** List scheduled callbacks for a chat (newest first). */
|
|
3977
|
+
async getChatCallbacks(wid, chatId) {
|
|
3978
|
+
return this.fetch(`w/${wid}/chats/${chatId}/callbacks`);
|
|
3979
|
+
}
|
|
3980
|
+
/** Cancel a pending scheduled callback on a chat. */
|
|
3981
|
+
async cancelChatCallback(wid, chatId, callbackId) {
|
|
3982
|
+
return this.fetch(
|
|
3983
|
+
`w/${wid}/chats/${chatId}/callbacks/${callbackId}/cancel`,
|
|
3984
|
+
{ method: "POST" }
|
|
3985
|
+
);
|
|
3986
|
+
}
|
|
3710
3987
|
/** Get todo items extracted from a chat. */
|
|
3711
3988
|
async getChatTodos(wid, chatId) {
|
|
3712
3989
|
return this.fetch(`w/${wid}/chats/${chatId}/todos`);
|
|
@@ -3745,9 +4022,11 @@ var ChatsApi = class extends BaseApiClient {
|
|
|
3745
4022
|
}
|
|
3746
4023
|
/** Create a new chat. */
|
|
3747
4024
|
async createChat(wid, chat) {
|
|
4025
|
+
const { agentMemberId, ...rest } = chat;
|
|
4026
|
+
const payload = agentMemberId !== void 0 && rest.assistantMemberId === void 0 ? { ...rest, assistantMemberId: agentMemberId } : rest;
|
|
3748
4027
|
return this.fetch(`w/${wid}/chats`, {
|
|
3749
4028
|
method: "POST",
|
|
3750
|
-
body: JSON.stringify(
|
|
4029
|
+
body: JSON.stringify(payload)
|
|
3751
4030
|
});
|
|
3752
4031
|
}
|
|
3753
4032
|
/**
|
|
@@ -3780,6 +4059,25 @@ var ChatsApi = class extends BaseApiClient {
|
|
|
3780
4059
|
body: JSON.stringify(chat)
|
|
3781
4060
|
});
|
|
3782
4061
|
}
|
|
4062
|
+
/**
|
|
4063
|
+
* Get per-chat model provenance for the Chat sidebar's model summary area:
|
|
4064
|
+
* the effective chat + realtime models, the agent's current default (the
|
|
4065
|
+
* reset/inherit target), and pinned/matches flags.
|
|
4066
|
+
*/
|
|
4067
|
+
async getChatModelOverride(wid, id) {
|
|
4068
|
+
return this.fetch(`w/${wid}/chats/${id}/model-override`);
|
|
4069
|
+
}
|
|
4070
|
+
/**
|
|
4071
|
+
* Pin or reset the per-chat chat/realtime model snapshot. A concrete model id
|
|
4072
|
+
* pins that model; an empty/null id resets it to the agent's current default.
|
|
4073
|
+
* Only fields present in the payload are touched.
|
|
4074
|
+
*/
|
|
4075
|
+
async updateChatModelOverride(wid, id, override) {
|
|
4076
|
+
return this.fetch(`w/${wid}/chats/${id}/model-override`, {
|
|
4077
|
+
method: "PUT",
|
|
4078
|
+
body: JSON.stringify(override)
|
|
4079
|
+
});
|
|
4080
|
+
}
|
|
3783
4081
|
/** Update the mute status of a chat. */
|
|
3784
4082
|
async updateChatMute(wid, id, muted) {
|
|
3785
4083
|
return this.fetch(`w/${wid}/chats/${id}/mute`, {
|
|
@@ -3810,7 +4108,8 @@ var ChatsApi = class extends BaseApiClient {
|
|
|
3810
4108
|
}
|
|
3811
4109
|
);
|
|
3812
4110
|
}
|
|
3813
|
-
/** List messages in a chat with optional pagination.
|
|
4111
|
+
/** List messages in a chat with optional pagination.
|
|
4112
|
+
* ``id`` is the numeric chat id (documented) or the chat uuid (accepted). */
|
|
3814
4113
|
async getChatMessages(wid, id, limit, offset) {
|
|
3815
4114
|
const params = new URLSearchParams();
|
|
3816
4115
|
if (limit) params.append("limit", limit.toString());
|
|
@@ -3849,13 +4148,35 @@ var ChatsApi = class extends BaseApiClient {
|
|
|
3849
4148
|
})
|
|
3850
4149
|
});
|
|
3851
4150
|
}
|
|
3852
|
-
/**
|
|
3853
|
-
|
|
4151
|
+
/**
|
|
4152
|
+
* List durable feedback rows for a chat (thumbs, explicit, supervisor, extracted).
|
|
4153
|
+
*/
|
|
4154
|
+
async getChatFeedback(wid, chatId, options = {}) {
|
|
4155
|
+
const params = new URLSearchParams();
|
|
4156
|
+
if (options.page != null) params.set("page", String(options.page));
|
|
4157
|
+
if (options.pageSize != null) params.set("pageSize", String(options.pageSize));
|
|
4158
|
+
if (options.source) params.set("source", options.source);
|
|
4159
|
+
if (options.rating) params.set("rating", options.rating);
|
|
4160
|
+
if (options.authorKind) params.set("authorKind", options.authorKind);
|
|
4161
|
+
const qs = params.toString();
|
|
4162
|
+
return this.fetch(
|
|
4163
|
+
`w/${wid}/chats/${chatId}/feedback${qs ? `?${qs}` : ""}`
|
|
4164
|
+
);
|
|
4165
|
+
}
|
|
4166
|
+
/**
|
|
4167
|
+
* Rate a chat message by its UUID.
|
|
4168
|
+
* Optional ``comment`` updates free-text details on the same durable rating row.
|
|
4169
|
+
*/
|
|
4170
|
+
async rateMessage(wid, chatId, messageUuid, rating, comment) {
|
|
4171
|
+
const body = { rating };
|
|
4172
|
+
if (comment !== void 0) {
|
|
4173
|
+
body.comment = comment;
|
|
4174
|
+
}
|
|
3854
4175
|
return this.fetch(
|
|
3855
4176
|
`w/${wid}/chats/${chatId}/messages/${messageUuid}/rate`,
|
|
3856
4177
|
{
|
|
3857
4178
|
method: "POST",
|
|
3858
|
-
body: JSON.stringify(
|
|
4179
|
+
body: JSON.stringify(body)
|
|
3859
4180
|
}
|
|
3860
4181
|
);
|
|
3861
4182
|
}
|
|
@@ -4121,6 +4442,51 @@ var CustomToolkitsApi = class extends BaseApiClient {
|
|
|
4121
4442
|
}
|
|
4122
4443
|
};
|
|
4123
4444
|
|
|
4445
|
+
// src/api/dashboards.ts
|
|
4446
|
+
var DashboardsApi = class extends BaseApiClient {
|
|
4447
|
+
/** List all dashboards for the workspace, in tab order. */
|
|
4448
|
+
async getDashboards(wid) {
|
|
4449
|
+
return this.fetch(`w/${wid}/dashboards`);
|
|
4450
|
+
}
|
|
4451
|
+
/** Get a dashboard by ID. */
|
|
4452
|
+
async getDashboard(wid, id) {
|
|
4453
|
+
return this.fetch(`w/${wid}/dashboards/${id}`);
|
|
4454
|
+
}
|
|
4455
|
+
/** Create a named dashboard, optionally with an initial widget list. */
|
|
4456
|
+
async createDashboard(wid, body) {
|
|
4457
|
+
return this.fetch(`w/${wid}/dashboards`, {
|
|
4458
|
+
method: "POST",
|
|
4459
|
+
body: JSON.stringify(body)
|
|
4460
|
+
});
|
|
4461
|
+
}
|
|
4462
|
+
/** Update a dashboard's name, position, or widget list (full replace). */
|
|
4463
|
+
async updateDashboard(wid, id, body) {
|
|
4464
|
+
return this.fetch(`w/${wid}/dashboards/${id}`, {
|
|
4465
|
+
method: "PATCH",
|
|
4466
|
+
body: JSON.stringify(body)
|
|
4467
|
+
});
|
|
4468
|
+
}
|
|
4469
|
+
/** Delete a dashboard. */
|
|
4470
|
+
async deleteDashboard(wid, id) {
|
|
4471
|
+
await this.fetch(`w/${wid}/dashboards/${id}`, { method: "DELETE" });
|
|
4472
|
+
}
|
|
4473
|
+
/** Per-channel chat volume in the window + live needs-response backlog. */
|
|
4474
|
+
async getDashboardChannelStats(wid, options) {
|
|
4475
|
+
const params = new URLSearchParams();
|
|
4476
|
+
if (options?.hours !== void 0) params.append("hours", options.hours.toString());
|
|
4477
|
+
const query = params.toString();
|
|
4478
|
+
return this.fetch(
|
|
4479
|
+
`w/${wid}/dashboards/stats/channels${query ? `?${query}` : ""}`
|
|
4480
|
+
);
|
|
4481
|
+
}
|
|
4482
|
+
/** Assignment status rollup per root workflow. */
|
|
4483
|
+
async getDashboardWorkflowAssignmentStats(wid) {
|
|
4484
|
+
return this.fetch(
|
|
4485
|
+
`w/${wid}/dashboards/stats/workflow-assignments`
|
|
4486
|
+
);
|
|
4487
|
+
}
|
|
4488
|
+
};
|
|
4489
|
+
|
|
4124
4490
|
// src/api/data-types.ts
|
|
4125
4491
|
var DataTypesApi = class extends BaseApiClient {
|
|
4126
4492
|
/** List all data types for a workspace, optionally filtering by archived status. */
|
|
@@ -4190,14 +4556,61 @@ var DataTypesApi = class extends BaseApiClient {
|
|
|
4190
4556
|
async getDataRecords(wid, dataTypeId, options) {
|
|
4191
4557
|
const params = new URLSearchParams();
|
|
4192
4558
|
if (options?.memberId !== void 0) params.append("member_id", options.memberId.toString());
|
|
4559
|
+
if (options?.memberIds?.length) params.append("member_ids", options.memberIds.join(","));
|
|
4193
4560
|
if (options?.search) params.append("search", options.search);
|
|
4194
4561
|
if (options?.searchField) params.append("search_field", options.searchField);
|
|
4562
|
+
if (options?.dataRecordFilterId != null) {
|
|
4563
|
+
params.append("dataRecordFilterId", options.dataRecordFilterId.toString());
|
|
4564
|
+
}
|
|
4565
|
+
if (options?.query != null) params.append("query", JSON.stringify(options.query));
|
|
4195
4566
|
if (options?.page) params.append("page", options.page.toString());
|
|
4196
4567
|
if (options?.pageSize) params.append("page_size", options.pageSize.toString());
|
|
4197
4568
|
return this.fetch(
|
|
4198
4569
|
`w/${wid}/data-types/${dataTypeId}/records${params?.toString() ? `?${params.toString()}` : ""}`
|
|
4199
4570
|
);
|
|
4200
4571
|
}
|
|
4572
|
+
// Data-record filter APIs (saved Query IR predicates per form)
|
|
4573
|
+
/** List saved data-record filters, optionally scoped to one DataType. */
|
|
4574
|
+
async getDataRecordFilters(wid, options) {
|
|
4575
|
+
const params = new URLSearchParams();
|
|
4576
|
+
if (options?.dataTypeId != null) {
|
|
4577
|
+
params.append("dataTypeId", options.dataTypeId.toString());
|
|
4578
|
+
}
|
|
4579
|
+
const qs = params.toString();
|
|
4580
|
+
return this.fetch(
|
|
4581
|
+
`w/${wid}/data-record-filters${qs ? `?${qs}` : ""}`
|
|
4582
|
+
);
|
|
4583
|
+
}
|
|
4584
|
+
/** Get a single data-record filter by ID. */
|
|
4585
|
+
async getDataRecordFilter(wid, filterId) {
|
|
4586
|
+
return this.fetch(`w/${wid}/data-record-filters/${filterId}`);
|
|
4587
|
+
}
|
|
4588
|
+
/** Create a new saved data-record filter. */
|
|
4589
|
+
async createDataRecordFilter(wid, data) {
|
|
4590
|
+
return this.fetch(`w/${wid}/data-record-filters`, {
|
|
4591
|
+
method: "POST",
|
|
4592
|
+
body: JSON.stringify(data)
|
|
4593
|
+
});
|
|
4594
|
+
}
|
|
4595
|
+
/** Update a saved data-record filter. */
|
|
4596
|
+
async updateDataRecordFilter(wid, filterId, data) {
|
|
4597
|
+
return this.fetch(`w/${wid}/data-record-filters/${filterId}`, {
|
|
4598
|
+
method: "PUT",
|
|
4599
|
+
body: JSON.stringify(data)
|
|
4600
|
+
});
|
|
4601
|
+
}
|
|
4602
|
+
/** Delete a saved data-record filter. */
|
|
4603
|
+
async deleteDataRecordFilter(wid, filterId) {
|
|
4604
|
+
return this.fetch(`w/${wid}/data-record-filters/${filterId}`, {
|
|
4605
|
+
method: "DELETE"
|
|
4606
|
+
});
|
|
4607
|
+
}
|
|
4608
|
+
/** Get the count of records matching a saved filter. */
|
|
4609
|
+
async getDataRecordFilterCount(wid, filterId) {
|
|
4610
|
+
return this.fetch(
|
|
4611
|
+
`w/${wid}/data-record-filters/${filterId}/count`
|
|
4612
|
+
);
|
|
4613
|
+
}
|
|
4201
4614
|
/** Get a single data record by ID. */
|
|
4202
4615
|
async getDataRecord(wid, recordId) {
|
|
4203
4616
|
return this.fetch(`w/${wid}/data-types/records/${recordId}`);
|
|
@@ -4310,6 +4723,38 @@ var DiscordBotsApi = class extends BaseApiClient {
|
|
|
4310
4723
|
body: JSON.stringify(data)
|
|
4311
4724
|
});
|
|
4312
4725
|
}
|
|
4726
|
+
/**
|
|
4727
|
+
* Step-up preflight for the Discord account-link flow (GH #20196).
|
|
4728
|
+
*
|
|
4729
|
+
* A no-side-effect GET enforcing the same authenticated, stepped-up
|
|
4730
|
+
* `apps:write` session as authorize/complete-link. Call this through the
|
|
4731
|
+
* client *before* the full-page navigation to `/oauth/authorize`: a 401
|
|
4732
|
+
* `insufficient_user_authentication` triggers the SDK's enhanced-auth
|
|
4733
|
+
* (step-up) modal + retry, so a below-assurance session is prompted here
|
|
4734
|
+
* rather than hitting a raw 401 on a top-level browser navigation.
|
|
4735
|
+
* Resolves (204) once the session is sufficiently assured.
|
|
4736
|
+
*/
|
|
4737
|
+
async discordLinkPreflight(wid) {
|
|
4738
|
+
return this.fetch(`w/${wid}/app-connections/discord/oauth/link/preflight`);
|
|
4739
|
+
}
|
|
4740
|
+
/**
|
|
4741
|
+
* Complete an authenticated Discord account link (GH #20196).
|
|
4742
|
+
*
|
|
4743
|
+
* POST-only. Exchanges the one-time opaque handle (issued by the OAuth
|
|
4744
|
+
* callback and carried in the `?discord_link_handle=` return param) for a
|
|
4745
|
+
* persisted MemberCredential. Requires an authenticated, step-up-protected
|
|
4746
|
+
* session with `apps:write`; a 401 `insufficient_user_authentication`
|
|
4747
|
+
* triggers the SDK's enhanced-auth (step-up) retry automatically.
|
|
4748
|
+
*/
|
|
4749
|
+
async completeDiscordLink(wid, data) {
|
|
4750
|
+
return this.fetch(
|
|
4751
|
+
`w/${wid}/app-connections/discord/oauth/complete-link`,
|
|
4752
|
+
{
|
|
4753
|
+
method: "POST",
|
|
4754
|
+
body: JSON.stringify(data)
|
|
4755
|
+
}
|
|
4756
|
+
);
|
|
4757
|
+
}
|
|
4313
4758
|
/**
|
|
4314
4759
|
* Update an existing Discord bot configuration.
|
|
4315
4760
|
*/
|
|
@@ -4564,7 +5009,8 @@ var EventsApi = class extends BaseApiClient {
|
|
|
4564
5009
|
if (params.taskId) searchParams.append("taskId", params.taskId.toString());
|
|
4565
5010
|
if (params.dataTypeId) searchParams.append("dataTypeId", params.dataTypeId.toString());
|
|
4566
5011
|
if (params.routineId) searchParams.append("routineId", params.routineId.toString());
|
|
4567
|
-
if (params.
|
|
5012
|
+
if (params.workflowRevisionId)
|
|
5013
|
+
searchParams.append("workflowRevisionId", params.workflowRevisionId.toString());
|
|
4568
5014
|
if (params.journeyStepId)
|
|
4569
5015
|
searchParams.append("journeyStepId", params.journeyStepId.toString());
|
|
4570
5016
|
if (params.includeDisabled) searchParams.append("includeDisabled", "true");
|
|
@@ -4594,6 +5040,13 @@ var EventsApi = class extends BaseApiClient {
|
|
|
4594
5040
|
method: "DELETE"
|
|
4595
5041
|
});
|
|
4596
5042
|
}
|
|
5043
|
+
/** Send a one-off test webhook for an existing webhook event rule. */
|
|
5044
|
+
async testWebhook(wid, id, request) {
|
|
5045
|
+
return this.fetch(`w/${wid}/event-rules/${id}/test-webhook`, {
|
|
5046
|
+
method: "POST",
|
|
5047
|
+
body: JSON.stringify(request)
|
|
5048
|
+
});
|
|
5049
|
+
}
|
|
4597
5050
|
/** Reorder event rules by specifying the desired rule ID sequence. */
|
|
4598
5051
|
async reorderEventRules(wid, ruleIds) {
|
|
4599
5052
|
return this.fetch(`w/${wid}/event-rules/reorder`, {
|
|
@@ -4628,7 +5081,8 @@ var EventsApi = class extends BaseApiClient {
|
|
|
4628
5081
|
if (options.objectType) params.append("objectType", options.objectType);
|
|
4629
5082
|
if (options.eventType) params.append("eventType", options.eventType);
|
|
4630
5083
|
if (options.actionType) params.append("actionType", options.actionType);
|
|
4631
|
-
if (options.
|
|
5084
|
+
if (options.workflowRevisionId)
|
|
5085
|
+
params.append("workflowRevisionId", options.workflowRevisionId.toString());
|
|
4632
5086
|
return this.fetch(
|
|
4633
5087
|
`w/${wid}/event-rules/executions${params.toString() ? `?${params.toString()}` : ""}`
|
|
4634
5088
|
);
|
|
@@ -4640,6 +5094,20 @@ var EventsApi = class extends BaseApiClient {
|
|
|
4640
5094
|
body: JSON.stringify(request)
|
|
4641
5095
|
});
|
|
4642
5096
|
}
|
|
5097
|
+
/**
|
|
5098
|
+
* Preview which target-audience roles lack Workflow USE for the Workflows a
|
|
5099
|
+
* draft Routine would start. Non-persisting, non-blocking authoring assist —
|
|
5100
|
+
* returns warnings only (role/Workflow names + IDs; no Member data).
|
|
5101
|
+
*/
|
|
5102
|
+
async previewRoutineWorkflowAccess(wid, request) {
|
|
5103
|
+
return this.fetch(
|
|
5104
|
+
`w/${wid}/routines/preview-workflow-access`,
|
|
5105
|
+
{
|
|
5106
|
+
method: "POST",
|
|
5107
|
+
body: JSON.stringify(request)
|
|
5108
|
+
}
|
|
5109
|
+
);
|
|
5110
|
+
}
|
|
4643
5111
|
/** List routines with optional pagination and active status filtering. */
|
|
4644
5112
|
async getRoutines(wid, options = {}) {
|
|
4645
5113
|
const params = new URLSearchParams();
|
|
@@ -5071,6 +5539,25 @@ var FhirConnectionsApi = class extends BaseApiClient {
|
|
|
5071
5539
|
}
|
|
5072
5540
|
};
|
|
5073
5541
|
|
|
5542
|
+
// src/api/patientsync-connections.ts
|
|
5543
|
+
var PatientSyncConnectionsApi = class extends BaseApiClient {
|
|
5544
|
+
/** Create or update the workspace's PatientSync connection (singleton). */
|
|
5545
|
+
async configurePatientSync(wid, data) {
|
|
5546
|
+
return this.fetch(
|
|
5547
|
+
`w/${wid}/app-connections/patientsync/configure`,
|
|
5548
|
+
{ method: "POST", body: JSON.stringify(data) }
|
|
5549
|
+
);
|
|
5550
|
+
}
|
|
5551
|
+
/** Read the PatientSync connection status (never returns the API key). */
|
|
5552
|
+
async getPatientSyncStatus(wid) {
|
|
5553
|
+
return this.fetch(`w/${wid}/app-connections/patientsync/status`);
|
|
5554
|
+
}
|
|
5555
|
+
/** Delete the workspace's PatientSync connection. */
|
|
5556
|
+
async deletePatientSyncConnection(wid) {
|
|
5557
|
+
return this.fetch(`w/${wid}/app-connections/patientsync/`, { method: "DELETE" });
|
|
5558
|
+
}
|
|
5559
|
+
};
|
|
5560
|
+
|
|
5074
5561
|
// src/api/healthie.ts
|
|
5075
5562
|
var HealthieApi = class extends BaseApiClient {
|
|
5076
5563
|
async configureHealthie(wid, data) {
|
|
@@ -5191,6 +5678,29 @@ var FilesApi = class extends BaseApiClient {
|
|
|
5191
5678
|
async getFile(wid, id) {
|
|
5192
5679
|
return this.fetch(`w/${wid}/files/${id}`);
|
|
5193
5680
|
}
|
|
5681
|
+
/**
|
|
5682
|
+
* Resolve a wiki-style relative path (as authored in a markdown link or
|
|
5683
|
+
* image) to a file. `folderId` is the linking document's folder; omit it
|
|
5684
|
+
* to resolve from the workspace root. Handles `.`/`..` segments and an
|
|
5685
|
+
* omitted `.md` extension server-side.
|
|
5686
|
+
*/
|
|
5687
|
+
async resolveFilePath(wid, path, folderId) {
|
|
5688
|
+
const params = new URLSearchParams({ path });
|
|
5689
|
+
if (folderId != null) params.append("folderId", String(folderId));
|
|
5690
|
+
return this.fetch(`w/${wid}/files/resolve-path?${params.toString()}`);
|
|
5691
|
+
}
|
|
5692
|
+
/**
|
|
5693
|
+
* Download the given files + folders (folders recursively) as a single ZIP.
|
|
5694
|
+
* Returns the raw archive bytes for the caller to save.
|
|
5695
|
+
*/
|
|
5696
|
+
async downloadFilesZip(wid, fileIds, folderIds) {
|
|
5697
|
+
const response = await this.fetchRaw(`w/${wid}/files/download/zip`, {
|
|
5698
|
+
method: "POST",
|
|
5699
|
+
headers: { "Content-Type": "application/json" },
|
|
5700
|
+
body: JSON.stringify({ file_ids: fileIds, folder_ids: folderIds })
|
|
5701
|
+
});
|
|
5702
|
+
return response.blob();
|
|
5703
|
+
}
|
|
5194
5704
|
/** Create a new file record in the workspace. */
|
|
5195
5705
|
async createFile(wid, file) {
|
|
5196
5706
|
return this.fetch(`w/${wid}/files`, {
|
|
@@ -5232,6 +5742,36 @@ var FilesApi = class extends BaseApiClient {
|
|
|
5232
5742
|
method: "DELETE"
|
|
5233
5743
|
});
|
|
5234
5744
|
}
|
|
5745
|
+
/** List a file's version history (newest first). */
|
|
5746
|
+
async listFileVersions(wid, fileId) {
|
|
5747
|
+
return this.fetch(`w/${wid}/files/${fileId}/versions`);
|
|
5748
|
+
}
|
|
5749
|
+
/** Compare two versions of a file. For text files both raw contents are returned. */
|
|
5750
|
+
async getFileVersionDiff(wid, fileId, fromVersion, toVersion) {
|
|
5751
|
+
return this.fetch(
|
|
5752
|
+
`w/${wid}/files/${fileId}/versions/diff?fromVersion=${fromVersion}&toVersion=${toVersion}`
|
|
5753
|
+
);
|
|
5754
|
+
}
|
|
5755
|
+
/** Restore an earlier version as the file's current contents. */
|
|
5756
|
+
async restoreFileVersion(wid, fileId, versionNumber, changeNote) {
|
|
5757
|
+
return this.fetch(
|
|
5758
|
+
`w/${wid}/files/${fileId}/versions/${versionNumber}/restore`,
|
|
5759
|
+
{
|
|
5760
|
+
method: "POST",
|
|
5761
|
+
// Required JSON body: keeps this cookie-auth POST non-forgeable
|
|
5762
|
+
// by cross-site HTML forms (backend rejects bodyless requests).
|
|
5763
|
+
body: JSON.stringify(changeNote ? { changeNote } : {})
|
|
5764
|
+
}
|
|
5765
|
+
);
|
|
5766
|
+
}
|
|
5767
|
+
/**
|
|
5768
|
+
* Same-origin proxy URL for a version's raw contents. Mirrors the shape of
|
|
5769
|
+
* `FileResponse.cdnUrl`: an app-relative Next.js route that authenticates
|
|
5770
|
+
* via session cookies and forwards to the versioned contents endpoint.
|
|
5771
|
+
*/
|
|
5772
|
+
getFileVersionContentsUrl(wid, fileId, versionNumber) {
|
|
5773
|
+
return `/api/w/${wid}/files/${fileId}/versions/${versionNumber}/contents`;
|
|
5774
|
+
}
|
|
5235
5775
|
/** Convert a file to the specified format (text, markdown, or PDF). */
|
|
5236
5776
|
async convertFile(wid, fileId, format = "pdf") {
|
|
5237
5777
|
return this.fetch(
|
|
@@ -5807,6 +6347,31 @@ var McpServersApi = class extends BaseApiClient {
|
|
|
5807
6347
|
};
|
|
5808
6348
|
|
|
5809
6349
|
// src/api/members.ts
|
|
6350
|
+
var MemberImportValidationError = class extends Error {
|
|
6351
|
+
validationErrors;
|
|
6352
|
+
constructor(message, validationErrors) {
|
|
6353
|
+
super(message);
|
|
6354
|
+
this.name = "MemberImportValidationError";
|
|
6355
|
+
this.validationErrors = validationErrors;
|
|
6356
|
+
}
|
|
6357
|
+
};
|
|
6358
|
+
function throwMemberImportError(errorBody, fallback) {
|
|
6359
|
+
let detail = errorBody?.detail;
|
|
6360
|
+
if (typeof detail === "string") {
|
|
6361
|
+
try {
|
|
6362
|
+
const parsed = JSON.parse(detail);
|
|
6363
|
+
if (parsed && typeof parsed === "object") detail = parsed;
|
|
6364
|
+
} catch {
|
|
6365
|
+
}
|
|
6366
|
+
}
|
|
6367
|
+
if (detail && typeof detail === "object") {
|
|
6368
|
+
const { message, errors } = detail;
|
|
6369
|
+
if (Array.isArray(errors)) {
|
|
6370
|
+
throw new MemberImportValidationError(message || fallback, errors);
|
|
6371
|
+
}
|
|
6372
|
+
}
|
|
6373
|
+
throw new Error(typeof detail === "string" ? detail : fallback);
|
|
6374
|
+
}
|
|
5810
6375
|
var MembersApi = class extends BaseApiClient {
|
|
5811
6376
|
/** Get the currently authenticated member for a workspace. */
|
|
5812
6377
|
async getCurrentMember(wid) {
|
|
@@ -5847,19 +6412,14 @@ var MembersApi = class extends BaseApiClient {
|
|
|
5847
6412
|
});
|
|
5848
6413
|
}
|
|
5849
6414
|
/** List workspace members with pagination, filtering, and sorting. */
|
|
5850
|
-
async getWorkspaceMembers(wid, page = 1, pageSize = 10,
|
|
6415
|
+
async getWorkspaceMembers(wid, page = 1, pageSize = 10, search, role, sortBy, sortOrder, memberType, isArchived = false, isManager, memberTypes, hasAccount, excludeIds, memberFilterId, query) {
|
|
5851
6416
|
const params = new URLSearchParams();
|
|
6417
|
+
if (memberFilterId != null) params.append("memberFilterId", memberFilterId.toString());
|
|
6418
|
+
if (query != null) params.append("query", JSON.stringify(query));
|
|
5852
6419
|
if (page) params.append("page", page.toString());
|
|
5853
6420
|
if (pageSize) params.append("pageSize", pageSize.toString());
|
|
5854
6421
|
if (sortBy) params.append("sortBy", sortBy);
|
|
5855
6422
|
if (sortOrder) params.append("sortOrder", sortOrder);
|
|
5856
|
-
if (filters) {
|
|
5857
|
-
if (Array.isArray(filters)) {
|
|
5858
|
-
params.append("filters", JSON.stringify(filters));
|
|
5859
|
-
} else {
|
|
5860
|
-
params.append("filters", JSON.stringify(filters));
|
|
5861
|
-
}
|
|
5862
|
-
}
|
|
5863
6423
|
if (search) params.append("search", search);
|
|
5864
6424
|
if (role) params.append("role", role);
|
|
5865
6425
|
if (memberTypes && memberTypes.length > 0) {
|
|
@@ -5921,6 +6481,17 @@ var MembersApi = class extends BaseApiClient {
|
|
|
5921
6481
|
method: "POST"
|
|
5922
6482
|
});
|
|
5923
6483
|
}
|
|
6484
|
+
/**
|
|
6485
|
+
* Send the member an SMS asking them to confirm their phone number. When they
|
|
6486
|
+
* reply, a trusted phone auth binding is created so they can use SMS as
|
|
6487
|
+
* themselves without an account (member-attested alternative to the
|
|
6488
|
+
* members:admin "Trusted" override).
|
|
6489
|
+
*/
|
|
6490
|
+
async sendMemberPhoneConfirmation(wid, memberId) {
|
|
6491
|
+
return this.fetch(`w/${wid}/members/${memberId}/phone-confirmation`, {
|
|
6492
|
+
method: "POST"
|
|
6493
|
+
});
|
|
6494
|
+
}
|
|
5924
6495
|
// Member Filter APIs
|
|
5925
6496
|
/** List all saved member filters for a workspace. */
|
|
5926
6497
|
async getMemberFilters(wid) {
|
|
@@ -6021,48 +6592,98 @@ var MembersApi = class extends BaseApiClient {
|
|
|
6021
6592
|
});
|
|
6022
6593
|
}
|
|
6023
6594
|
// Import/Export Members API
|
|
6024
|
-
/**
|
|
6025
|
-
|
|
6595
|
+
/**
|
|
6596
|
+
* Read-only preview classifying each CSV row before any write (GRA-5545).
|
|
6597
|
+
*
|
|
6598
|
+
* Returns create/update/unchanged/conflict/error counts. For phone-only
|
|
6599
|
+
* identity conflicts it also returns existing vs incoming identity so the
|
|
6600
|
+
* operator can decide whether to skip or explicitly overwrite before
|
|
6601
|
+
* committing. Requires MEMBERS_ADMIN and is bulk-PHI audited server-side.
|
|
6602
|
+
*/
|
|
6603
|
+
async previewImportMembers(wid, file, newMemberRoleId, options) {
|
|
6026
6604
|
const formData = new FormData();
|
|
6027
6605
|
formData.append("file", file);
|
|
6028
6606
|
const params = new URLSearchParams();
|
|
6029
6607
|
params.append("new_member_role_id", newMemberRoleId.toString());
|
|
6030
|
-
|
|
6031
|
-
|
|
6608
|
+
if (options?.trustEmailAddresses) {
|
|
6609
|
+
params.append("trust_email_addresses", "true");
|
|
6610
|
+
}
|
|
6611
|
+
if (options?.trustPhoneNumbers) {
|
|
6612
|
+
params.append("trust_phone_numbers", "true");
|
|
6613
|
+
}
|
|
6614
|
+
const response = await this.fetchRaw(
|
|
6615
|
+
`w/${wid}/members/import/preview?${params.toString()}`,
|
|
6032
6616
|
{
|
|
6033
6617
|
method: "POST",
|
|
6034
|
-
body: formData
|
|
6035
|
-
|
|
6036
|
-
|
|
6618
|
+
body: formData
|
|
6619
|
+
},
|
|
6620
|
+
[400, 413]
|
|
6037
6621
|
);
|
|
6038
6622
|
if (!response.ok) {
|
|
6039
|
-
const error = await response.json();
|
|
6040
|
-
|
|
6041
|
-
|
|
6042
|
-
|
|
6043
|
-
|
|
6044
|
-
|
|
6045
|
-
|
|
6046
|
-
|
|
6047
|
-
|
|
6048
|
-
|
|
6623
|
+
const error = await response.json().catch(() => ({}));
|
|
6624
|
+
throwMemberImportError(error, "Import preview failed");
|
|
6625
|
+
}
|
|
6626
|
+
return response.json();
|
|
6627
|
+
}
|
|
6628
|
+
/**
|
|
6629
|
+
* Import members from a CSV file, streaming progress updates via callback.
|
|
6630
|
+
*
|
|
6631
|
+
* ``identityConflictPolicy`` (default 'skip') controls how a row matching an
|
|
6632
|
+
* existing member ONLY by phone with different identity fields is handled.
|
|
6633
|
+
* Send 'overwrite_identity_fields' only after the operator confirms a preview.
|
|
6634
|
+
*/
|
|
6635
|
+
async importMembers(wid, file, newMemberRoleId, onProgress, options) {
|
|
6636
|
+
const formData = new FormData();
|
|
6637
|
+
formData.append("file", file);
|
|
6638
|
+
const params = new URLSearchParams();
|
|
6639
|
+
params.append("new_member_role_id", newMemberRoleId.toString());
|
|
6640
|
+
if (options?.trustEmailAddresses) {
|
|
6641
|
+
params.append("trust_email_addresses", "true");
|
|
6642
|
+
}
|
|
6643
|
+
if (options?.trustPhoneNumbers) {
|
|
6644
|
+
params.append("trust_phone_numbers", "true");
|
|
6645
|
+
}
|
|
6646
|
+
if (options?.identityConflictPolicy) {
|
|
6647
|
+
params.append("identity_conflict_policy", options.identityConflictPolicy);
|
|
6648
|
+
}
|
|
6649
|
+
const response = await this.fetchRaw(
|
|
6650
|
+
`w/${wid}/members/import?${params.toString()}`,
|
|
6651
|
+
{
|
|
6652
|
+
method: "POST",
|
|
6653
|
+
body: formData
|
|
6654
|
+
},
|
|
6655
|
+
[400, 413]
|
|
6656
|
+
);
|
|
6657
|
+
if (!response.ok) {
|
|
6658
|
+
const error = await response.json().catch(() => ({}));
|
|
6659
|
+
throwMemberImportError(error, "Import failed");
|
|
6049
6660
|
}
|
|
6050
6661
|
if (onProgress && response.body) {
|
|
6051
6662
|
const reader = response.body.getReader();
|
|
6052
6663
|
const decoder = new TextDecoder();
|
|
6664
|
+
let buffer = "";
|
|
6053
6665
|
while (true) {
|
|
6054
6666
|
const { done, value } = await reader.read();
|
|
6055
6667
|
if (done) break;
|
|
6056
|
-
|
|
6057
|
-
const lines =
|
|
6668
|
+
buffer += decoder.decode(value, { stream: true });
|
|
6669
|
+
const lines = buffer.split("\n");
|
|
6670
|
+
buffer = lines.pop() ?? "";
|
|
6058
6671
|
for (const line of lines) {
|
|
6672
|
+
const trimmed = line.trim();
|
|
6673
|
+
if (!trimmed) continue;
|
|
6059
6674
|
try {
|
|
6060
|
-
|
|
6061
|
-
onProgress(progress);
|
|
6675
|
+
onProgress(JSON.parse(trimmed));
|
|
6062
6676
|
} catch {
|
|
6063
6677
|
}
|
|
6064
6678
|
}
|
|
6065
6679
|
}
|
|
6680
|
+
const tail = buffer.trim();
|
|
6681
|
+
if (tail) {
|
|
6682
|
+
try {
|
|
6683
|
+
onProgress(JSON.parse(tail));
|
|
6684
|
+
} catch {
|
|
6685
|
+
}
|
|
6686
|
+
}
|
|
6066
6687
|
}
|
|
6067
6688
|
return { success: true };
|
|
6068
6689
|
}
|
|
@@ -6239,6 +6860,11 @@ var MembersApi = class extends BaseApiClient {
|
|
|
6239
6860
|
`w/${wid}/members/${memberId}/memories${qs ? `?${qs}` : ""}`
|
|
6240
6861
|
);
|
|
6241
6862
|
}
|
|
6863
|
+
async getMemberMemory(wid, memberId, key) {
|
|
6864
|
+
return this.fetch(
|
|
6865
|
+
`w/${wid}/members/${memberId}/memories/${encodeURIComponent(key)}`
|
|
6866
|
+
);
|
|
6867
|
+
}
|
|
6242
6868
|
async createMemberMemory(wid, memberId, body) {
|
|
6243
6869
|
return this.fetch(`w/${wid}/members/${memberId}/memories`, {
|
|
6244
6870
|
method: "POST",
|
|
@@ -6254,6 +6880,17 @@ var MembersApi = class extends BaseApiClient {
|
|
|
6254
6880
|
{ method: "DELETE" }
|
|
6255
6881
|
);
|
|
6256
6882
|
}
|
|
6883
|
+
/** Bulk-create members in a workspace. */
|
|
6884
|
+
async bulkCreateMembers(wid, request) {
|
|
6885
|
+
return this.fetch(`w/${wid}/members/bulk`, {
|
|
6886
|
+
method: "POST",
|
|
6887
|
+
body: JSON.stringify(request)
|
|
6888
|
+
});
|
|
6889
|
+
}
|
|
6890
|
+
/** Get all sync links for a member across app connections. */
|
|
6891
|
+
async getMemberSyncLinks(wid, memberId) {
|
|
6892
|
+
return this.fetch(`w/${wid}/members/${memberId}/sync-links`);
|
|
6893
|
+
}
|
|
6257
6894
|
};
|
|
6258
6895
|
|
|
6259
6896
|
// src/api/milestones.ts
|
|
@@ -6296,6 +6933,25 @@ var MilestonesApi = class extends BaseApiClient {
|
|
|
6296
6933
|
}
|
|
6297
6934
|
};
|
|
6298
6935
|
|
|
6936
|
+
// src/api/motd.ts
|
|
6937
|
+
var MotdApi = class extends BaseApiClient {
|
|
6938
|
+
/**
|
|
6939
|
+
* The Message-of-the-Day tip for the workspace on a given date.
|
|
6940
|
+
*
|
|
6941
|
+
* `date` is an ISO `YYYY-MM-DD` string (defaults to today, UTC, when
|
|
6942
|
+
* omitted); `offset` advances the rotation ("show another"). Selection is
|
|
6943
|
+
* deterministic — same date + workspace + offset always returns the same
|
|
6944
|
+
* tip — and cycles through the tip list.
|
|
6945
|
+
*/
|
|
6946
|
+
async getMotd(wid, options) {
|
|
6947
|
+
const params = new URLSearchParams();
|
|
6948
|
+
if (options?.date !== void 0) params.append("date", options.date);
|
|
6949
|
+
if (options?.offset !== void 0) params.append("offset", options.offset.toString());
|
|
6950
|
+
const query = params.toString();
|
|
6951
|
+
return this.fetch(`w/${wid}/motd${query ? `?${query}` : ""}`);
|
|
6952
|
+
}
|
|
6953
|
+
};
|
|
6954
|
+
|
|
6299
6955
|
// src/api/monday.ts
|
|
6300
6956
|
var MondayIntegrationApi = class extends BaseApiClient {
|
|
6301
6957
|
/**
|
|
@@ -6332,6 +6988,20 @@ var MondayIntegrationApi = class extends BaseApiClient {
|
|
|
6332
6988
|
// -----------------------------------------------------------------------
|
|
6333
6989
|
// Monday.com Connection management (OAuth, status, sync, reconciliation)
|
|
6334
6990
|
// -----------------------------------------------------------------------
|
|
6991
|
+
/**
|
|
6992
|
+
* Create the Monday.com connection shell (no credentials yet).
|
|
6993
|
+
*
|
|
6994
|
+
* First step of the guided setup flow: provisions the connection row so
|
|
6995
|
+
* the admin lands on the detail page where the OAuth callback URL is
|
|
6996
|
+
* shown — which they need to register their Monday.com app before they
|
|
6997
|
+
* have a Client ID / Secret to enter. Idempotent.
|
|
6998
|
+
*/
|
|
6999
|
+
async installMondayConnection(wid) {
|
|
7000
|
+
return this.fetch(`w/${wid}/app-connections/monday/install`, {
|
|
7001
|
+
method: "POST",
|
|
7002
|
+
body: JSON.stringify({})
|
|
7003
|
+
});
|
|
7004
|
+
}
|
|
6335
7005
|
async configureMondayConnection(wid, data) {
|
|
6336
7006
|
return this.fetch(`w/${wid}/app-connections/monday/configure`, {
|
|
6337
7007
|
method: "POST",
|
|
@@ -6750,6 +7420,7 @@ var OrgApi = class extends BaseApiClient {
|
|
|
6750
7420
|
*/
|
|
6751
7421
|
async searchPhoneNumbers(orgUuid, params) {
|
|
6752
7422
|
const query = new URLSearchParams();
|
|
7423
|
+
if (params?.country) query.set("country", params.country);
|
|
6753
7424
|
if (params?.numberType) query.set("number_type", params.numberType);
|
|
6754
7425
|
if (params?.areaCode) query.set("area_code", params.areaCode);
|
|
6755
7426
|
if (params?.contains) query.set("contains", params.contains);
|
|
@@ -6761,11 +7432,20 @@ var OrgApi = class extends BaseApiClient {
|
|
|
6761
7432
|
}
|
|
6762
7433
|
/**
|
|
6763
7434
|
* Purchase a phone number from Twilio for this org inventory (org admin only).
|
|
7435
|
+
*
|
|
7436
|
+
* Numbers in regulated countries (e.g. Australia) require a Twilio regulatory
|
|
7437
|
+
* bundle and an address — pass `bundleSid` and `addressSid` for those.
|
|
6764
7438
|
*/
|
|
6765
|
-
async purchasePhoneNumber(orgUuid, phoneNumber, numberType) {
|
|
7439
|
+
async purchasePhoneNumber(orgUuid, phoneNumber, numberType, opts) {
|
|
6766
7440
|
return this.fetch(`o/${orgUuid}/phone-numbers/purchase`, {
|
|
6767
7441
|
method: "POST",
|
|
6768
|
-
body: JSON.stringify({
|
|
7442
|
+
body: JSON.stringify({
|
|
7443
|
+
phoneNumber,
|
|
7444
|
+
numberType,
|
|
7445
|
+
country: opts?.country,
|
|
7446
|
+
bundleSid: opts?.bundleSid,
|
|
7447
|
+
addressSid: opts?.addressSid
|
|
7448
|
+
})
|
|
6769
7449
|
});
|
|
6770
7450
|
}
|
|
6771
7451
|
/**
|
|
@@ -6943,35 +7623,119 @@ var OrgApi = class extends BaseApiClient {
|
|
|
6943
7623
|
return this.fetch(`o/${orgUuid}/business-profile`);
|
|
6944
7624
|
}
|
|
6945
7625
|
/**
|
|
6946
|
-
* Upsert the org's business profile. Idempotent via cached SIDs.
|
|
6947
|
-
* Returns a fresh BusinessProfileResponse on success — including the
|
|
6948
|
-
* compliance evaluation result so the frontend can immediately enable
|
|
6949
|
-
* Submit without a second round-trip.
|
|
7626
|
+
* Upsert the org's business profile. Idempotent via cached SIDs.
|
|
7627
|
+
* Returns a fresh BusinessProfileResponse on success — including the
|
|
7628
|
+
* compliance evaluation result so the frontend can immediately enable
|
|
7629
|
+
* Submit without a second round-trip.
|
|
7630
|
+
*/
|
|
7631
|
+
async updateBusinessProfile(orgUuid, data) {
|
|
7632
|
+
return this.fetch(`o/${orgUuid}/business-profile`, {
|
|
7633
|
+
method: "PUT",
|
|
7634
|
+
body: JSON.stringify(data)
|
|
7635
|
+
});
|
|
7636
|
+
}
|
|
7637
|
+
/**
|
|
7638
|
+
* Submit the business profile to Twilio for review. Server re-evaluates
|
|
7639
|
+
* compliance live and returns 412 if the profile is not currently
|
|
7640
|
+
* `compliant`; returns 409 if a review is already in flight.
|
|
7641
|
+
*/
|
|
7642
|
+
async submitBusinessProfile(orgUuid) {
|
|
7643
|
+
return this.fetch(`o/${orgUuid}/business-profile/submit`, {
|
|
7644
|
+
method: "POST"
|
|
7645
|
+
});
|
|
7646
|
+
}
|
|
7647
|
+
/**
|
|
7648
|
+
* Cancel an in-flight Twilio review. Resets the cached profile state
|
|
7649
|
+
* to `draft` so the user can edit and resubmit.
|
|
7650
|
+
*/
|
|
7651
|
+
async cancelBusinessProfile(orgUuid) {
|
|
7652
|
+
return this.fetch(`o/${orgUuid}/business-profile/cancel`, {
|
|
7653
|
+
method: "POST"
|
|
7654
|
+
});
|
|
7655
|
+
}
|
|
7656
|
+
/**
|
|
7657
|
+
* List the org's A2P brands (broker resources). The SMS-consent editor uses
|
|
7658
|
+
* this to pick which brand's consent config to edit.
|
|
7659
|
+
*/
|
|
7660
|
+
async listA2PBrands(orgUuid) {
|
|
7661
|
+
return this.fetch(`o/${orgUuid}/a2p-brands`);
|
|
7662
|
+
}
|
|
7663
|
+
/**
|
|
7664
|
+
* Fetch a brand's resolved A2P campaign config. The response carries both the
|
|
7665
|
+
* raw `overrides` and the `resolved` payload (defaults + overrides) the editor
|
|
7666
|
+
* previews — including the canonical SMS consent text.
|
|
7667
|
+
*/
|
|
7668
|
+
async getA2PCampaignConfig(orgUuid, brandUuid) {
|
|
7669
|
+
return this.fetch(
|
|
7670
|
+
`o/${orgUuid}/a2p-brands/${brandUuid}/campaign-config`
|
|
7671
|
+
);
|
|
7672
|
+
}
|
|
7673
|
+
/**
|
|
7674
|
+
* Partial-update a brand's A2P campaign config. Returns the freshly resolved
|
|
7675
|
+
* config so the editor's live preview updates without a second round-trip.
|
|
7676
|
+
*/
|
|
7677
|
+
async updateA2PCampaignConfig(orgUuid, brandUuid, data) {
|
|
7678
|
+
return this.fetch(
|
|
7679
|
+
`o/${orgUuid}/a2p-brands/${brandUuid}/campaign-config`,
|
|
7680
|
+
{
|
|
7681
|
+
method: "PUT",
|
|
7682
|
+
body: JSON.stringify(data)
|
|
7683
|
+
}
|
|
7684
|
+
);
|
|
7685
|
+
}
|
|
7686
|
+
/**
|
|
7687
|
+
* Published Sites across the org's workspaces that can be linked as this
|
|
7688
|
+
* brand's enrollment (opt-in) surface. Org-authorized, so it works even when
|
|
7689
|
+
* the admin isn't a member of the workspace holding the Site.
|
|
7690
|
+
*/
|
|
7691
|
+
async listA2PEnrollmentSiteCandidates(orgUuid, brandUuid) {
|
|
7692
|
+
return this.fetch(
|
|
7693
|
+
`o/${orgUuid}/a2p-brands/${brandUuid}/enrollment-site/candidates`
|
|
7694
|
+
);
|
|
7695
|
+
}
|
|
7696
|
+
/**
|
|
7697
|
+
* Link the brand to a published enrollment Site (sets `site_uuid`). Returns
|
|
7698
|
+
* the refreshed campaign config so the editor's link state updates inline.
|
|
6950
7699
|
*/
|
|
6951
|
-
async
|
|
6952
|
-
return this.fetch(
|
|
6953
|
-
|
|
6954
|
-
|
|
6955
|
-
|
|
7700
|
+
async linkA2PEnrollmentSite(orgUuid, brandUuid, data) {
|
|
7701
|
+
return this.fetch(
|
|
7702
|
+
`o/${orgUuid}/a2p-brands/${brandUuid}/enrollment-site`,
|
|
7703
|
+
{
|
|
7704
|
+
method: "PUT",
|
|
7705
|
+
body: JSON.stringify(data)
|
|
7706
|
+
}
|
|
7707
|
+
);
|
|
6956
7708
|
}
|
|
6957
7709
|
/**
|
|
6958
|
-
*
|
|
6959
|
-
*
|
|
6960
|
-
*
|
|
7710
|
+
* Provision (or reuse) a patient-enrollment Site for the brand and link it —
|
|
7711
|
+
* the one-click path behind the SMS Consent tab. `workspaceUuid` is required
|
|
7712
|
+
* only when the org has multiple workspaces. Returns the refreshed campaign
|
|
7713
|
+
* config so the editor's link state updates inline. Idempotent.
|
|
6961
7714
|
*/
|
|
6962
|
-
async
|
|
6963
|
-
return this.fetch(
|
|
6964
|
-
|
|
6965
|
-
|
|
7715
|
+
async provisionA2PEnrollmentSite(orgUuid, brandUuid, data = {}) {
|
|
7716
|
+
return this.fetch(
|
|
7717
|
+
`o/${orgUuid}/a2p-brands/${brandUuid}/enrollment-site/provision`,
|
|
7718
|
+
{
|
|
7719
|
+
method: "POST",
|
|
7720
|
+
body: JSON.stringify(data)
|
|
7721
|
+
}
|
|
7722
|
+
);
|
|
7723
|
+
}
|
|
7724
|
+
/** Clear the brand's enrollment-site link. */
|
|
7725
|
+
async unlinkA2PEnrollmentSite(orgUuid, brandUuid) {
|
|
7726
|
+
return this.fetch(
|
|
7727
|
+
`o/${orgUuid}/a2p-brands/${brandUuid}/enrollment-site`,
|
|
7728
|
+
{ method: "DELETE" }
|
|
7729
|
+
);
|
|
6966
7730
|
}
|
|
6967
7731
|
/**
|
|
6968
|
-
*
|
|
6969
|
-
*
|
|
7732
|
+
* The brand-addressable enrollment form URL (carries `?brand=…`). Outreach
|
|
7733
|
+
* appends each patient's `external_id`. `url` is null until a Site is linked.
|
|
6970
7734
|
*/
|
|
6971
|
-
async
|
|
6972
|
-
return this.fetch(
|
|
6973
|
-
|
|
6974
|
-
|
|
7735
|
+
async getA2PBrandEnrollmentUrl(orgUuid, brandUuid) {
|
|
7736
|
+
return this.fetch(
|
|
7737
|
+
`o/${orgUuid}/a2p-brands/${brandUuid}/enrollment-url`
|
|
7738
|
+
);
|
|
6975
7739
|
}
|
|
6976
7740
|
/**
|
|
6977
7741
|
* List available member roles for a workspace in the organization.
|
|
@@ -6997,58 +7761,53 @@ var OrgApi = class extends BaseApiClient {
|
|
|
6997
7761
|
function getOAuthPath(providerSlug, action) {
|
|
6998
7762
|
if (providerSlug === "google_calendar") {
|
|
6999
7763
|
return `oauth/google/calendar/${action}`;
|
|
7000
|
-
}
|
|
7764
|
+
}
|
|
7765
|
+
if (providerSlug === "gmail") {
|
|
7001
7766
|
return `oauth/google/gmail/${action}`;
|
|
7002
|
-
} else {
|
|
7003
|
-
return `oauth/${providerSlug}/${action}`;
|
|
7004
7767
|
}
|
|
7768
|
+
if (providerSlug === "gdrive") {
|
|
7769
|
+
return `oauth/google/drive/${action}`;
|
|
7770
|
+
}
|
|
7771
|
+
return `oauth/${providerSlug}/${action}`;
|
|
7772
|
+
}
|
|
7773
|
+
function buildAuthorizeQuery(options) {
|
|
7774
|
+
if (!options) return "";
|
|
7775
|
+
const params = new URLSearchParams();
|
|
7776
|
+
if (options.credentialUuid) params.set("credentialUuid", options.credentialUuid);
|
|
7777
|
+
if (options.loginHint) params.set("loginHint", options.loginHint);
|
|
7778
|
+
if (options.redirect) params.set("redirect", options.redirect);
|
|
7779
|
+
const qs = params.toString();
|
|
7780
|
+
return qs ? `?${qs}` : "";
|
|
7005
7781
|
}
|
|
7006
7782
|
var OAuthConnectionsApi = class extends BaseApiClient {
|
|
7007
|
-
/**
|
|
7008
|
-
* Get the connection status for an OAuth provider
|
|
7009
|
-
*/
|
|
7010
7783
|
async getConnectionStatus(providerSlug) {
|
|
7011
7784
|
const path = getOAuthPath(providerSlug, "status");
|
|
7012
7785
|
return this.fetchRoot(path);
|
|
7013
7786
|
}
|
|
7014
|
-
|
|
7015
|
-
|
|
7016
|
-
*/
|
|
7017
|
-
async getAuthorizationUrl(providerSlug) {
|
|
7018
|
-
const path = getOAuthPath(providerSlug, "authorize");
|
|
7787
|
+
async listAccounts(providerSlug) {
|
|
7788
|
+
const path = getOAuthPath(providerSlug, "accounts");
|
|
7019
7789
|
return this.fetchRoot(path);
|
|
7020
7790
|
}
|
|
7021
|
-
|
|
7022
|
-
|
|
7023
|
-
|
|
7024
|
-
|
|
7791
|
+
async getAuthorizationUrl(providerSlug, options) {
|
|
7792
|
+
const path = getOAuthPath(providerSlug, "authorize") + buildAuthorizeQuery(options);
|
|
7793
|
+
return this.fetchRoot(path);
|
|
7794
|
+
}
|
|
7795
|
+
async disconnect(providerSlug, credentialUuid) {
|
|
7025
7796
|
const path = getOAuthPath(providerSlug, "disconnect");
|
|
7026
|
-
|
|
7797
|
+
const qs = credentialUuid ? `?credentialUuid=${encodeURIComponent(credentialUuid)}` : "";
|
|
7798
|
+
return this.fetchRoot(`${path}${qs}`, { method: "DELETE" });
|
|
7027
7799
|
}
|
|
7028
7800
|
};
|
|
7029
7801
|
var OAuthApi = class extends BaseApiClient {
|
|
7030
|
-
/**
|
|
7031
|
-
* Get all available OAuth/API key scopes with metadata.
|
|
7032
|
-
*
|
|
7033
|
-
* This returns the full scope definitions from the backend,
|
|
7034
|
-
* ensuring the UI always shows the correct scopes.
|
|
7035
|
-
*/
|
|
7036
7802
|
async getAvailableScopes() {
|
|
7037
7803
|
return this.fetch("oauth/scopes");
|
|
7038
7804
|
}
|
|
7039
|
-
/**
|
|
7040
|
-
* Create an authorization code for OAuth flow
|
|
7041
|
-
* This is called after the user approves the authorization request
|
|
7042
|
-
*/
|
|
7043
7805
|
async authorize(request) {
|
|
7044
7806
|
return this.fetch("oauth/authorize", {
|
|
7045
7807
|
method: "POST",
|
|
7046
7808
|
body: JSON.stringify(request)
|
|
7047
7809
|
});
|
|
7048
7810
|
}
|
|
7049
|
-
/**
|
|
7050
|
-
* Exchange authorization code for access token
|
|
7051
|
-
*/
|
|
7052
7811
|
async exchangeOAuthToken(request) {
|
|
7053
7812
|
const formData = new URLSearchParams();
|
|
7054
7813
|
formData.append("grant_type", request.grant_type);
|
|
@@ -7069,6 +7828,14 @@ var OAuthApi = class extends BaseApiClient {
|
|
|
7069
7828
|
};
|
|
7070
7829
|
|
|
7071
7830
|
// src/api/phone-numbers.ts
|
|
7831
|
+
function appendAnalyticsFilters(params, filters) {
|
|
7832
|
+
if (!filters) return;
|
|
7833
|
+
if (filters.dateFrom) params.set("dateFrom", filters.dateFrom);
|
|
7834
|
+
if (filters.dateTo) params.set("dateTo", filters.dateTo);
|
|
7835
|
+
filters.terminationReason?.forEach((v) => params.append("terminationReason", v));
|
|
7836
|
+
filters.answeredBy?.forEach((v) => params.append("answeredBy", v));
|
|
7837
|
+
filters.memberLabel?.forEach((v) => params.append("memberLabel", v));
|
|
7838
|
+
}
|
|
7072
7839
|
var PhoneNumbersApi = class extends BaseApiClient {
|
|
7073
7840
|
/** List phone numbers in a workspace, optionally including archived. */
|
|
7074
7841
|
async getPhoneNumbers(wid, options) {
|
|
@@ -7192,6 +7959,62 @@ var PhoneNumbersApi = class extends BaseApiClient {
|
|
|
7192
7959
|
method: "POST"
|
|
7193
7960
|
});
|
|
7194
7961
|
}
|
|
7962
|
+
/**
|
|
7963
|
+
* Always-anonymized outbound-call analytics summary for one phone number.
|
|
7964
|
+
* No `analyticsSessionId` is sent — the summary carries no row-level PHI.
|
|
7965
|
+
*/
|
|
7966
|
+
async getPhoneNumberOutboundAnalyticsSummary(wid, id, filters) {
|
|
7967
|
+
const params = new URLSearchParams();
|
|
7968
|
+
appendAnalyticsFilters(params, filters);
|
|
7969
|
+
const query = params.toString();
|
|
7970
|
+
return this.fetch(
|
|
7971
|
+
`w/${wid}/phone-numbers/${id}/analytics/summary${query ? `?${query}` : ""}`
|
|
7972
|
+
);
|
|
7973
|
+
}
|
|
7974
|
+
/**
|
|
7975
|
+
* One paginated page of outbound-call analytics detail rows. Anonymized by
|
|
7976
|
+
* default; `raw: true` requires the `export:admin` scope server-side and is
|
|
7977
|
+
* audited per response. `analyticsSessionId` keeps the callee pseudonyms
|
|
7978
|
+
* stable across pagination/sort within one browser session.
|
|
7979
|
+
*/
|
|
7980
|
+
async getPhoneNumberOutboundAnalyticsCalls(wid, id, options) {
|
|
7981
|
+
const params = new URLSearchParams({
|
|
7982
|
+
analyticsSessionId: options.analyticsSessionId,
|
|
7983
|
+
page: String(options.page ?? 1),
|
|
7984
|
+
pageSize: String(options.pageSize ?? 50)
|
|
7985
|
+
});
|
|
7986
|
+
if (options.sort) params.set("sort", options.sort);
|
|
7987
|
+
if (options.sortDirection) params.set("sortDirection", options.sortDirection);
|
|
7988
|
+
if (options.raw) params.set("raw", "true");
|
|
7989
|
+
appendAnalyticsFilters(params, options.filters);
|
|
7990
|
+
return this.fetch(
|
|
7991
|
+
`w/${wid}/phone-numbers/${id}/analytics/calls?${params}`
|
|
7992
|
+
);
|
|
7993
|
+
}
|
|
7994
|
+
/**
|
|
7995
|
+
* Export outbound-call analytics as a CSV blob (respecting the current
|
|
7996
|
+
* filters + raw state). The server returns HTTP 400 when the result set
|
|
7997
|
+
* exceeds its export cap; that message is surfaced to the caller via
|
|
7998
|
+
* `ApiError` so the UI can toast it.
|
|
7999
|
+
*/
|
|
8000
|
+
async exportPhoneNumberOutboundAnalyticsCsv(wid, id, options) {
|
|
8001
|
+
const params = new URLSearchParams({ analyticsSessionId: options.analyticsSessionId });
|
|
8002
|
+
if (options.sort) params.set("sort", options.sort);
|
|
8003
|
+
if (options.sortDirection) params.set("sortDirection", options.sortDirection);
|
|
8004
|
+
if (options.raw) params.set("raw", "true");
|
|
8005
|
+
appendAnalyticsFilters(params, options.filters);
|
|
8006
|
+
const response = await this.fetchRaw(
|
|
8007
|
+
`w/${wid}/phone-numbers/${id}/analytics/export?${params}`,
|
|
8008
|
+
{},
|
|
8009
|
+
[400]
|
|
8010
|
+
);
|
|
8011
|
+
if (!response.ok) {
|
|
8012
|
+
const data = await response.json().catch(() => ({}));
|
|
8013
|
+
const message = typeof data?.detail === "string" ? data.detail : "Failed to export analytics";
|
|
8014
|
+
throw new ApiError(message, response.status);
|
|
8015
|
+
}
|
|
8016
|
+
return response.blob();
|
|
8017
|
+
}
|
|
7195
8018
|
};
|
|
7196
8019
|
|
|
7197
8020
|
// src/api/pronunciations.ts
|
|
@@ -7342,6 +8165,37 @@ var PersonasApi = class extends BaseApiClient {
|
|
|
7342
8165
|
}
|
|
7343
8166
|
};
|
|
7344
8167
|
|
|
8168
|
+
// src/api/queries.ts
|
|
8169
|
+
var QueriesApi = class extends BaseApiClient {
|
|
8170
|
+
/** Queryable namespace: native fields, operators per type, DataType record fields. */
|
|
8171
|
+
async getQueryFields(wid) {
|
|
8172
|
+
return this.fetch(`w/${wid}/queries/fields`, {
|
|
8173
|
+
method: "GET"
|
|
8174
|
+
});
|
|
8175
|
+
}
|
|
8176
|
+
/** Structure / field / access / cost validation without execution. */
|
|
8177
|
+
async validateQuery(wid, query) {
|
|
8178
|
+
return this.fetch(`w/${wid}/queries/validate`, {
|
|
8179
|
+
method: "POST",
|
|
8180
|
+
body: JSON.stringify({ query })
|
|
8181
|
+
});
|
|
8182
|
+
}
|
|
8183
|
+
/** Bounded sample run (limit capped server-side). */
|
|
8184
|
+
async previewQuery(wid, query, mode) {
|
|
8185
|
+
return this.fetch(`w/${wid}/queries/preview`, {
|
|
8186
|
+
method: "POST",
|
|
8187
|
+
body: JSON.stringify({ query, mode })
|
|
8188
|
+
});
|
|
8189
|
+
}
|
|
8190
|
+
/** Execute a query (rows / count / aggregate). */
|
|
8191
|
+
async runQuery(wid, query, mode) {
|
|
8192
|
+
return this.fetch(`w/${wid}/queries/run`, {
|
|
8193
|
+
method: "POST",
|
|
8194
|
+
body: JSON.stringify({ query, mode })
|
|
8195
|
+
});
|
|
8196
|
+
}
|
|
8197
|
+
};
|
|
8198
|
+
|
|
7345
8199
|
// src/api/qualifications.ts
|
|
7346
8200
|
var QualificationsApi = class extends BaseApiClient {
|
|
7347
8201
|
/** List qualifications in a workspace, paginated. */
|
|
@@ -7393,6 +8247,9 @@ var QualificationsApi = class extends BaseApiClient {
|
|
|
7393
8247
|
async listTestChatRuns(wid, workflowId, params) {
|
|
7394
8248
|
const query = new URLSearchParams();
|
|
7395
8249
|
if (params?.scenarioId !== void 0) query.set("scenarioId", String(params.scenarioId));
|
|
8250
|
+
if (params?.assistantChatModelId !== void 0) {
|
|
8251
|
+
query.set("assistantChatModelId", params.assistantChatModelId);
|
|
8252
|
+
}
|
|
7396
8253
|
if (params?.limit !== void 0) query.set("limit", String(params.limit));
|
|
7397
8254
|
const qs = query.toString() ? `?${query.toString()}` : "";
|
|
7398
8255
|
return this.fetch(
|
|
@@ -7496,6 +8353,20 @@ var ReportsApi = class extends BaseApiClient {
|
|
|
7496
8353
|
|
|
7497
8354
|
// src/api/salesforce.ts
|
|
7498
8355
|
var SalesforceApi = class extends BaseApiClient {
|
|
8356
|
+
/**
|
|
8357
|
+
* Create the Salesforce connection shell (no credentials yet).
|
|
8358
|
+
*
|
|
8359
|
+
* First step of the guided setup flow: provisions the connection row so
|
|
8360
|
+
* the admin lands on the detail page where the OAuth callback URL is
|
|
8361
|
+
* shown — which they need to register their Salesforce Connected App
|
|
8362
|
+
* before they have a Client ID / Secret to enter. Idempotent.
|
|
8363
|
+
*/
|
|
8364
|
+
async installSalesforce(wid, data) {
|
|
8365
|
+
return this.fetch(`w/${wid}/app-connections/salesforce/install`, {
|
|
8366
|
+
method: "POST",
|
|
8367
|
+
body: JSON.stringify(data ?? {})
|
|
8368
|
+
});
|
|
8369
|
+
}
|
|
7499
8370
|
async configureSalesforce(wid, data) {
|
|
7500
8371
|
return this.fetch(
|
|
7501
8372
|
`w/${wid}/app-connections/salesforce/configure`,
|
|
@@ -7697,6 +8568,20 @@ var ConnectionSyncApi = class extends BaseApiClient {
|
|
|
7697
8568
|
|
|
7698
8569
|
// src/api/hubspot.ts
|
|
7699
8570
|
var HubspotApi = class extends BaseApiClient {
|
|
8571
|
+
/**
|
|
8572
|
+
* Create the HubSpot connection shell (no credentials yet).
|
|
8573
|
+
*
|
|
8574
|
+
* First step of the guided setup flow: provisions the connection row so
|
|
8575
|
+
* the admin lands on the detail page where the OAuth callback URL is
|
|
8576
|
+
* shown — which they need to register their HubSpot app before they have
|
|
8577
|
+
* a Client ID / Secret to enter. Idempotent.
|
|
8578
|
+
*/
|
|
8579
|
+
async installHubspot(wid) {
|
|
8580
|
+
return this.fetch(`w/${wid}/app-connections/hubspot/install`, {
|
|
8581
|
+
method: "POST",
|
|
8582
|
+
body: JSON.stringify({})
|
|
8583
|
+
});
|
|
8584
|
+
}
|
|
7700
8585
|
async configureHubspot(wid, data) {
|
|
7701
8586
|
return this.fetch(`w/${wid}/app-connections/hubspot/configure`, {
|
|
7702
8587
|
method: "POST",
|
|
@@ -7827,6 +8712,112 @@ var SitesApi = class extends BaseApiClient {
|
|
|
7827
8712
|
async getSite(wid, id) {
|
|
7828
8713
|
return this.fetch(`w/${wid}/sites/${id}`);
|
|
7829
8714
|
}
|
|
8715
|
+
/** Get a site's sharing settings. */
|
|
8716
|
+
async getSiteSharing(wid, siteId) {
|
|
8717
|
+
return this.fetch(`w/${wid}/sites/${siteId}/sharing`);
|
|
8718
|
+
}
|
|
8719
|
+
/** Update a site's sharing settings. */
|
|
8720
|
+
async updateSiteSharing(wid, siteId, data) {
|
|
8721
|
+
return this.fetch(`w/${wid}/sites/${siteId}/sharing`, {
|
|
8722
|
+
method: "PUT",
|
|
8723
|
+
body: JSON.stringify(data)
|
|
8724
|
+
});
|
|
8725
|
+
}
|
|
8726
|
+
/** Get a site's source tree. */
|
|
8727
|
+
async getSiteSource(wid, siteId) {
|
|
8728
|
+
return this.fetch(`w/${wid}/sites/${siteId}/source`);
|
|
8729
|
+
}
|
|
8730
|
+
/** Starter templates the caller may seed (superuser-only ones filtered server-side). */
|
|
8731
|
+
async getSiteSourceTemplates(wid, siteId) {
|
|
8732
|
+
return this.fetch(`w/${wid}/sites/${siteId}/source/templates`);
|
|
8733
|
+
}
|
|
8734
|
+
/** Create a site's source tree with starter files if it does not exist. */
|
|
8735
|
+
async createSiteSource(wid, siteId) {
|
|
8736
|
+
return this.fetch(`w/${wid}/sites/${siteId}/source`, {
|
|
8737
|
+
method: "POST"
|
|
8738
|
+
});
|
|
8739
|
+
}
|
|
8740
|
+
/** Build a site's source without publishing. */
|
|
8741
|
+
async buildSiteSource(wid, siteId) {
|
|
8742
|
+
return this.fetch(`w/${wid}/sites/${siteId}/source/build`, {
|
|
8743
|
+
method: "POST"
|
|
8744
|
+
});
|
|
8745
|
+
}
|
|
8746
|
+
/**
|
|
8747
|
+
* Build and publish a site's source. Optionally label the published version
|
|
8748
|
+
* with a `name` and `note`; both default to null (the UI then shows
|
|
8749
|
+
* "Version {version}").
|
|
8750
|
+
*/
|
|
8751
|
+
async publishSiteSource(wid, siteId, options) {
|
|
8752
|
+
return this.fetch(`w/${wid}/sites/${siteId}/source/publish`, {
|
|
8753
|
+
method: "POST",
|
|
8754
|
+
body: JSON.stringify({
|
|
8755
|
+
name: options?.name ?? null,
|
|
8756
|
+
note: options?.note ?? null
|
|
8757
|
+
})
|
|
8758
|
+
});
|
|
8759
|
+
}
|
|
8760
|
+
/**
|
|
8761
|
+
* Reset a site's source files: load a starter template and/or wipe existing
|
|
8762
|
+
* files. `template` selects which starter to seed when `loadDefaults` is set
|
|
8763
|
+
* (defaults to "hello-world"; "patient-enrollment" is the other built-in).
|
|
8764
|
+
*/
|
|
8765
|
+
async resetSiteSource(wid, siteId, options) {
|
|
8766
|
+
return this.fetch(`w/${wid}/sites/${siteId}/source/reset`, {
|
|
8767
|
+
method: "POST",
|
|
8768
|
+
body: JSON.stringify({
|
|
8769
|
+
load_defaults: options.loadDefaults,
|
|
8770
|
+
delete_existing: options.deleteExisting,
|
|
8771
|
+
...options.template ? { template: options.template } : {}
|
|
8772
|
+
})
|
|
8773
|
+
});
|
|
8774
|
+
}
|
|
8775
|
+
/**
|
|
8776
|
+
* Re-point the published release to a prior version from the history. A pure
|
|
8777
|
+
* pointer move (no rebuild); the other versions stay in the history.
|
|
8778
|
+
*/
|
|
8779
|
+
async rollbackSiteSource(wid, siteId, releaseUuid) {
|
|
8780
|
+
return this.fetch(`w/${wid}/sites/${siteId}/source/rollback`, {
|
|
8781
|
+
method: "POST",
|
|
8782
|
+
body: JSON.stringify({ release_uuid: releaseUuid })
|
|
8783
|
+
});
|
|
8784
|
+
}
|
|
8785
|
+
/**
|
|
8786
|
+
* Export the site's source tree as a ZIP archive (editor-gated server-side).
|
|
8787
|
+
* Returns the raw archive bytes for the caller to save.
|
|
8788
|
+
*/
|
|
8789
|
+
async downloadSiteSourceZip(wid, siteId) {
|
|
8790
|
+
const response = await this.fetchRaw(`w/${wid}/sites/${siteId}/source/download`);
|
|
8791
|
+
return response.blob();
|
|
8792
|
+
}
|
|
8793
|
+
/**
|
|
8794
|
+
* Replace the site's source tree with the contents of an uploaded ZIP
|
|
8795
|
+
* (clears the existing source first, like a reset that loads a template).
|
|
8796
|
+
*/
|
|
8797
|
+
async importSiteSourceZip(wid, siteId, file) {
|
|
8798
|
+
const form = new FormData();
|
|
8799
|
+
form.append("file", file, "source.zip");
|
|
8800
|
+
return this.fetch(`w/${wid}/sites/${siteId}/source/import`, {
|
|
8801
|
+
method: "POST",
|
|
8802
|
+
body: form
|
|
8803
|
+
});
|
|
8804
|
+
}
|
|
8805
|
+
/**
|
|
8806
|
+
* Get a theme's settings schema, the site's saved values, and capabilities.
|
|
8807
|
+
* Pass `theme` to resolve the schema for a theme other than the saved one
|
|
8808
|
+
* (e.g. one the builder has selected but not yet saved).
|
|
8809
|
+
*/
|
|
8810
|
+
async getThemeSettings(wid, siteId, theme) {
|
|
8811
|
+
const query = theme ? `?theme=${encodeURIComponent(theme)}` : "";
|
|
8812
|
+
return this.fetch(`w/${wid}/sites/${siteId}/theme-settings${query}`);
|
|
8813
|
+
}
|
|
8814
|
+
/** Save values for the active theme's settings (validated against the schema). */
|
|
8815
|
+
async updateThemeSettings(wid, siteId, values) {
|
|
8816
|
+
return this.fetch(`w/${wid}/sites/${siteId}/theme-settings`, {
|
|
8817
|
+
method: "PUT",
|
|
8818
|
+
body: JSON.stringify({ values })
|
|
8819
|
+
});
|
|
8820
|
+
}
|
|
7830
8821
|
/** Get a single site by UUID. */
|
|
7831
8822
|
async getSiteByUuid(wid, uuid) {
|
|
7832
8823
|
return this.fetch(`s/${wid}/${uuid}`);
|
|
@@ -7865,19 +8856,28 @@ var SitesApi = class extends BaseApiClient {
|
|
|
7865
8856
|
}
|
|
7866
8857
|
);
|
|
7867
8858
|
}
|
|
7868
|
-
/**
|
|
8859
|
+
/**
|
|
8860
|
+
* Verify a phone or email code and complete site authentication.
|
|
8861
|
+
*
|
|
8862
|
+
* When the account has 2FA enrolled, the backend returns a temporary token
|
|
8863
|
+
* with ``requiresTwoFactor: true`` and this method does **not** mint full
|
|
8864
|
+
* session cookies — the caller must complete the 2FA challenge (same handoff
|
|
8865
|
+
* as public-site Google OAuth).
|
|
8866
|
+
*/
|
|
7869
8867
|
async siteVerifyCode(wid, siteUuid, code, phoneNumber, email) {
|
|
7870
8868
|
const verifyResponse = await this.fetch(`s/${wid}/${siteUuid}/auth/verify`, {
|
|
7871
8869
|
method: "POST",
|
|
7872
8870
|
body: JSON.stringify({ code, phoneNumber, email })
|
|
7873
8871
|
});
|
|
7874
|
-
|
|
7875
|
-
|
|
7876
|
-
|
|
7877
|
-
|
|
7878
|
-
|
|
7879
|
-
|
|
7880
|
-
|
|
8872
|
+
if (!verifyResponse.requiresTwoFactor && verifyResponse.token) {
|
|
8873
|
+
const completeResponse = await fetch(`/api/auth/complete`, {
|
|
8874
|
+
method: "POST",
|
|
8875
|
+
headers: { "Content-Type": "application/json" },
|
|
8876
|
+
body: JSON.stringify({ token: verifyResponse.token })
|
|
8877
|
+
});
|
|
8878
|
+
if (!completeResponse.ok) {
|
|
8879
|
+
throw new Error("Failed to complete authentication");
|
|
8880
|
+
}
|
|
7881
8881
|
}
|
|
7882
8882
|
return verifyResponse;
|
|
7883
8883
|
}
|
|
@@ -8209,6 +9209,16 @@ var SupportRequestsApi = class extends BaseApiClient {
|
|
|
8209
9209
|
body: JSON.stringify(data)
|
|
8210
9210
|
});
|
|
8211
9211
|
}
|
|
9212
|
+
/**
|
|
9213
|
+
* Reopen a resolved support request (e.g. staff resolved it prematurely).
|
|
9214
|
+
* The server rejects requests that are not in the `resolved` state.
|
|
9215
|
+
*/
|
|
9216
|
+
async reopenWorkspaceSupportRequest(workspaceUuid, uuid, data = {}) {
|
|
9217
|
+
return this.fetch(`w/${workspaceUuid}/support-requests/${uuid}/reopen`, {
|
|
9218
|
+
method: "POST",
|
|
9219
|
+
body: JSON.stringify(data)
|
|
9220
|
+
});
|
|
9221
|
+
}
|
|
8212
9222
|
/**
|
|
8213
9223
|
* Record a click on a pushed resource (Proactive Support). For a
|
|
8214
9224
|
* manager_prompt, pass the Manager Chat UUID it opened so the
|
|
@@ -8354,7 +9364,15 @@ var SupervisorsApi = class extends BaseApiClient {
|
|
|
8354
9364
|
|
|
8355
9365
|
// src/api/tasks.ts
|
|
8356
9366
|
var TasksApi = class extends BaseApiClient {
|
|
8357
|
-
/**
|
|
9367
|
+
/**
|
|
9368
|
+
* List all tasks in a workspace, optionally filtering by workflow or
|
|
9369
|
+
* including archived.
|
|
9370
|
+
*
|
|
9371
|
+
* `workflowId` is the STABLE workflow root id — the server resolves it to
|
|
9372
|
+
* that workflow's draft revision's tasks. `workflowRevisionId` filters an
|
|
9373
|
+
* explicit revision (the read-only published-revision view). Pass at most
|
|
9374
|
+
* one; passing both that disagree is a 400.
|
|
9375
|
+
*/
|
|
8358
9376
|
async getTasks(wid, options = {}) {
|
|
8359
9377
|
const params = new URLSearchParams();
|
|
8360
9378
|
if (options.includeArchived) {
|
|
@@ -8363,6 +9381,9 @@ var TasksApi = class extends BaseApiClient {
|
|
|
8363
9381
|
if (options.workflowId) {
|
|
8364
9382
|
params.append("workflow_id", options.workflowId.toString());
|
|
8365
9383
|
}
|
|
9384
|
+
if (options.workflowRevisionId) {
|
|
9385
|
+
params.append("workflow_revision_id", options.workflowRevisionId.toString());
|
|
9386
|
+
}
|
|
8366
9387
|
if (options.sortBy) {
|
|
8367
9388
|
params.append("sortBy", options.sortBy);
|
|
8368
9389
|
}
|
|
@@ -8717,11 +9738,18 @@ var JourneysApi = class extends BaseApiClient {
|
|
|
8717
9738
|
// src/api/workflows.ts
|
|
8718
9739
|
var WorkflowsApi = class extends BaseApiClient {
|
|
8719
9740
|
/** List all workflows in a workspace, optionally including archived ones. */
|
|
8720
|
-
async getWorkflows(wid,
|
|
8721
|
-
const
|
|
8722
|
-
|
|
9741
|
+
async getWorkflows(wid, options = {}) {
|
|
9742
|
+
const params = new URLSearchParams();
|
|
9743
|
+
if (options.archived) params.set("archived", "true");
|
|
9744
|
+
if (options.page) params.set("page", String(options.page));
|
|
9745
|
+
if (options.pageSize) params.set("pageSize", String(options.pageSize));
|
|
9746
|
+
if (options.sortBy) params.set("sortBy", options.sortBy);
|
|
9747
|
+
if (options.sortOrder) params.set("sortOrder", options.sortOrder);
|
|
9748
|
+
if (options.search) params.set("search", options.search);
|
|
9749
|
+
const qs = params.toString();
|
|
9750
|
+
return this.fetch(`w/${wid}/workflows${qs ? `?${qs}` : ""}`);
|
|
8723
9751
|
}
|
|
8724
|
-
/** Get a single workflow by ID. */
|
|
9752
|
+
/** Get a single workflow by ID (root + draft + active-revision summary). */
|
|
8725
9753
|
async getWorkflow(wid, id) {
|
|
8726
9754
|
return this.fetch(`w/${wid}/workflows/${id}`);
|
|
8727
9755
|
}
|
|
@@ -8769,7 +9797,7 @@ var WorkflowsApi = class extends BaseApiClient {
|
|
|
8769
9797
|
body: JSON.stringify(workflow)
|
|
8770
9798
|
});
|
|
8771
9799
|
}
|
|
8772
|
-
/** Update an existing workflow. */
|
|
9800
|
+
/** Update an existing workflow's draft revision. */
|
|
8773
9801
|
async updateWorkflow(wid, id, workflow) {
|
|
8774
9802
|
return this.fetch(`w/${wid}/workflows/${id}`, {
|
|
8775
9803
|
method: "PUT",
|
|
@@ -8790,13 +9818,15 @@ var WorkflowsApi = class extends BaseApiClient {
|
|
|
8790
9818
|
/** Archive a workflow. */
|
|
8791
9819
|
async archiveWorkflow(wid, id) {
|
|
8792
9820
|
return this.fetch(`w/${wid}/workflows/${id}/archive`, {
|
|
8793
|
-
method: "POST"
|
|
9821
|
+
method: "POST",
|
|
9822
|
+
body: JSON.stringify({})
|
|
8794
9823
|
});
|
|
8795
9824
|
}
|
|
8796
9825
|
/** Unarchive a previously archived workflow. */
|
|
8797
9826
|
async unarchiveWorkflow(wid, id) {
|
|
8798
9827
|
return this.fetch(`w/${wid}/workflows/${id}/unarchive`, {
|
|
8799
|
-
method: "POST"
|
|
9828
|
+
method: "POST",
|
|
9829
|
+
body: JSON.stringify({})
|
|
8800
9830
|
});
|
|
8801
9831
|
}
|
|
8802
9832
|
/** Clone a workflow with a new name. */
|
|
@@ -8812,16 +9842,20 @@ var WorkflowsApi = class extends BaseApiClient {
|
|
|
8812
9842
|
}
|
|
8813
9843
|
/** Create a new workflow from a template. */
|
|
8814
9844
|
async createWorkflowFromTemplate(wid, templateUuid, data) {
|
|
8815
|
-
return this.fetch(
|
|
8816
|
-
|
|
8817
|
-
|
|
8818
|
-
|
|
9845
|
+
return this.fetch(
|
|
9846
|
+
`w/${wid}/workflows/templates/${templateUuid}/create-workflow`,
|
|
9847
|
+
{
|
|
9848
|
+
method: "POST",
|
|
9849
|
+
body: JSON.stringify(data)
|
|
9850
|
+
}
|
|
9851
|
+
);
|
|
8819
9852
|
}
|
|
8820
9853
|
/** Get task assignment statistics for a workflow within an optional date range. */
|
|
8821
|
-
async getWorkflowTaskAssignmentStats(wid, id, fromDate, toDate) {
|
|
9854
|
+
async getWorkflowTaskAssignmentStats(wid, id, fromDate, toDate, workflowRevisionId) {
|
|
8822
9855
|
const params = new URLSearchParams();
|
|
8823
9856
|
if (fromDate) params.append("from_date", fromDate);
|
|
8824
9857
|
if (toDate) params.append("to_date", toDate);
|
|
9858
|
+
if (workflowRevisionId) params.append("workflowRevisionId", String(workflowRevisionId));
|
|
8825
9859
|
return this.fetch(
|
|
8826
9860
|
`w/${wid}/workflows/${id}/task-assignment-stats?${params.toString()}`
|
|
8827
9861
|
);
|
|
@@ -8871,6 +9905,24 @@ var WorkflowsApi = class extends BaseApiClient {
|
|
|
8871
9905
|
`w/${wid}/workflows/${workflowId}/route-dry-run?${params.toString()}`
|
|
8872
9906
|
);
|
|
8873
9907
|
}
|
|
9908
|
+
// Workflow Feedback API
|
|
9909
|
+
/**
|
|
9910
|
+
* List chat feedback for a workflow (thumbs ratings + explicit/extracted rows).
|
|
9911
|
+
* First consumer of the workspace-plane chat_feedback table.
|
|
9912
|
+
*/
|
|
9913
|
+
async getWorkflowFeedback(wid, workflowId, options = {}) {
|
|
9914
|
+
const params = new URLSearchParams();
|
|
9915
|
+
if (options.page != null) params.set("page", String(options.page));
|
|
9916
|
+
if (options.pageSize != null) params.set("pageSize", String(options.pageSize));
|
|
9917
|
+
if (options.source) params.set("source", options.source);
|
|
9918
|
+
if (options.rating) params.set("rating", options.rating);
|
|
9919
|
+
if (options.authorKind) params.set("authorKind", options.authorKind);
|
|
9920
|
+
if (options.includeTest != null) params.set("includeTest", String(options.includeTest));
|
|
9921
|
+
const qs = params.toString();
|
|
9922
|
+
return this.fetch(
|
|
9923
|
+
`w/${wid}/workflows/${workflowId}/feedback${qs ? `?${qs}` : ""}`
|
|
9924
|
+
);
|
|
9925
|
+
}
|
|
8874
9926
|
// Workflow Contributors API
|
|
8875
9927
|
/** List all contributors for a workflow. */
|
|
8876
9928
|
async getWorkflowContributors(wid, workflowId) {
|
|
@@ -8936,58 +9988,80 @@ var WorkflowsApi = class extends BaseApiClient {
|
|
|
8936
9988
|
body: JSON.stringify({ name })
|
|
8937
9989
|
});
|
|
8938
9990
|
}
|
|
8939
|
-
|
|
8940
|
-
|
|
8941
|
-
|
|
8942
|
-
return this.fetch(`w/${wid}/workflows/${workflowUuid}/versions`);
|
|
8943
|
-
}
|
|
8944
|
-
/** Get the active version of a workflow. */
|
|
8945
|
-
async getWorkflowVersionActive(wid, workflowUuid) {
|
|
8946
|
-
return this.fetch(
|
|
8947
|
-
`w/${wid}/workflows/${workflowUuid}/versions/active`
|
|
8948
|
-
);
|
|
9991
|
+
/** List relational revisions for a workflow. */
|
|
9992
|
+
async getWorkflowRevisions(wid, workflowId) {
|
|
9993
|
+
return this.fetch(`w/${wid}/workflows/${workflowId}/revisions`);
|
|
8949
9994
|
}
|
|
8950
|
-
/** Get
|
|
8951
|
-
async
|
|
9995
|
+
/** Get full workflow details for one relational workflow revision. */
|
|
9996
|
+
async getWorkflowRevision(wid, workflowId, revisionId) {
|
|
8952
9997
|
return this.fetch(
|
|
8953
|
-
`w/${wid}/workflows/${
|
|
9998
|
+
`w/${wid}/workflows/${workflowId}/revisions/${revisionId}`
|
|
8954
9999
|
);
|
|
8955
10000
|
}
|
|
8956
|
-
/**
|
|
8957
|
-
|
|
8958
|
-
|
|
10001
|
+
/** Freeze the workflow's draft as a published revision and clone a fresh draft.
|
|
10002
|
+
*
|
|
10003
|
+
* By default the just-published revision becomes the active revision —
|
|
10004
|
+
* live traffic flips to it immediately. Pass `setActive: false` to
|
|
10005
|
+
* publish without flipping live traffic (advanced flow).
|
|
10006
|
+
*/
|
|
10007
|
+
async publishWorkflowRevision(wid, workflowId, data = {}) {
|
|
10008
|
+
return this.fetch(`w/${wid}/workflows/${workflowId}/publish`, {
|
|
8959
10009
|
method: "POST",
|
|
8960
10010
|
body: JSON.stringify(data)
|
|
8961
10011
|
});
|
|
8962
10012
|
}
|
|
8963
|
-
|
|
10013
|
+
/** Point the workflow's active pointer at a chosen revision (pointer flip only).
|
|
10014
|
+
*
|
|
10015
|
+
* The target may be any of the workflow's published revisions.
|
|
10016
|
+
* Activating the draft requires `allowDraft: true` and a UI warning
|
|
10017
|
+
* confirmation.
|
|
10018
|
+
*/
|
|
10019
|
+
async activateWorkflowRevision(wid, workflowId, revisionId, data = {}) {
|
|
8964
10020
|
return this.fetch(
|
|
8965
|
-
`w/${wid}/workflows/${
|
|
8966
|
-
{
|
|
10021
|
+
`w/${wid}/workflows/${workflowId}/revisions/${revisionId}/activate`,
|
|
10022
|
+
{
|
|
10023
|
+
method: "POST",
|
|
10024
|
+
body: JSON.stringify(data)
|
|
10025
|
+
}
|
|
8967
10026
|
);
|
|
8968
10027
|
}
|
|
8969
|
-
/**
|
|
8970
|
-
|
|
10028
|
+
/** Update a revision's curation metadata (label + publish notes).
|
|
10029
|
+
*
|
|
10030
|
+
* Applies to both the draft and published revisions; it is not a graph
|
|
10031
|
+
* change, so it never marks the draft dirty.
|
|
10032
|
+
*/
|
|
10033
|
+
async updateWorkflowRevisionMetadata(wid, workflowId, revisionId, data) {
|
|
8971
10034
|
return this.fetch(
|
|
8972
|
-
`w/${wid}/workflows/${
|
|
10035
|
+
`w/${wid}/workflows/${workflowId}/revisions/${revisionId}`,
|
|
8973
10036
|
{
|
|
8974
|
-
method: "
|
|
10037
|
+
method: "PATCH",
|
|
10038
|
+
body: JSON.stringify(data)
|
|
8975
10039
|
}
|
|
8976
10040
|
);
|
|
8977
10041
|
}
|
|
8978
|
-
/**
|
|
8979
|
-
|
|
10042
|
+
/** Compare two revisions of the same workflow.
|
|
10043
|
+
*
|
|
10044
|
+
* `against` is a revision id or UUID; when omitted the diff compares the
|
|
10045
|
+
* named revision against the workflow's draft. Tasks are matched by
|
|
10046
|
+
* stable lineage, so a rename reads as a changed `name` field.
|
|
10047
|
+
*/
|
|
10048
|
+
async diffWorkflowRevisions(wid, workflowId, revisionId, against) {
|
|
10049
|
+
const qs = against !== void 0 ? `?against=${encodeURIComponent(String(against))}` : "";
|
|
8980
10050
|
return this.fetch(
|
|
8981
|
-
`w/${wid}/workflows/${
|
|
8982
|
-
{
|
|
8983
|
-
method: "POST"
|
|
8984
|
-
}
|
|
10051
|
+
`w/${wid}/workflows/${workflowId}/revisions/${revisionId}/diff${qs}`
|
|
8985
10052
|
);
|
|
8986
10053
|
}
|
|
8987
|
-
/**
|
|
8988
|
-
|
|
10054
|
+
/** Branch a published revision into the workflow's draft ("edit this
|
|
10055
|
+
* revision"): the draft becomes a fresh clone of the named published
|
|
10056
|
+
* revision. Pass `discardDraftChanges` to replace a dirty draft.
|
|
10057
|
+
*/
|
|
10058
|
+
async editWorkflowRevisionAsDraft(wid, workflowId, revisionId, data = {}) {
|
|
8989
10059
|
return this.fetch(
|
|
8990
|
-
`w/${wid}/workflows/${
|
|
10060
|
+
`w/${wid}/workflows/${workflowId}/revisions/${revisionId}/edit`,
|
|
10061
|
+
{
|
|
10062
|
+
method: "POST",
|
|
10063
|
+
body: JSON.stringify(data)
|
|
10064
|
+
}
|
|
8991
10065
|
);
|
|
8992
10066
|
}
|
|
8993
10067
|
};
|
|
@@ -9305,6 +10379,35 @@ var WorkspacesApi = class extends BaseApiClient {
|
|
|
9305
10379
|
async getWorkspaceSiteDomains(wid) {
|
|
9306
10380
|
return this.fetch(`w/${wid}/domains/for-site`);
|
|
9307
10381
|
}
|
|
10382
|
+
/**
|
|
10383
|
+
* List org domains available for enabling embeddable widgets. Widgets ride
|
|
10384
|
+
* on domain-ownership verification only, so the consumer gates selection on
|
|
10385
|
+
* `ownershipStatus === 'verified'`.
|
|
10386
|
+
*/
|
|
10387
|
+
async getWorkspaceWidgetDomains(wid) {
|
|
10388
|
+
return this.fetch(`w/${wid}/domains/for-widget`);
|
|
10389
|
+
}
|
|
10390
|
+
/** List this workspace's widget-domain enablement entries. */
|
|
10391
|
+
async listWidgetDomains(wid) {
|
|
10392
|
+
return this.fetch(`w/${wid}/widget-domains`);
|
|
10393
|
+
}
|
|
10394
|
+
/**
|
|
10395
|
+
* Enable/replace the set of widgets on one verified org domain. Idempotent
|
|
10396
|
+
* upsert keyed by `orgDomainUuid`; the server rejects unverified domains
|
|
10397
|
+
* (400) and cross-org domains (404).
|
|
10398
|
+
*/
|
|
10399
|
+
async upsertWidgetDomain(wid, orgDomainUuid, body) {
|
|
10400
|
+
return this.fetch(`w/${wid}/widget-domains/${orgDomainUuid}`, {
|
|
10401
|
+
method: "PUT",
|
|
10402
|
+
body: JSON.stringify(body)
|
|
10403
|
+
});
|
|
10404
|
+
}
|
|
10405
|
+
/** Remove this workspace's widget entry for a domain (disables all widgets). */
|
|
10406
|
+
async deleteWidgetDomain(wid, orgDomainUuid) {
|
|
10407
|
+
await this.fetch(`w/${wid}/widget-domains/${orgDomainUuid}`, {
|
|
10408
|
+
method: "DELETE"
|
|
10409
|
+
});
|
|
10410
|
+
}
|
|
9308
10411
|
/** List client workspaces managed by this reseller workspace, paginated. */
|
|
9309
10412
|
async getResellerWorkspaces(wid, params) {
|
|
9310
10413
|
const query = new URLSearchParams();
|
|
@@ -9464,7 +10567,7 @@ var WorkspacesApi = class extends BaseApiClient {
|
|
|
9464
10567
|
/**
|
|
9465
10568
|
* Get billing dashboard data for a workspace.
|
|
9466
10569
|
*
|
|
9467
|
-
* This endpoint is available to organization owners (with org:
|
|
10570
|
+
* This endpoint is available to organization owners (with org:info scope).
|
|
9468
10571
|
* Superusers should use the admin endpoint via getWorkspaceUsageDashboard.
|
|
9469
10572
|
*
|
|
9470
10573
|
* Returns comprehensive billing information including:
|
|
@@ -9498,6 +10601,7 @@ function createApiModules(apiKey, baseUrl, customFetch) {
|
|
|
9498
10601
|
customers: new CustomersApi(apiKey, baseUrl, customFetch),
|
|
9499
10602
|
resellers: new ResellersApi(apiKey, baseUrl, customFetch),
|
|
9500
10603
|
customToolkits: new CustomToolkitsApi(apiKey, baseUrl, customFetch),
|
|
10604
|
+
dashboards: new DashboardsApi(apiKey, baseUrl, customFetch),
|
|
9501
10605
|
dataTypes: new DataTypesApi(apiKey, baseUrl, customFetch),
|
|
9502
10606
|
discordBots: new DiscordBotsApi(apiKey, baseUrl, customFetch),
|
|
9503
10607
|
slackApps: new SlackAppsApi(apiKey, baseUrl, customFetch),
|
|
@@ -9505,6 +10609,7 @@ function createApiModules(apiKey, baseUrl, customFetch) {
|
|
|
9505
10609
|
events: new EventsApi(apiKey, baseUrl, customFetch),
|
|
9506
10610
|
experiments: new ExperimentsApi(apiKey, baseUrl, customFetch),
|
|
9507
10611
|
fhirConnections: new FhirConnectionsApi(apiKey, baseUrl, customFetch),
|
|
10612
|
+
patientSyncConnections: new PatientSyncConnectionsApi(apiKey, baseUrl, customFetch),
|
|
9508
10613
|
healthie: new HealthieApi(apiKey, baseUrl, customFetch),
|
|
9509
10614
|
hubspot: new HubspotApi(apiKey, baseUrl, customFetch),
|
|
9510
10615
|
features: new FeaturesApi(apiKey, baseUrl, customFetch),
|
|
@@ -9517,6 +10622,7 @@ function createApiModules(apiKey, baseUrl, customFetch) {
|
|
|
9517
10622
|
mcpServers: new McpServersApi(apiKey, baseUrl, customFetch),
|
|
9518
10623
|
members: new MembersApi(apiKey, baseUrl, customFetch),
|
|
9519
10624
|
milestones: new MilestonesApi(apiKey, baseUrl, customFetch),
|
|
10625
|
+
motd: new MotdApi(apiKey, baseUrl, customFetch),
|
|
9520
10626
|
confluence: new ConfluenceApi(apiKey, baseUrl, customFetch),
|
|
9521
10627
|
mondayIntegration: new MondayIntegrationApi(apiKey, baseUrl, customFetch),
|
|
9522
10628
|
notificationRules: new NotificationRulesApi(apiKey, baseUrl, customFetch),
|
|
@@ -9528,6 +10634,7 @@ function createApiModules(apiKey, baseUrl, customFetch) {
|
|
|
9528
10634
|
pronunciations: new PronunciationsApi(apiKey, baseUrl, customFetch),
|
|
9529
10635
|
qualifications: new QualificationsApi(apiKey, baseUrl, customFetch),
|
|
9530
10636
|
personas: new PersonasApi(apiKey, baseUrl, customFetch),
|
|
10637
|
+
queries: new QueriesApi(apiKey, baseUrl, customFetch),
|
|
9531
10638
|
reports: new ReportsApi(apiKey, baseUrl, customFetch),
|
|
9532
10639
|
salesforce: new SalesforceApi(apiKey, baseUrl, customFetch),
|
|
9533
10640
|
sites: new SitesApi(apiKey, baseUrl, customFetch),
|
|
@@ -9548,7 +10655,7 @@ function createApiModules(apiKey, baseUrl, customFetch) {
|
|
|
9548
10655
|
|
|
9549
10656
|
// src/client/workspace-client.ts
|
|
9550
10657
|
var WORKSPACE_METHOD_NAMES = [
|
|
9551
|
-
"
|
|
10658
|
+
"activateWorkflowRevision",
|
|
9552
10659
|
"addGroupMember",
|
|
9553
10660
|
"advanceStep",
|
|
9554
10661
|
"approveWorkspaceInvitation",
|
|
@@ -9572,6 +10679,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
9572
10679
|
"cancelAgentTask",
|
|
9573
10680
|
"cancelAssignment",
|
|
9574
10681
|
"cancelCalendarEvent",
|
|
10682
|
+
"cancelChatCallback",
|
|
9575
10683
|
"cancelCredentialUpdateInvite",
|
|
9576
10684
|
"checkAvailability",
|
|
9577
10685
|
"checkSiteDomainAvailability",
|
|
@@ -9586,6 +10694,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
9586
10694
|
"commentOnWorkspaceSupportRequest",
|
|
9587
10695
|
"configureConfluence",
|
|
9588
10696
|
"configureHealthie",
|
|
10697
|
+
"configurePatientSync",
|
|
9589
10698
|
"configureHubspot",
|
|
9590
10699
|
"configureMondayConnection",
|
|
9591
10700
|
"configureSalesforce",
|
|
@@ -9609,6 +10718,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
9609
10718
|
"createCustomTool",
|
|
9610
10719
|
"createCustomToolkit",
|
|
9611
10720
|
"createDataRecord",
|
|
10721
|
+
"createDataRecordFilter",
|
|
9612
10722
|
"createDataType",
|
|
9613
10723
|
"createDiscordBot",
|
|
9614
10724
|
"createEventRule",
|
|
@@ -9655,7 +10765,6 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
9655
10765
|
"createWorkflowOutboundVoiceChat",
|
|
9656
10766
|
"createWorkspaceMember",
|
|
9657
10767
|
"createWorkspaceSupportRequest",
|
|
9658
|
-
"deactivateWorkflowVersion",
|
|
9659
10768
|
"deleteAbility",
|
|
9660
10769
|
"deleteAgent",
|
|
9661
10770
|
"deleteAssignment",
|
|
@@ -9671,6 +10780,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
9671
10780
|
"deleteCustomTool",
|
|
9672
10781
|
"deleteCustomToolkit",
|
|
9673
10782
|
"deleteDataRecord",
|
|
10783
|
+
"deleteDataRecordFilter",
|
|
9674
10784
|
"deleteDataType",
|
|
9675
10785
|
"deleteDiscordBot",
|
|
9676
10786
|
"deleteEnrollment",
|
|
@@ -9680,6 +10790,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
9680
10790
|
"deleteExperimentAssignment",
|
|
9681
10791
|
"deleteExperimentGroup",
|
|
9682
10792
|
"deleteFhirConnection",
|
|
10793
|
+
"deletePatientSyncConnection",
|
|
9683
10794
|
"deleteFile",
|
|
9684
10795
|
"deleteFileLabel",
|
|
9685
10796
|
"deleteFolder",
|
|
@@ -9712,6 +10823,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
9712
10823
|
"deleteSupervisor",
|
|
9713
10824
|
"deleteTask",
|
|
9714
10825
|
"deleteTeamsApp",
|
|
10826
|
+
"deleteWidgetDomain",
|
|
9715
10827
|
"deleteWorkflow",
|
|
9716
10828
|
"deleteWorkflowContributor",
|
|
9717
10829
|
"deleteWorkflowNote",
|
|
@@ -9719,7 +10831,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
9719
10831
|
"deleteWorkspaceInvitationAdmin",
|
|
9720
10832
|
"denyWorkspaceInvitation",
|
|
9721
10833
|
"describeSalesforceObject",
|
|
9722
|
-
"
|
|
10834
|
+
"diffWorkflowRevisions",
|
|
9723
10835
|
"disableConfluence",
|
|
9724
10836
|
"disableCustomToolkit",
|
|
9725
10837
|
"disableHubspot",
|
|
@@ -9735,6 +10847,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
9735
10847
|
"dismissAllNotifications",
|
|
9736
10848
|
"dismissNotification",
|
|
9737
10849
|
"downloadEmailAttachment",
|
|
10850
|
+
"editWorkflowRevisionAsDraft",
|
|
9738
10851
|
"enableConfluence",
|
|
9739
10852
|
"enableCustomToolkit",
|
|
9740
10853
|
"enableHubspot",
|
|
@@ -9813,8 +10926,10 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
9813
10926
|
"getCalendarSchedules",
|
|
9814
10927
|
"getCalendars",
|
|
9815
10928
|
"getCelContext",
|
|
10929
|
+
"getCharlestonTestDeliveryRecipients",
|
|
9816
10930
|
"getChat",
|
|
9817
10931
|
"getChatAssignmentTasks",
|
|
10932
|
+
"getChatCallbacks",
|
|
9818
10933
|
"getChatEmails",
|
|
9819
10934
|
"getChatFilter",
|
|
9820
10935
|
"getChatFilterByUuid",
|
|
@@ -9845,6 +10960,9 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
9845
10960
|
"getCustomToolkits",
|
|
9846
10961
|
"getDataRecord",
|
|
9847
10962
|
"getDataRecordChanges",
|
|
10963
|
+
"getDataRecordFilter",
|
|
10964
|
+
"getDataRecordFilterCount",
|
|
10965
|
+
"getDataRecordFilters",
|
|
9848
10966
|
"getDataRecords",
|
|
9849
10967
|
"getDataType",
|
|
9850
10968
|
"getDataTypeByUuid",
|
|
@@ -9868,19 +10986,24 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
9868
10986
|
"getFhirConnections",
|
|
9869
10987
|
"getFieldIndexStatus",
|
|
9870
10988
|
"getFile",
|
|
10989
|
+
"resolveFilePath",
|
|
9871
10990
|
"getFileLabel",
|
|
9872
10991
|
"getFileLabelByUuid",
|
|
9873
10992
|
"getFileLabels",
|
|
9874
10993
|
"getFileSharing",
|
|
10994
|
+
"getFileVersionContentsUrl",
|
|
10995
|
+
"getFileVersionDiff",
|
|
9875
10996
|
"getFiles",
|
|
9876
10997
|
"getFirstRunState",
|
|
9877
10998
|
"getFolder",
|
|
9878
10999
|
"getFolderSharing",
|
|
9879
11000
|
"getFolders",
|
|
9880
11001
|
"getGoogleCalendarStatus",
|
|
11002
|
+
"getGranteeGrants",
|
|
9881
11003
|
"getHealthieAvailableSlots",
|
|
9882
11004
|
"getHealthieReconciliationMatches",
|
|
9883
11005
|
"getHealthieStatus",
|
|
11006
|
+
"getPatientSyncStatus",
|
|
9884
11007
|
"getHubspotContactProperties",
|
|
9885
11008
|
"getHubspotManagedRules",
|
|
9886
11009
|
"getHubspotReconciliationMatches",
|
|
@@ -9922,10 +11045,12 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
9922
11045
|
"getMemberLabelByUuid",
|
|
9923
11046
|
"getMemberLabels",
|
|
9924
11047
|
"getMemberMemories",
|
|
11048
|
+
"getMemberMemory",
|
|
9925
11049
|
"getMemberRecordCounts",
|
|
9926
11050
|
"getMemberRole",
|
|
9927
11051
|
"getMemberRoleByUuid",
|
|
9928
11052
|
"getMemberRoles",
|
|
11053
|
+
"getMemberSyncLinks",
|
|
9929
11054
|
"getMemberSyncSummary",
|
|
9930
11055
|
"getMemberUsage",
|
|
9931
11056
|
"getMembersMessageActivity",
|
|
@@ -9969,6 +11094,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
9969
11094
|
"getPublicProducts",
|
|
9970
11095
|
"getQualification",
|
|
9971
11096
|
"getQualifications",
|
|
11097
|
+
"getRecordingInfo",
|
|
9972
11098
|
"getResellerWorkspaces",
|
|
9973
11099
|
"getRoutine",
|
|
9974
11100
|
"getRoutineRuns",
|
|
@@ -10023,17 +11149,17 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
10023
11149
|
"getWorkflowAccessValidation",
|
|
10024
11150
|
"getWorkflowActivity",
|
|
10025
11151
|
"getWorkflowConfigValidation",
|
|
11152
|
+
"getWorkflowFeedback",
|
|
10026
11153
|
"getWorkflowContributors",
|
|
10027
11154
|
"getWorkflowDeletionPreview",
|
|
10028
11155
|
"getWorkflowDiagram",
|
|
10029
11156
|
"getWorkflowNotes",
|
|
11157
|
+
"getWorkflowRevision",
|
|
11158
|
+
"getWorkflowRevisions",
|
|
10030
11159
|
"getWorkflowRouteDryRun",
|
|
10031
11160
|
"getWorkflowTaskAssignmentStats",
|
|
10032
11161
|
"getWorkflowTemplates",
|
|
10033
11162
|
"getWorkflowThumbnailUrl",
|
|
10034
|
-
"getWorkflowVersion",
|
|
10035
|
-
"getWorkflowVersionActive",
|
|
10036
|
-
"getWorkflowVersions",
|
|
10037
11163
|
"getWorkflows",
|
|
10038
11164
|
"getWorkflowsActivityBatch",
|
|
10039
11165
|
"getWorkspace",
|
|
@@ -10047,6 +11173,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
10047
11173
|
"getWorkspaceNotices",
|
|
10048
11174
|
"getWorkspaceProduct",
|
|
10049
11175
|
"getWorkspaceSiteDomains",
|
|
11176
|
+
"getWorkspaceWidgetDomains",
|
|
10050
11177
|
"getWorkspaceSubscriptions",
|
|
10051
11178
|
"getWorkspaceSupportRequest",
|
|
10052
11179
|
"getWorkspaceThemes",
|
|
@@ -10058,6 +11185,9 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
10058
11185
|
"initiateCall",
|
|
10059
11186
|
"initiateOutboundCall",
|
|
10060
11187
|
"inspectPrompt",
|
|
11188
|
+
"installHubspot",
|
|
11189
|
+
"installMondayConnection",
|
|
11190
|
+
"installSalesforce",
|
|
10061
11191
|
"inviteMemberCredentialUpdate",
|
|
10062
11192
|
"inviteToWorkspace",
|
|
10063
11193
|
"leaveWorkspace",
|
|
@@ -10069,13 +11199,13 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
10069
11199
|
"linkMemberToSalesforce",
|
|
10070
11200
|
"linkPhoneNumber",
|
|
10071
11201
|
"listAbilities",
|
|
10072
|
-
"listAgentAbilities",
|
|
10073
11202
|
"listAppConnections",
|
|
10074
11203
|
"listAvailableAppConnections",
|
|
10075
11204
|
"listConfluencePages",
|
|
10076
11205
|
"listConfluenceSpaces",
|
|
10077
11206
|
"listConnectionMemberFieldKeys",
|
|
10078
11207
|
"setDefaultGooglePlatformAccount",
|
|
11208
|
+
"listFileVersions",
|
|
10079
11209
|
"listGoogleCalendars",
|
|
10080
11210
|
"listHealthieAppointmentTypes",
|
|
10081
11211
|
"listHealthiePatients",
|
|
@@ -10085,20 +11215,24 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
10085
11215
|
"listScenarios",
|
|
10086
11216
|
"listSnippets",
|
|
10087
11217
|
"listTestChatRuns",
|
|
11218
|
+
"listWidgetDomains",
|
|
10088
11219
|
"listWorkspaceInvitationsAdmin",
|
|
10089
11220
|
"listWorkspaceSupportRequests",
|
|
10090
11221
|
"markEmailAsRead",
|
|
10091
11222
|
"markEmailAsUnread",
|
|
10092
11223
|
"markNotificationAsRead",
|
|
11224
|
+
"previewImportMembers",
|
|
10093
11225
|
"previewImportWorkspace",
|
|
11226
|
+
"previewRoutineWorkflowAccess",
|
|
10094
11227
|
"previewSchedule",
|
|
10095
11228
|
"previewTTS",
|
|
10096
11229
|
"previewTemplate",
|
|
10097
11230
|
"previewThinkingSound",
|
|
10098
11231
|
"previewWorkspaceImport",
|
|
10099
11232
|
"provisionClientWorkspace",
|
|
10100
|
-
"
|
|
11233
|
+
"publishWorkflowRevision",
|
|
10101
11234
|
"rateMessage",
|
|
11235
|
+
"getChatFeedback",
|
|
10102
11236
|
"reenrollMember",
|
|
10103
11237
|
"registerLinkedRolesMetadata",
|
|
10104
11238
|
"registerPushSubscription",
|
|
@@ -10115,8 +11249,8 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
10115
11249
|
"requestWorkspaceMembership",
|
|
10116
11250
|
"resetRoutineRuns",
|
|
10117
11251
|
"resolveAccessGrant",
|
|
10118
|
-
"resolveAgentTools",
|
|
10119
11252
|
"resolveAnonymousMember",
|
|
11253
|
+
"restoreFileVersion",
|
|
10120
11254
|
"revokeAccessGrant",
|
|
10121
11255
|
"revokeApiKey",
|
|
10122
11256
|
"revokeICalToken",
|
|
@@ -10182,6 +11316,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
10182
11316
|
"updateCustomTool",
|
|
10183
11317
|
"updateCustomToolkit",
|
|
10184
11318
|
"updateDataRecord",
|
|
11319
|
+
"updateDataRecordFilter",
|
|
10185
11320
|
"updateDataType",
|
|
10186
11321
|
"updateDiscordBot",
|
|
10187
11322
|
"updateEventAttendee",
|
|
@@ -10234,12 +11369,13 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
10234
11369
|
"updateWorkflow",
|
|
10235
11370
|
"updateWorkflowContributor",
|
|
10236
11371
|
"updateWorkflowNote",
|
|
10237
|
-
"
|
|
11372
|
+
"updateWorkflowRevisionMetadata",
|
|
10238
11373
|
"updateWorkspace",
|
|
10239
11374
|
"updateWorkspaceDefaults",
|
|
10240
11375
|
"updateWorkspaceInvitationAdmin",
|
|
10241
11376
|
"updateWorkspaceThemes",
|
|
10242
11377
|
"upsertDataRecord",
|
|
11378
|
+
"upsertWidgetDomain",
|
|
10243
11379
|
"validateDataTypeSlug",
|
|
10244
11380
|
"validateWorkflowName"
|
|
10245
11381
|
];
|
|
@@ -10271,6 +11407,7 @@ function bindAccessGrantsMethods(target, accessGrants) {
|
|
|
10271
11407
|
target.revokeAccessGrant = accessGrants.revokeAccessGrant.bind(accessGrants);
|
|
10272
11408
|
target.getAccessGrants = accessGrants.getAccessGrants.bind(accessGrants);
|
|
10273
11409
|
target.getMemberGrants = accessGrants.getMemberGrants.bind(accessGrants);
|
|
11410
|
+
target.getGranteeGrants = accessGrants.getGranteeGrants.bind(accessGrants);
|
|
10274
11411
|
}
|
|
10275
11412
|
|
|
10276
11413
|
// src/client/bindings/agent-tasks.ts
|
|
@@ -10290,8 +11427,6 @@ function bindAgentsMethods(target, agents) {
|
|
|
10290
11427
|
target.deleteAgent = agents.deleteAgent.bind(agents);
|
|
10291
11428
|
target.archiveAgent = agents.archiveAgent.bind(agents);
|
|
10292
11429
|
target.unarchiveAgent = agents.unarchiveAgent.bind(agents);
|
|
10293
|
-
target.resolveAgentTools = agents.resolveAgentTools.bind(agents);
|
|
10294
|
-
target.listAgentAbilities = agents.listAgentAbilities.bind(agents);
|
|
10295
11430
|
}
|
|
10296
11431
|
|
|
10297
11432
|
// src/client/bindings/tasks.ts
|
|
@@ -10310,12 +11445,15 @@ function bindTasksMethods(target, tasks, abilities) {
|
|
|
10310
11445
|
target.createAbility = abilities.createAbility.bind(abilities);
|
|
10311
11446
|
target.updateAbility = abilities.updateAbility.bind(abilities);
|
|
10312
11447
|
target.deleteAbility = abilities.deleteAbility.bind(abilities);
|
|
11448
|
+
target.getCharlestonTestDeliveryRecipients = abilities.getCharlestonTestDeliveryRecipients.bind(abilities);
|
|
10313
11449
|
}
|
|
10314
11450
|
|
|
10315
11451
|
// src/client/bindings/chats.ts
|
|
10316
11452
|
function bindChatsMethods(target, chats) {
|
|
10317
11453
|
target.getChats = chats.getChats.bind(chats);
|
|
10318
11454
|
target.getChat = chats.getChat.bind(chats);
|
|
11455
|
+
target.getChatCallbacks = chats.getChatCallbacks.bind(chats);
|
|
11456
|
+
target.cancelChatCallback = chats.cancelChatCallback.bind(chats);
|
|
10319
11457
|
target.getChatTokenUsage = chats.getChatTokenUsage.bind(chats);
|
|
10320
11458
|
target.getChatTodos = chats.getChatTodos.bind(chats);
|
|
10321
11459
|
target.getChatSkills = chats.getChatSkills.bind(chats);
|
|
@@ -10328,6 +11466,8 @@ function bindChatsMethods(target, chats) {
|
|
|
10328
11466
|
target.createWorkflowOutboundVoiceChat = chats.createWorkflowOutboundVoiceChat.bind(chats);
|
|
10329
11467
|
target.deleteChat = chats.deleteChat.bind(chats);
|
|
10330
11468
|
target.updateChat = chats.updateChat.bind(chats);
|
|
11469
|
+
target.getChatModelOverride = chats.getChatModelOverride.bind(chats);
|
|
11470
|
+
target.updateChatModelOverride = chats.updateChatModelOverride.bind(chats);
|
|
10331
11471
|
target.updateChatMute = chats.updateChatMute.bind(chats);
|
|
10332
11472
|
target.updateChatNeedsResponse = chats.updateChatNeedsResponse.bind(chats);
|
|
10333
11473
|
target.summarizeChat = chats.summarizeChat.bind(chats);
|
|
@@ -10337,6 +11477,7 @@ function bindChatsMethods(target, chats) {
|
|
|
10337
11477
|
target.initiateOutboundCall = chats.initiateOutboundCall.bind(chats);
|
|
10338
11478
|
target.sendAssistantMessage = chats.sendAssistantMessage.bind(chats);
|
|
10339
11479
|
target.rateMessage = chats.rateMessage.bind(chats);
|
|
11480
|
+
target.getChatFeedback = chats.getChatFeedback.bind(chats);
|
|
10340
11481
|
target.getChatAssignmentTasks = chats.getChatAssignmentTasks.bind(chats);
|
|
10341
11482
|
target.createChatCompletion = chats.createChatCompletion.bind(chats);
|
|
10342
11483
|
target.exportChats = chats.exportChats.bind(chats);
|
|
@@ -10365,9 +11506,28 @@ function bindCallsMethods(target, calls, cel) {
|
|
|
10365
11506
|
target.initiateCall = calls.initiateCall.bind(calls);
|
|
10366
11507
|
target.getVoiceToken = calls.getVoiceToken.bind(calls);
|
|
10367
11508
|
target.getMessageTiming = calls.getMessageTiming.bind(calls);
|
|
11509
|
+
target.getRecordingInfo = calls.getRecordingInfo.bind(calls);
|
|
11510
|
+
target.listChatRecordings = calls.listChatRecordings.bind(calls);
|
|
11511
|
+
target.getCallRecordingDownloadUrl = calls.getCallRecordingDownloadUrl.bind(calls);
|
|
10368
11512
|
target.getCelContext = cel.getCelContext.bind(cel);
|
|
10369
11513
|
}
|
|
10370
11514
|
|
|
11515
|
+
// src/client/bindings/dashboards.ts
|
|
11516
|
+
function bindDashboardsMethods(target, dashboards) {
|
|
11517
|
+
target.getDashboards = dashboards.getDashboards.bind(dashboards);
|
|
11518
|
+
target.getDashboard = dashboards.getDashboard.bind(dashboards);
|
|
11519
|
+
target.createDashboard = dashboards.createDashboard.bind(dashboards);
|
|
11520
|
+
target.updateDashboard = dashboards.updateDashboard.bind(dashboards);
|
|
11521
|
+
target.deleteDashboard = dashboards.deleteDashboard.bind(dashboards);
|
|
11522
|
+
target.getDashboardChannelStats = dashboards.getDashboardChannelStats.bind(dashboards);
|
|
11523
|
+
target.getDashboardWorkflowAssignmentStats = dashboards.getDashboardWorkflowAssignmentStats.bind(dashboards);
|
|
11524
|
+
}
|
|
11525
|
+
|
|
11526
|
+
// src/client/bindings/motd.ts
|
|
11527
|
+
function bindMotdMethods(target, motd) {
|
|
11528
|
+
target.getMotd = motd.getMotd.bind(motd);
|
|
11529
|
+
}
|
|
11530
|
+
|
|
10371
11531
|
// src/client/bindings/data-types.ts
|
|
10372
11532
|
function bindDataTypesMethods(target, dataTypes) {
|
|
10373
11533
|
target.getDataTypes = dataTypes.getDataTypes.bind(dataTypes);
|
|
@@ -10391,6 +11551,12 @@ function bindDataTypesMethods(target, dataTypes) {
|
|
|
10391
11551
|
target.getFieldIndexStatus = dataTypes.getFieldIndexStatus.bind(dataTypes);
|
|
10392
11552
|
target.validateDataTypeSlug = dataTypes.validateDataTypeSlug.bind(dataTypes);
|
|
10393
11553
|
target.getMemberRecordCounts = dataTypes.getMemberRecordCounts.bind(dataTypes);
|
|
11554
|
+
target.getDataRecordFilters = dataTypes.getDataRecordFilters.bind(dataTypes);
|
|
11555
|
+
target.getDataRecordFilter = dataTypes.getDataRecordFilter.bind(dataTypes);
|
|
11556
|
+
target.createDataRecordFilter = dataTypes.createDataRecordFilter.bind(dataTypes);
|
|
11557
|
+
target.updateDataRecordFilter = dataTypes.updateDataRecordFilter.bind(dataTypes);
|
|
11558
|
+
target.deleteDataRecordFilter = dataTypes.deleteDataRecordFilter.bind(dataTypes);
|
|
11559
|
+
target.getDataRecordFilterCount = dataTypes.getDataRecordFilterCount.bind(dataTypes);
|
|
10394
11560
|
}
|
|
10395
11561
|
|
|
10396
11562
|
// src/client/bindings/members.ts
|
|
@@ -10407,6 +11573,9 @@ function bindMembersMethods(target, members) {
|
|
|
10407
11573
|
target.deleteMember = members.deleteMember.bind(members);
|
|
10408
11574
|
target.archiveMember = members.archiveMember.bind(members);
|
|
10409
11575
|
target.unarchiveMember = members.unarchiveMember.bind(members);
|
|
11576
|
+
target.sendMemberPhoneConfirmation = members.sendMemberPhoneConfirmation.bind(members);
|
|
11577
|
+
target.bulkCreateMembers = members.bulkCreateMembers.bind(members);
|
|
11578
|
+
target.previewImportMembers = members.previewImportMembers.bind(members);
|
|
10410
11579
|
target.importMembers = members.importMembers.bind(members);
|
|
10411
11580
|
target.exportMembers = members.exportMembers.bind(members);
|
|
10412
11581
|
target.getMembersMessageActivity = members.getMembersMessageActivity.bind(members);
|
|
@@ -10441,8 +11610,10 @@ function bindMembersMethods(target, members) {
|
|
|
10441
11610
|
target.resolveAnonymousMember = members.resolveAnonymousMember.bind(members);
|
|
10442
11611
|
target.expireAnonymousMember = members.expireAnonymousMember.bind(members);
|
|
10443
11612
|
target.getMemberMemories = members.getMemberMemories.bind(members);
|
|
11613
|
+
target.getMemberMemory = members.getMemberMemory.bind(members);
|
|
10444
11614
|
target.createMemberMemory = members.createMemberMemory.bind(members);
|
|
10445
11615
|
target.deleteMemberMemory = members.deleteMemberMemory.bind(members);
|
|
11616
|
+
target.getMemberSyncLinks = members.getMemberSyncLinks.bind(members);
|
|
10446
11617
|
}
|
|
10447
11618
|
|
|
10448
11619
|
// src/client/bindings/workspaces.ts
|
|
@@ -10497,6 +11668,10 @@ function bindWorkspacesMethods(target, workspaces, signupRequests) {
|
|
|
10497
11668
|
target.listPushSubscriptions = workspaces.listPushSubscriptions.bind(workspaces);
|
|
10498
11669
|
target.getWorkspaceEmailDomains = workspaces.getWorkspaceEmailDomains.bind(workspaces);
|
|
10499
11670
|
target.getWorkspaceSiteDomains = workspaces.getWorkspaceSiteDomains.bind(workspaces);
|
|
11671
|
+
target.getWorkspaceWidgetDomains = workspaces.getWorkspaceWidgetDomains.bind(workspaces);
|
|
11672
|
+
target.listWidgetDomains = workspaces.listWidgetDomains.bind(workspaces);
|
|
11673
|
+
target.upsertWidgetDomain = workspaces.upsertWidgetDomain.bind(workspaces);
|
|
11674
|
+
target.deleteWidgetDomain = workspaces.deleteWidgetDomain.bind(workspaces);
|
|
10500
11675
|
target.listWorkspaceInvitations = signupRequests.listWorkspaceInvitations.bind(signupRequests);
|
|
10501
11676
|
target.listWorkspaceInvitationsAdmin = signupRequests.listWorkspaceInvitationsAdmin.bind(signupRequests);
|
|
10502
11677
|
target.getWorkspaceInvitation = signupRequests.getWorkspaceInvitation.bind(signupRequests);
|
|
@@ -10516,6 +11691,7 @@ function bindWorkspacesMethods(target, workspaces, signupRequests) {
|
|
|
10516
11691
|
function bindAuthMethods(target, auth, assignments) {
|
|
10517
11692
|
target.getUserAccount = auth.getUserAccount.bind(auth);
|
|
10518
11693
|
target.updateUserAccount = auth.updateUserAccount.bind(auth);
|
|
11694
|
+
target.recordAcquisition = auth.recordAcquisition.bind(auth);
|
|
10519
11695
|
target.login = auth.login.bind(auth);
|
|
10520
11696
|
target.resendCode = auth.resendCode.bind(auth);
|
|
10521
11697
|
target.verifyCodeWith2FA = auth.verifyCodeWith2FA.bind(auth);
|
|
@@ -10576,6 +11752,19 @@ function bindSitesMethods(target, sites) {
|
|
|
10576
11752
|
target.checkSiteSlugAvailability = sites.checkSiteSlugAvailability.bind(sites);
|
|
10577
11753
|
target.checkSiteDomainAvailability = sites.checkSiteDomainAvailability.bind(sites);
|
|
10578
11754
|
target.getSite = sites.getSite.bind(sites);
|
|
11755
|
+
target.getSiteSharing = sites.getSiteSharing.bind(sites);
|
|
11756
|
+
target.updateSiteSharing = sites.updateSiteSharing.bind(sites);
|
|
11757
|
+
target.getSiteSource = sites.getSiteSource.bind(sites);
|
|
11758
|
+
target.getSiteSourceTemplates = sites.getSiteSourceTemplates.bind(sites);
|
|
11759
|
+
target.createSiteSource = sites.createSiteSource.bind(sites);
|
|
11760
|
+
target.buildSiteSource = sites.buildSiteSource.bind(sites);
|
|
11761
|
+
target.publishSiteSource = sites.publishSiteSource.bind(sites);
|
|
11762
|
+
target.resetSiteSource = sites.resetSiteSource.bind(sites);
|
|
11763
|
+
target.rollbackSiteSource = sites.rollbackSiteSource.bind(sites);
|
|
11764
|
+
target.downloadSiteSourceZip = sites.downloadSiteSourceZip.bind(sites);
|
|
11765
|
+
target.importSiteSourceZip = sites.importSiteSourceZip.bind(sites);
|
|
11766
|
+
target.getThemeSettings = sites.getThemeSettings.bind(sites);
|
|
11767
|
+
target.updateThemeSettings = sites.updateThemeSettings.bind(sites);
|
|
10579
11768
|
target.getSiteByUuid = sites.getSiteByUuid.bind(sites);
|
|
10580
11769
|
target.getSiteRenderedPage = sites.getSiteRenderedPage.bind(sites);
|
|
10581
11770
|
target.getSiteRenderedMenu = sites.getSiteRenderedMenu.bind(sites);
|
|
@@ -10608,10 +11797,16 @@ function bindSitesMethods(target, sites) {
|
|
|
10608
11797
|
function bindFilesMethods(target, files) {
|
|
10609
11798
|
target.getFiles = files.getFiles.bind(files);
|
|
10610
11799
|
target.getFile = files.getFile.bind(files);
|
|
11800
|
+
target.downloadFilesZip = files.downloadFilesZip.bind(files);
|
|
10611
11801
|
target.createFile = files.createFile.bind(files);
|
|
10612
11802
|
target.uploadFile = files.uploadFile.bind(files);
|
|
10613
11803
|
target.updateFile = files.updateFile.bind(files);
|
|
10614
11804
|
target.deleteFile = files.deleteFile.bind(files);
|
|
11805
|
+
target.resolveFilePath = files.resolveFilePath.bind(files);
|
|
11806
|
+
target.listFileVersions = files.listFileVersions.bind(files);
|
|
11807
|
+
target.getFileVersionDiff = files.getFileVersionDiff.bind(files);
|
|
11808
|
+
target.restoreFileVersion = files.restoreFileVersion.bind(files);
|
|
11809
|
+
target.getFileVersionContentsUrl = files.getFileVersionContentsUrl.bind(files);
|
|
10615
11810
|
target.convertFile = files.convertFile.bind(files);
|
|
10616
11811
|
target.generateFileUploadUrl = files.generateFileUploadUrl.bind(files);
|
|
10617
11812
|
target.getFolders = files.getFolders.bind(files);
|
|
@@ -10649,6 +11844,7 @@ function bindEventsMethods(target, events) {
|
|
|
10649
11844
|
target.createEventRule = events.createEventRule.bind(events);
|
|
10650
11845
|
target.updateEventRule = events.updateEventRule.bind(events);
|
|
10651
11846
|
target.deleteEventRule = events.deleteEventRule.bind(events);
|
|
11847
|
+
target.testWebhook = events.testWebhook.bind(events);
|
|
10652
11848
|
target.reorderEventRules = events.reorderEventRules.bind(events);
|
|
10653
11849
|
target.getWebhookLogs = events.getWebhookLogs.bind(events);
|
|
10654
11850
|
target.getRuleExecutions = events.getRuleExecutions.bind(events);
|
|
@@ -10661,6 +11857,7 @@ function bindEventsMethods(target, events) {
|
|
|
10661
11857
|
target.getRoutineRuns = events.getRoutineRuns.bind(events);
|
|
10662
11858
|
target.resetRoutineRuns = events.resetRoutineRuns.bind(events);
|
|
10663
11859
|
target.previewSchedule = events.previewSchedule.bind(events);
|
|
11860
|
+
target.previewRoutineWorkflowAccess = events.previewRoutineWorkflowAccess.bind(events);
|
|
10664
11861
|
}
|
|
10665
11862
|
|
|
10666
11863
|
// src/client/bindings/experiments.ts
|
|
@@ -10705,18 +11902,18 @@ function bindWorkflowsMethods(target, workflows, workflowNotes, voice, superviso
|
|
|
10705
11902
|
target.createWorkflowNote = workflowNotes.createWorkflowNote.bind(workflowNotes);
|
|
10706
11903
|
target.updateWorkflowNote = workflowNotes.updateWorkflowNote.bind(workflowNotes);
|
|
10707
11904
|
target.deleteWorkflowNote = workflowNotes.deleteWorkflowNote.bind(workflowNotes);
|
|
11905
|
+
target.getWorkflowFeedback = workflows.getWorkflowFeedback.bind(workflows);
|
|
10708
11906
|
target.getWorkflowContributors = workflows.getWorkflowContributors.bind(workflows);
|
|
10709
11907
|
target.createWorkflowContributor = workflows.createWorkflowContributor.bind(workflows);
|
|
10710
11908
|
target.updateWorkflowContributor = workflows.updateWorkflowContributor.bind(workflows);
|
|
10711
11909
|
target.deleteWorkflowContributor = workflows.deleteWorkflowContributor.bind(workflows);
|
|
10712
|
-
target.
|
|
10713
|
-
target.
|
|
10714
|
-
target.
|
|
10715
|
-
target.
|
|
10716
|
-
target.
|
|
10717
|
-
target.
|
|
10718
|
-
target.
|
|
10719
|
-
target.diffWorkflowVersions = workflows.diffWorkflowVersions.bind(workflows);
|
|
11910
|
+
target.getWorkflowRevisions = workflows.getWorkflowRevisions.bind(workflows);
|
|
11911
|
+
target.getWorkflowRevision = workflows.getWorkflowRevision.bind(workflows);
|
|
11912
|
+
target.publishWorkflowRevision = workflows.publishWorkflowRevision.bind(workflows);
|
|
11913
|
+
target.activateWorkflowRevision = workflows.activateWorkflowRevision.bind(workflows);
|
|
11914
|
+
target.updateWorkflowRevisionMetadata = workflows.updateWorkflowRevisionMetadata.bind(workflows);
|
|
11915
|
+
target.diffWorkflowRevisions = workflows.diffWorkflowRevisions.bind(workflows);
|
|
11916
|
+
target.editWorkflowRevisionAsDraft = workflows.editWorkflowRevisionAsDraft.bind(workflows);
|
|
10720
11917
|
target.getWorkspaceBuilders = workflows.getWorkspaceBuilders.bind(workflows);
|
|
10721
11918
|
target.getWorkspaceBuilder = workflows.getWorkspaceBuilder.bind(workflows);
|
|
10722
11919
|
target.buildWorkspace = workflows.buildWorkspace.bind(workflows);
|
|
@@ -10781,6 +11978,9 @@ function bindCommunicationsMethods(target, phoneNumbers, inboxes, notificationRu
|
|
|
10781
11978
|
target.getArchiveBlockers = phoneNumbers.getArchiveBlockers.bind(phoneNumbers);
|
|
10782
11979
|
target.archivePhoneNumber = phoneNumbers.archivePhoneNumber.bind(phoneNumbers);
|
|
10783
11980
|
target.getPhoneNumberCalls = phoneNumbers.getPhoneNumberCalls.bind(phoneNumbers);
|
|
11981
|
+
target.getPhoneNumberOutboundAnalyticsSummary = phoneNumbers.getPhoneNumberOutboundAnalyticsSummary.bind(phoneNumbers);
|
|
11982
|
+
target.getPhoneNumberOutboundAnalyticsCalls = phoneNumbers.getPhoneNumberOutboundAnalyticsCalls.bind(phoneNumbers);
|
|
11983
|
+
target.exportPhoneNumberOutboundAnalyticsCsv = phoneNumbers.exportPhoneNumberOutboundAnalyticsCsv.bind(phoneNumbers);
|
|
10784
11984
|
target.getPhoneNumberMessages = phoneNumbers.getPhoneNumberMessages.bind(phoneNumbers);
|
|
10785
11985
|
target.getPhoneNumberVoicemails = phoneNumbers.getPhoneNumberVoicemails.bind(phoneNumbers);
|
|
10786
11986
|
target.fetchVoicemailAudio = phoneNumbers.fetchVoicemailAudio.bind(phoneNumbers);
|
|
@@ -10899,16 +12099,18 @@ function bindAppsMethods(target, apps, builders, inquiries, oauth, oauthConnecti
|
|
|
10899
12099
|
target.exchangeOAuthToken = oauth.exchangeOAuthToken.bind(oauth);
|
|
10900
12100
|
target.getAvailableScopes = oauth.getAvailableScopes.bind(oauth);
|
|
10901
12101
|
target.getOAuthConnectionStatus = oauthConnections.getConnectionStatus.bind(oauthConnections);
|
|
12102
|
+
target.listOAuthAccounts = oauthConnections.listAccounts.bind(oauthConnections);
|
|
10902
12103
|
target.getOAuthAuthorizationUrl = oauthConnections.getAuthorizationUrl.bind(oauthConnections);
|
|
10903
12104
|
target.disconnectOAuthProvider = oauthConnections.disconnect.bind(oauthConnections);
|
|
10904
12105
|
}
|
|
10905
12106
|
|
|
10906
12107
|
// src/client/bindings/integrations.ts
|
|
10907
|
-
function bindIntegrationsMethods(target, mondayIntegration, discordBots, slackApps, teamsApps, fhirConnections, healthie, salesforce, hubspot, appConnections, connectionSync, confluence) {
|
|
12108
|
+
function bindIntegrationsMethods(target, mondayIntegration, discordBots, slackApps, teamsApps, fhirConnections, patientSyncConnections, healthie, salesforce, hubspot, appConnections, connectionSync, confluence) {
|
|
10908
12109
|
target.getMondayBoards = mondayIntegration.getBoards.bind(mondayIntegration);
|
|
10909
12110
|
target.getMondayBoardColumns = mondayIntegration.getBoardColumns.bind(mondayIntegration);
|
|
10910
12111
|
target.getMondayBoardGroups = mondayIntegration.getBoardGroups.bind(mondayIntegration);
|
|
10911
12112
|
target.getMondayCurrentUserInfo = mondayIntegration.getCurrentUserInfo.bind(mondayIntegration);
|
|
12113
|
+
target.installMondayConnection = mondayIntegration.installMondayConnection.bind(mondayIntegration);
|
|
10912
12114
|
target.configureMondayConnection = mondayIntegration.configureMondayConnection.bind(mondayIntegration);
|
|
10913
12115
|
target.getMondayConnectionStatus = mondayIntegration.getMondayConnectionStatus.bind(mondayIntegration);
|
|
10914
12116
|
target.authorizeMondayConnection = mondayIntegration.authorizeMondayConnection.bind(mondayIntegration);
|
|
@@ -10943,6 +12145,8 @@ function bindIntegrationsMethods(target, mondayIntegration, discordBots, slackAp
|
|
|
10943
12145
|
target.getDiscordBotAccounts = discordBots.getDiscordBotAccounts.bind(discordBots);
|
|
10944
12146
|
target.getMyCredentials = discordBots.getMyCredentials.bind(discordBots);
|
|
10945
12147
|
target.unlinkCredential = discordBots.unlinkCredential.bind(discordBots);
|
|
12148
|
+
target.completeDiscordLink = discordBots.completeDiscordLink.bind(discordBots);
|
|
12149
|
+
target.discordLinkPreflight = discordBots.discordLinkPreflight.bind(discordBots);
|
|
10946
12150
|
target.getSlackApps = slackApps.getSlackApps.bind(slackApps);
|
|
10947
12151
|
target.getSlackApp = slackApps.getSlackApp.bind(slackApps);
|
|
10948
12152
|
target.createSlackApp = slackApps.createSlackApp.bind(slackApps);
|
|
@@ -10989,6 +12193,9 @@ function bindIntegrationsMethods(target, mondayIntegration, discordBots, slackAp
|
|
|
10989
12193
|
target.fhirGetEncounterSyncRuns = fhirConnections.fhirGetEncounterSyncRuns.bind(fhirConnections);
|
|
10990
12194
|
target.fhirRefreshEncounterPatient = fhirConnections.fhirRefreshEncounterPatient.bind(fhirConnections);
|
|
10991
12195
|
target.fhirBackfillEncounterSync = fhirConnections.fhirBackfillEncounterSync.bind(fhirConnections);
|
|
12196
|
+
target.configurePatientSync = patientSyncConnections.configurePatientSync.bind(patientSyncConnections);
|
|
12197
|
+
target.getPatientSyncStatus = patientSyncConnections.getPatientSyncStatus.bind(patientSyncConnections);
|
|
12198
|
+
target.deletePatientSyncConnection = patientSyncConnections.deletePatientSyncConnection.bind(patientSyncConnections);
|
|
10992
12199
|
target.configureHealthie = healthie.configureHealthie.bind(healthie);
|
|
10993
12200
|
target.getHealthieStatus = healthie.getHealthieStatus.bind(healthie);
|
|
10994
12201
|
target.listHealthieProviders = healthie.listHealthieProviders.bind(healthie);
|
|
@@ -11012,6 +12219,7 @@ function bindIntegrationsMethods(target, mondayIntegration, discordBots, slackAp
|
|
|
11012
12219
|
target.deleteConfluence = confluence.deleteConfluence.bind(confluence);
|
|
11013
12220
|
target.listConfluenceSpaces = confluence.listConfluenceSpaces.bind(confluence);
|
|
11014
12221
|
target.listConfluencePages = confluence.listConfluencePages.bind(confluence);
|
|
12222
|
+
target.installSalesforce = salesforce.installSalesforce.bind(salesforce);
|
|
11015
12223
|
target.configureSalesforce = salesforce.configureSalesforce.bind(salesforce);
|
|
11016
12224
|
target.startSalesforceOAuth = salesforce.startSalesforceOAuth.bind(salesforce);
|
|
11017
12225
|
target.getSalesforceStatus = salesforce.getSalesforceStatus.bind(salesforce);
|
|
@@ -11029,6 +12237,7 @@ function bindIntegrationsMethods(target, mondayIntegration, discordBots, slackAp
|
|
|
11029
12237
|
target.describeSalesforceObject = salesforce.describeSalesforceObject.bind(salesforce);
|
|
11030
12238
|
target.searchSalesforceRecords = salesforce.searchSalesforceRecords.bind(salesforce);
|
|
11031
12239
|
target.importSalesforceMembers = salesforce.importSalesforceMembers.bind(salesforce);
|
|
12240
|
+
target.installHubspot = hubspot.installHubspot.bind(hubspot);
|
|
11032
12241
|
target.configureHubspot = hubspot.configureHubspot.bind(hubspot);
|
|
11033
12242
|
target.startHubspotOAuth = hubspot.startHubspotOAuth.bind(hubspot);
|
|
11034
12243
|
target.getHubspotStatus = hubspot.getHubspotStatus.bind(hubspot);
|
|
@@ -11182,6 +12391,14 @@ function bindPersonasMethods(target, personas) {
|
|
|
11182
12391
|
target.deletePersona = personas.deletePersona.bind(personas);
|
|
11183
12392
|
}
|
|
11184
12393
|
|
|
12394
|
+
// src/client/bindings/queries.ts
|
|
12395
|
+
function bindQueriesMethods(target, queries) {
|
|
12396
|
+
target.getQueryFields = queries.getQueryFields.bind(queries);
|
|
12397
|
+
target.validateQuery = queries.validateQuery.bind(queries);
|
|
12398
|
+
target.previewQuery = queries.previewQuery.bind(queries);
|
|
12399
|
+
target.runQuery = queries.runQuery.bind(queries);
|
|
12400
|
+
}
|
|
12401
|
+
|
|
11185
12402
|
// src/client/bindings/customers.ts
|
|
11186
12403
|
function bindCustomersMethods(target, customers) {
|
|
11187
12404
|
target.getMyCustomers = customers.getMyCustomers.bind(customers);
|
|
@@ -11228,6 +12445,7 @@ function bindSupportRequestMethods(target, supportRequests) {
|
|
|
11228
12445
|
target.createWorkspaceSupportRequest = supportRequests.createWorkspaceSupportRequest.bind(supportRequests);
|
|
11229
12446
|
target.commentOnWorkspaceSupportRequest = supportRequests.commentOnWorkspaceSupportRequest.bind(supportRequests);
|
|
11230
12447
|
target.closeWorkspaceSupportRequest = supportRequests.closeWorkspaceSupportRequest.bind(supportRequests);
|
|
12448
|
+
target.reopenWorkspaceSupportRequest = supportRequests.reopenWorkspaceSupportRequest.bind(supportRequests);
|
|
11231
12449
|
target.clickWorkspaceSupportRequestResource = supportRequests.clickWorkspaceSupportRequestResource.bind(supportRequests);
|
|
11232
12450
|
}
|
|
11233
12451
|
|
|
@@ -11252,9 +12470,12 @@ var GravityRailClient = class {
|
|
|
11252
12470
|
createAbility;
|
|
11253
12471
|
updateAbility;
|
|
11254
12472
|
deleteAbility;
|
|
12473
|
+
getCharlestonTestDeliveryRecipients;
|
|
11255
12474
|
// Chats API
|
|
11256
12475
|
getChats;
|
|
11257
12476
|
getChat;
|
|
12477
|
+
getChatCallbacks;
|
|
12478
|
+
cancelChatCallback;
|
|
11258
12479
|
getChatTokenUsage;
|
|
11259
12480
|
getChatTodos;
|
|
11260
12481
|
getChatSkills;
|
|
@@ -11267,6 +12488,8 @@ var GravityRailClient = class {
|
|
|
11267
12488
|
createWorkflowOutboundVoiceChat;
|
|
11268
12489
|
deleteChat;
|
|
11269
12490
|
updateChat;
|
|
12491
|
+
getChatModelOverride;
|
|
12492
|
+
updateChatModelOverride;
|
|
11270
12493
|
updateChatMute;
|
|
11271
12494
|
updateChatNeedsResponse;
|
|
11272
12495
|
summarizeChat;
|
|
@@ -11276,6 +12499,7 @@ var GravityRailClient = class {
|
|
|
11276
12499
|
initiateOutboundCall;
|
|
11277
12500
|
sendAssistantMessage;
|
|
11278
12501
|
rateMessage;
|
|
12502
|
+
getChatFeedback;
|
|
11279
12503
|
getChatAssignmentTasks;
|
|
11280
12504
|
createChatCompletion;
|
|
11281
12505
|
exportChats;
|
|
@@ -11301,6 +12525,9 @@ var GravityRailClient = class {
|
|
|
11301
12525
|
initiateCall;
|
|
11302
12526
|
getVoiceToken;
|
|
11303
12527
|
getMessageTiming;
|
|
12528
|
+
getRecordingInfo;
|
|
12529
|
+
listChatRecordings;
|
|
12530
|
+
getCallRecordingDownloadUrl;
|
|
11304
12531
|
getCelContext;
|
|
11305
12532
|
// Data Types API
|
|
11306
12533
|
getDataTypes;
|
|
@@ -11324,6 +12551,12 @@ var GravityRailClient = class {
|
|
|
11324
12551
|
getFieldIndexStatus;
|
|
11325
12552
|
validateDataTypeSlug;
|
|
11326
12553
|
getMemberRecordCounts;
|
|
12554
|
+
getDataRecordFilters;
|
|
12555
|
+
getDataRecordFilter;
|
|
12556
|
+
createDataRecordFilter;
|
|
12557
|
+
updateDataRecordFilter;
|
|
12558
|
+
deleteDataRecordFilter;
|
|
12559
|
+
getDataRecordFilterCount;
|
|
11327
12560
|
// Members API
|
|
11328
12561
|
getCurrentMember;
|
|
11329
12562
|
getOwnedMembers;
|
|
@@ -11337,6 +12570,9 @@ var GravityRailClient = class {
|
|
|
11337
12570
|
deleteMember;
|
|
11338
12571
|
archiveMember;
|
|
11339
12572
|
unarchiveMember;
|
|
12573
|
+
sendMemberPhoneConfirmation;
|
|
12574
|
+
bulkCreateMembers;
|
|
12575
|
+
previewImportMembers;
|
|
11340
12576
|
importMembers;
|
|
11341
12577
|
exportMembers;
|
|
11342
12578
|
getMembersMessageActivity;
|
|
@@ -11375,8 +12611,11 @@ var GravityRailClient = class {
|
|
|
11375
12611
|
expireAnonymousMember;
|
|
11376
12612
|
// Member Memories
|
|
11377
12613
|
getMemberMemories;
|
|
12614
|
+
getMemberMemory;
|
|
11378
12615
|
createMemberMemory;
|
|
11379
12616
|
deleteMemberMemory;
|
|
12617
|
+
// Member Sync Links
|
|
12618
|
+
getMemberSyncLinks;
|
|
11380
12619
|
// Agent Tasks API (operator-facing async sub-agent inspection/cancel)
|
|
11381
12620
|
getAgentTasks;
|
|
11382
12621
|
getAgentTask;
|
|
@@ -11390,8 +12629,6 @@ var GravityRailClient = class {
|
|
|
11390
12629
|
deleteAgent;
|
|
11391
12630
|
archiveAgent;
|
|
11392
12631
|
unarchiveAgent;
|
|
11393
|
-
resolveAgentTools;
|
|
11394
|
-
listAgentAbilities;
|
|
11395
12632
|
// Qualifications API
|
|
11396
12633
|
getQualifications;
|
|
11397
12634
|
getQualification;
|
|
@@ -11407,11 +12644,26 @@ var GravityRailClient = class {
|
|
|
11407
12644
|
evaluateTestChatRun;
|
|
11408
12645
|
endTestChatRun;
|
|
11409
12646
|
// Personas API (workspace-scoped test-identity templates)
|
|
12647
|
+
// Unified Query Engine
|
|
12648
|
+
getQueryFields;
|
|
12649
|
+
validateQuery;
|
|
12650
|
+
previewQuery;
|
|
12651
|
+
runQuery;
|
|
11410
12652
|
listPersonas;
|
|
11411
12653
|
getPersona;
|
|
11412
12654
|
createPersona;
|
|
11413
12655
|
updatePersona;
|
|
11414
12656
|
deletePersona;
|
|
12657
|
+
// Dashboards API
|
|
12658
|
+
getDashboards;
|
|
12659
|
+
getDashboard;
|
|
12660
|
+
createDashboard;
|
|
12661
|
+
updateDashboard;
|
|
12662
|
+
deleteDashboard;
|
|
12663
|
+
getDashboardChannelStats;
|
|
12664
|
+
getDashboardWorkflowAssignmentStats;
|
|
12665
|
+
// MOTD API
|
|
12666
|
+
getMotd;
|
|
11415
12667
|
// Journeys API
|
|
11416
12668
|
getJourneys;
|
|
11417
12669
|
getJourney;
|
|
@@ -11479,6 +12731,7 @@ var GravityRailClient = class {
|
|
|
11479
12731
|
revokeAccessGrant;
|
|
11480
12732
|
getAccessGrants;
|
|
11481
12733
|
getMemberGrants;
|
|
12734
|
+
getGranteeGrants;
|
|
11482
12735
|
// Prompts API
|
|
11483
12736
|
inspectPrompt;
|
|
11484
12737
|
// Workspaces API
|
|
@@ -11528,6 +12781,10 @@ var GravityRailClient = class {
|
|
|
11528
12781
|
getUsageDashboard;
|
|
11529
12782
|
getWorkspaceEmailDomains;
|
|
11530
12783
|
getWorkspaceSiteDomains;
|
|
12784
|
+
getWorkspaceWidgetDomains;
|
|
12785
|
+
listWidgetDomains;
|
|
12786
|
+
upsertWidgetDomain;
|
|
12787
|
+
deleteWidgetDomain;
|
|
11531
12788
|
// Org API
|
|
11532
12789
|
listOrgDomains;
|
|
11533
12790
|
registerOrgDomain;
|
|
@@ -11568,6 +12825,7 @@ var GravityRailClient = class {
|
|
|
11568
12825
|
// Auth API
|
|
11569
12826
|
getUserAccount;
|
|
11570
12827
|
updateUserAccount;
|
|
12828
|
+
recordAcquisition;
|
|
11571
12829
|
login;
|
|
11572
12830
|
resendCode;
|
|
11573
12831
|
verifyCodeWith2FA;
|
|
@@ -11625,6 +12883,19 @@ var GravityRailClient = class {
|
|
|
11625
12883
|
checkSiteSlugAvailability;
|
|
11626
12884
|
checkSiteDomainAvailability;
|
|
11627
12885
|
getSite;
|
|
12886
|
+
getSiteSharing;
|
|
12887
|
+
updateSiteSharing;
|
|
12888
|
+
getSiteSource;
|
|
12889
|
+
getSiteSourceTemplates;
|
|
12890
|
+
createSiteSource;
|
|
12891
|
+
buildSiteSource;
|
|
12892
|
+
publishSiteSource;
|
|
12893
|
+
resetSiteSource;
|
|
12894
|
+
rollbackSiteSource;
|
|
12895
|
+
downloadSiteSourceZip;
|
|
12896
|
+
importSiteSourceZip;
|
|
12897
|
+
getThemeSettings;
|
|
12898
|
+
updateThemeSettings;
|
|
11628
12899
|
getSiteByUuid;
|
|
11629
12900
|
getSiteRenderedPage;
|
|
11630
12901
|
getSiteRenderedMenu;
|
|
@@ -11654,10 +12925,16 @@ var GravityRailClient = class {
|
|
|
11654
12925
|
// Files API
|
|
11655
12926
|
getFiles;
|
|
11656
12927
|
getFile;
|
|
12928
|
+
resolveFilePath;
|
|
12929
|
+
downloadFilesZip;
|
|
11657
12930
|
createFile;
|
|
11658
12931
|
uploadFile;
|
|
11659
12932
|
updateFile;
|
|
11660
12933
|
deleteFile;
|
|
12934
|
+
listFileVersions;
|
|
12935
|
+
getFileVersionDiff;
|
|
12936
|
+
restoreFileVersion;
|
|
12937
|
+
getFileVersionContentsUrl;
|
|
11661
12938
|
convertFile;
|
|
11662
12939
|
generateFileUploadUrl;
|
|
11663
12940
|
getFolders;
|
|
@@ -11693,6 +12970,7 @@ var GravityRailClient = class {
|
|
|
11693
12970
|
createEventRule;
|
|
11694
12971
|
updateEventRule;
|
|
11695
12972
|
deleteEventRule;
|
|
12973
|
+
testWebhook;
|
|
11696
12974
|
reorderEventRules;
|
|
11697
12975
|
getWebhookLogs;
|
|
11698
12976
|
getRuleExecutions;
|
|
@@ -11705,6 +12983,7 @@ var GravityRailClient = class {
|
|
|
11705
12983
|
getRoutineRuns;
|
|
11706
12984
|
resetRoutineRuns;
|
|
11707
12985
|
previewSchedule;
|
|
12986
|
+
previewRoutineWorkflowAccess;
|
|
11708
12987
|
// Workflows API
|
|
11709
12988
|
getWorkflows;
|
|
11710
12989
|
getWorkflow;
|
|
@@ -11729,18 +13008,18 @@ var GravityRailClient = class {
|
|
|
11729
13008
|
createWorkflowNote;
|
|
11730
13009
|
updateWorkflowNote;
|
|
11731
13010
|
deleteWorkflowNote;
|
|
13011
|
+
getWorkflowFeedback;
|
|
11732
13012
|
getWorkflowContributors;
|
|
11733
13013
|
createWorkflowContributor;
|
|
11734
13014
|
updateWorkflowContributor;
|
|
11735
13015
|
deleteWorkflowContributor;
|
|
11736
|
-
|
|
11737
|
-
|
|
11738
|
-
|
|
11739
|
-
|
|
11740
|
-
|
|
11741
|
-
|
|
11742
|
-
|
|
11743
|
-
diffWorkflowVersions;
|
|
13016
|
+
getWorkflowRevisions;
|
|
13017
|
+
getWorkflowRevision;
|
|
13018
|
+
publishWorkflowRevision;
|
|
13019
|
+
activateWorkflowRevision;
|
|
13020
|
+
updateWorkflowRevisionMetadata;
|
|
13021
|
+
diffWorkflowRevisions;
|
|
13022
|
+
editWorkflowRevisionAsDraft;
|
|
11744
13023
|
getWorkspaceBuilders;
|
|
11745
13024
|
getWorkspaceBuilder;
|
|
11746
13025
|
buildWorkspace;
|
|
@@ -11799,6 +13078,9 @@ var GravityRailClient = class {
|
|
|
11799
13078
|
getArchiveBlockers;
|
|
11800
13079
|
archivePhoneNumber;
|
|
11801
13080
|
getPhoneNumberCalls;
|
|
13081
|
+
getPhoneNumberOutboundAnalyticsSummary;
|
|
13082
|
+
getPhoneNumberOutboundAnalyticsCalls;
|
|
13083
|
+
exportPhoneNumberOutboundAnalyticsCsv;
|
|
11802
13084
|
getPhoneNumberMessages;
|
|
11803
13085
|
getPhoneNumberVoicemails;
|
|
11804
13086
|
fetchVoicemailAudio;
|
|
@@ -11908,6 +13190,7 @@ var GravityRailClient = class {
|
|
|
11908
13190
|
exchangeOAuthToken;
|
|
11909
13191
|
getAvailableScopes;
|
|
11910
13192
|
getOAuthConnectionStatus;
|
|
13193
|
+
listOAuthAccounts;
|
|
11911
13194
|
getOAuthAuthorizationUrl;
|
|
11912
13195
|
disconnectOAuthProvider;
|
|
11913
13196
|
// Integrations API
|
|
@@ -11916,6 +13199,7 @@ var GravityRailClient = class {
|
|
|
11916
13199
|
getMondayBoardGroups;
|
|
11917
13200
|
getMondayCurrentUserInfo;
|
|
11918
13201
|
// Monday.com Connection API
|
|
13202
|
+
installMondayConnection;
|
|
11919
13203
|
configureMondayConnection;
|
|
11920
13204
|
getMondayConnectionStatus;
|
|
11921
13205
|
authorizeMondayConnection;
|
|
@@ -11951,6 +13235,8 @@ var GravityRailClient = class {
|
|
|
11951
13235
|
getDiscordBotAccounts;
|
|
11952
13236
|
getMyCredentials;
|
|
11953
13237
|
unlinkCredential;
|
|
13238
|
+
completeDiscordLink;
|
|
13239
|
+
discordLinkPreflight;
|
|
11954
13240
|
// Slack Apps API
|
|
11955
13241
|
getSlackApps;
|
|
11956
13242
|
getSlackApp;
|
|
@@ -12001,6 +13287,9 @@ var GravityRailClient = class {
|
|
|
12001
13287
|
fhirRefreshEncounterPatient;
|
|
12002
13288
|
fhirBackfillEncounterSync;
|
|
12003
13289
|
// Healthie API
|
|
13290
|
+
configurePatientSync;
|
|
13291
|
+
getPatientSyncStatus;
|
|
13292
|
+
deletePatientSyncConnection;
|
|
12004
13293
|
configureHealthie;
|
|
12005
13294
|
getHealthieStatus;
|
|
12006
13295
|
listHealthieProviders;
|
|
@@ -12026,6 +13315,7 @@ var GravityRailClient = class {
|
|
|
12026
13315
|
listConfluenceSpaces;
|
|
12027
13316
|
listConfluencePages;
|
|
12028
13317
|
// Salesforce API
|
|
13318
|
+
installSalesforce;
|
|
12029
13319
|
configureSalesforce;
|
|
12030
13320
|
startSalesforceOAuth;
|
|
12031
13321
|
getSalesforceStatus;
|
|
@@ -12044,6 +13334,7 @@ var GravityRailClient = class {
|
|
|
12044
13334
|
searchSalesforceRecords;
|
|
12045
13335
|
importSalesforceMembers;
|
|
12046
13336
|
// HubSpot API
|
|
13337
|
+
installHubspot;
|
|
12047
13338
|
configureHubspot;
|
|
12048
13339
|
startHubspotOAuth;
|
|
12049
13340
|
getHubspotStatus;
|
|
@@ -12129,6 +13420,7 @@ var GravityRailClient = class {
|
|
|
12129
13420
|
createWorkspaceSupportRequest;
|
|
12130
13421
|
commentOnWorkspaceSupportRequest;
|
|
12131
13422
|
closeWorkspaceSupportRequest;
|
|
13423
|
+
reopenWorkspaceSupportRequest;
|
|
12132
13424
|
clickWorkspaceSupportRequestResource;
|
|
12133
13425
|
constructor(apiKey, baseUrl, customFetch) {
|
|
12134
13426
|
const apis = createApiModules(apiKey, baseUrl, customFetch);
|
|
@@ -12143,6 +13435,9 @@ var GravityRailClient = class {
|
|
|
12143
13435
|
bindAgentsMethods(this, apis.agents);
|
|
12144
13436
|
bindQualificationsMethods(this, apis.qualifications);
|
|
12145
13437
|
bindPersonasMethods(this, apis.personas);
|
|
13438
|
+
bindQueriesMethods(this, apis.queries);
|
|
13439
|
+
bindDashboardsMethods(this, apis.dashboards);
|
|
13440
|
+
bindMotdMethods(this, apis.motd);
|
|
12146
13441
|
bindJourneysMethods(this, apis.journeys);
|
|
12147
13442
|
bindExperimentsMethods(this, apis.experiments);
|
|
12148
13443
|
bindOperatorMethods(this, apis.operatorGroups);
|
|
@@ -12182,6 +13477,7 @@ var GravityRailClient = class {
|
|
|
12182
13477
|
apis.slackApps,
|
|
12183
13478
|
apis.teamsApps,
|
|
12184
13479
|
apis.fhirConnections,
|
|
13480
|
+
apis.patientSyncConnections,
|
|
12185
13481
|
apis.healthie,
|
|
12186
13482
|
apis.salesforce,
|
|
12187
13483
|
apis.hubspot,
|
|
@@ -12235,23 +13531,30 @@ var GravityRailClient = class {
|
|
|
12235
13531
|
});
|
|
12236
13532
|
}
|
|
12237
13533
|
/**
|
|
12238
|
-
* Set the org
|
|
12239
|
-
*
|
|
12240
|
-
*
|
|
13534
|
+
* Set the org session credential for cross-domain / non-browser clients (e.g. CLI).
|
|
13535
|
+
* Opaque gr_sess_ values use X-Org-Session. Legacy orgToken JWE values still
|
|
13536
|
+
* use X-Org-Token during the migration window.
|
|
12241
13537
|
*
|
|
12242
|
-
* `orgUuid` is the org that issued the
|
|
12243
|
-
* detect a stale
|
|
13538
|
+
* `orgUuid` is the org that issued the session. Pass it so the SDK can
|
|
13539
|
+
* detect a stale session (e.g. switching orgs mid-session) and re-fire the
|
|
12244
13540
|
* org-auth handler instead of silently 401-ing.
|
|
12245
13541
|
*
|
|
12246
13542
|
* Propagates to all API modules.
|
|
12247
13543
|
*/
|
|
12248
|
-
|
|
13544
|
+
setOrgSession(session, orgUuid) {
|
|
12249
13545
|
Object.values(this.apis).forEach((api) => {
|
|
12250
|
-
if (typeof api.
|
|
12251
|
-
api.
|
|
13546
|
+
if (typeof api.setOrgSession === "function") {
|
|
13547
|
+
api.setOrgSession(session, orgUuid);
|
|
12252
13548
|
}
|
|
12253
13549
|
});
|
|
12254
13550
|
}
|
|
13551
|
+
/**
|
|
13552
|
+
* @deprecated Legacy compatibility for stateless orgToken JWE credentials.
|
|
13553
|
+
* Prefer setOrgSession() for opaque org browser sessions.
|
|
13554
|
+
*/
|
|
13555
|
+
setOrgToken(token, orgUuid) {
|
|
13556
|
+
this.setOrgSession(token, orgUuid);
|
|
13557
|
+
}
|
|
12255
13558
|
/**
|
|
12256
13559
|
* Update the API key across all modules.
|
|
12257
13560
|
* Used after successful re-authentication.
|
|
@@ -12327,12 +13630,19 @@ var GravityRailClient = class {
|
|
|
12327
13630
|
CalendarSource,
|
|
12328
13631
|
CalendarsApi,
|
|
12329
13632
|
CallsApi,
|
|
13633
|
+
CapabilityClass,
|
|
12330
13634
|
ChatsApi,
|
|
12331
13635
|
ConfluenceApi,
|
|
12332
13636
|
ConnectionSyncApi,
|
|
12333
13637
|
ConsentMethod,
|
|
12334
13638
|
CriterionType,
|
|
12335
13639
|
CustomToolkitsApi,
|
|
13640
|
+
CustomerActivityClassifierDetectorName,
|
|
13641
|
+
CustomerActivityClassifierLabel,
|
|
13642
|
+
CustomerActivityEventSource,
|
|
13643
|
+
CustomerActivityEventStatus,
|
|
13644
|
+
CustomerActivityReviewOutcome,
|
|
13645
|
+
CustomerActivitySeverity,
|
|
12336
13646
|
CustomersApi,
|
|
12337
13647
|
DEFAULT_CHAT_MODEL,
|
|
12338
13648
|
DEFAULT_CUSTOM_VOICE_MODEL,
|
|
@@ -12340,9 +13650,11 @@ var GravityRailClient = class {
|
|
|
12340
13650
|
DEFAULT_VOICE_INFERENCE_MODEL,
|
|
12341
13651
|
DataCategory,
|
|
12342
13652
|
DataFieldType,
|
|
13653
|
+
DataRecordRetirementResponseReason,
|
|
12343
13654
|
DataSensitivity,
|
|
12344
13655
|
DataTypeRecordScope,
|
|
12345
13656
|
DataTypesApi,
|
|
13657
|
+
DeclaredDataUse,
|
|
12346
13658
|
DiscordBotsApi,
|
|
12347
13659
|
DriverMode,
|
|
12348
13660
|
EmailDnsRecordType,
|
|
@@ -12372,6 +13684,8 @@ var GravityRailClient = class {
|
|
|
12372
13684
|
McpServerState,
|
|
12373
13685
|
McpServersApi,
|
|
12374
13686
|
MemberFeature,
|
|
13687
|
+
MemberImportMatchInfoMatchType,
|
|
13688
|
+
MemberImportPreviewRowAction,
|
|
12375
13689
|
MemberType,
|
|
12376
13690
|
MembersApi,
|
|
12377
13691
|
MenuItemResponseItemType,
|
|
@@ -12399,11 +13713,21 @@ var GravityRailClient = class {
|
|
|
12399
13713
|
PERMISSION_NONE,
|
|
12400
13714
|
PERMISSION_USE,
|
|
12401
13715
|
PERMISSION_VERIFY,
|
|
13716
|
+
PIDS_DISPOSITIONS,
|
|
13717
|
+
PIDS_SOURCES,
|
|
13718
|
+
POSITIVE_RATING_THRESHOLD,
|
|
12402
13719
|
PersonasApi,
|
|
13720
|
+
PhiDataPolicy,
|
|
13721
|
+
PhiPolicyReason,
|
|
13722
|
+
PhiPolicySource,
|
|
13723
|
+
PhiPostureDecision,
|
|
13724
|
+
PhiPostureReasonCode,
|
|
13725
|
+
PhiPostureTransitionResponseTargetType,
|
|
12403
13726
|
PhoneNumbersApi,
|
|
12404
13727
|
ProductType,
|
|
12405
13728
|
PromptsApi,
|
|
12406
13729
|
PronunciationsApi,
|
|
13730
|
+
QUERY_VALUELESS_OPS,
|
|
12407
13731
|
QualificationsApi,
|
|
12408
13732
|
REALTIME_MODEL_CUSTOM,
|
|
12409
13733
|
REALTIME_MODEL_GEMINI,
|
|
@@ -12441,13 +13765,13 @@ var GravityRailClient = class {
|
|
|
12441
13765
|
TTS_MODEL_ELEVENLABS_FLASH,
|
|
12442
13766
|
TTS_MODEL_ELEVENLABS_MULTILINGUAL,
|
|
12443
13767
|
TTS_MODEL_ELEVENLABS_TURBO,
|
|
12444
|
-
TTS_MODEL_POCKET,
|
|
12445
13768
|
TTS_PREVIEW_PROVIDERS,
|
|
12446
13769
|
TasksApi,
|
|
12447
13770
|
TemplatesApi,
|
|
12448
13771
|
ToolkitState,
|
|
12449
13772
|
ToolkitsApi,
|
|
12450
13773
|
VoiceApi,
|
|
13774
|
+
WIDGET_SLUGS,
|
|
12451
13775
|
WorkflowAccessWarningResourceType,
|
|
12452
13776
|
WorkflowNotesApi,
|
|
12453
13777
|
WorkflowResourceType,
|
|
@@ -12468,6 +13792,7 @@ var GravityRailClient = class {
|
|
|
12468
13792
|
bindChatsMethods,
|
|
12469
13793
|
bindCommunicationsMethods,
|
|
12470
13794
|
bindCustomersMethods,
|
|
13795
|
+
bindDashboardsMethods,
|
|
12471
13796
|
bindDataTypesMethods,
|
|
12472
13797
|
bindEventsMethods,
|
|
12473
13798
|
bindExperimentsMethods,
|
|
@@ -12475,12 +13800,14 @@ var GravityRailClient = class {
|
|
|
12475
13800
|
bindIntegrationsMethods,
|
|
12476
13801
|
bindJourneysMethods,
|
|
12477
13802
|
bindMembersMethods,
|
|
13803
|
+
bindMotdMethods,
|
|
12478
13804
|
bindOperatorMethods,
|
|
12479
13805
|
bindOrgMethods,
|
|
12480
13806
|
bindPersonasMethods,
|
|
12481
13807
|
bindPromptsMethods,
|
|
12482
13808
|
bindPronunciationsMethods,
|
|
12483
13809
|
bindQualificationsMethods,
|
|
13810
|
+
bindQueriesMethods,
|
|
12484
13811
|
bindResellersMethods,
|
|
12485
13812
|
bindSitesMethods,
|
|
12486
13813
|
bindSupportRequestMethods,
|
|
@@ -12507,12 +13834,14 @@ var GravityRailClient = class {
|
|
|
12507
13834
|
getFeaturesByVisibility,
|
|
12508
13835
|
getMissingDependencies,
|
|
12509
13836
|
getResourceMetadata,
|
|
13837
|
+
getRevisionState,
|
|
12510
13838
|
getScopeFromProductType,
|
|
12511
13839
|
getTTSProvider,
|
|
12512
13840
|
getVoiceModelId,
|
|
12513
13841
|
initializeFeatures,
|
|
12514
13842
|
isChatType,
|
|
12515
13843
|
isFeatureAvailable,
|
|
13844
|
+
isPositiveRating,
|
|
12516
13845
|
isRegistryInitialized,
|
|
12517
13846
|
isSMSDeliveryFailureStatus,
|
|
12518
13847
|
parseExperimentStatCount,
|