@gravity-rail/sdk 0.10.1 → 0.12.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.
Files changed (44) hide show
  1. package/README.md +7 -8
  2. package/dist/{chunk-2BJG4GYM.js → chunk-LODUVCW6.js} +884 -210
  3. package/dist/chunk-LODUVCW6.js.map +1 -0
  4. package/dist/{chunk-TJT7A4CO.js → chunk-V7ZKEH4V.js} +1 -1
  5. package/dist/chunk-V7ZKEH4V.js.map +1 -0
  6. package/dist/{client-BffM3KcA.d.cts → client-CYQ_N681.d.ts} +2794 -1123
  7. package/dist/{client-DfjAYbt8.d.ts → client-DSFqUxvN.d.cts} +2794 -1123
  8. package/dist/helpers.cjs +6 -18
  9. package/dist/helpers.cjs.map +1 -1
  10. package/dist/helpers.d.cts +2 -2
  11. package/dist/helpers.d.ts +2 -2
  12. package/dist/helpers.js +6 -18
  13. package/dist/helpers.js.map +1 -1
  14. package/dist/index.cjs +914 -298
  15. package/dist/index.cjs.map +1 -1
  16. package/dist/index.d.cts +23 -21
  17. package/dist/index.d.ts +23 -21
  18. package/dist/index.js +51 -95
  19. package/dist/index.js.map +1 -1
  20. package/dist/internal.cjs +1040 -297
  21. package/dist/internal.cjs.map +1 -1
  22. package/dist/internal.d.cts +446 -74
  23. package/dist/internal.d.ts +446 -74
  24. package/dist/internal.js +75 -3
  25. package/dist/internal.js.map +1 -1
  26. package/dist/realtime.cjs +42 -0
  27. package/dist/realtime.cjs.map +1 -1
  28. package/dist/realtime.d.cts +26 -0
  29. package/dist/realtime.d.ts +26 -0
  30. package/dist/realtime.js +42 -0
  31. package/dist/realtime.js.map +1 -1
  32. package/dist/{scopes-CmNKWrzb.d.ts → revision-state-C0VW3vDJ.d.cts} +221 -19
  33. package/dist/{scopes-CjSvITpL.d.cts → revision-state-CIRkBy-k.d.ts} +221 -19
  34. package/dist/schemas.cjs +55 -111
  35. package/dist/schemas.cjs.map +1 -1
  36. package/dist/schemas.d.cts +48 -466
  37. package/dist/schemas.d.ts +48 -466
  38. package/dist/schemas.js +55 -108
  39. package/dist/schemas.js.map +1 -1
  40. package/dist/{inquiries-UcWNYo-Q.d.cts → tasks-DcxMysiR.d.cts} +483 -143
  41. package/dist/{inquiries-UcWNYo-Q.d.ts → tasks-DcxMysiR.d.ts} +483 -143
  42. package/package.json +1 -1
  43. package/dist/chunk-2BJG4GYM.js.map +0 -1
  44. package/dist/chunk-TJT7A4CO.js.map +0 -1
package/dist/internal.cjs CHANGED
@@ -55,6 +55,7 @@ __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,
@@ -78,6 +79,7 @@ __export(internal_exports, {
78
79
  DataSensitivity: () => DataSensitivity,
79
80
  DataTypeRecordScope: () => DataTypeRecordScope,
80
81
  DataTypesApi: () => DataTypesApi,
82
+ DeclaredDataUse: () => DeclaredDataUse,
81
83
  DiscordBotsApi: () => DiscordBotsApi,
82
84
  DriverMode: () => DriverMode,
83
85
  EmailDnsRecordType: () => EmailDnsRecordType,
@@ -138,7 +140,14 @@ __export(internal_exports, {
138
140
  PERMISSION_VERIFY: () => PERMISSION_VERIFY,
139
141
  PIDS_DISPOSITIONS: () => PIDS_DISPOSITIONS,
140
142
  PIDS_SOURCES: () => PIDS_SOURCES,
143
+ POSITIVE_RATING_THRESHOLD: () => POSITIVE_RATING_THRESHOLD,
141
144
  PersonasApi: () => PersonasApi,
145
+ PhiDataPolicy: () => PhiDataPolicy,
146
+ PhiPolicyReason: () => PhiPolicyReason,
147
+ PhiPolicySource: () => PhiPolicySource,
148
+ PhiPostureDecision: () => PhiPostureDecision,
149
+ PhiPostureReasonCode: () => PhiPostureReasonCode,
150
+ PhiPostureTransitionResponseTargetType: () => PhiPostureTransitionResponseTargetType,
142
151
  PhoneNumbersApi: () => PhoneNumbersApi,
143
152
  ProductType: () => ProductType,
144
153
  PromptsApi: () => PromptsApi,
@@ -187,6 +196,7 @@ __export(internal_exports, {
187
196
  ToolkitState: () => ToolkitState,
188
197
  ToolkitsApi: () => ToolkitsApi,
189
198
  VoiceApi: () => VoiceApi,
199
+ WIDGET_SLUGS: () => WIDGET_SLUGS,
190
200
  WorkflowAccessWarningResourceType: () => WorkflowAccessWarningResourceType,
191
201
  WorkflowNotesApi: () => WorkflowNotesApi,
192
202
  WorkflowResourceType: () => WorkflowAccessWarningResourceType,
@@ -207,6 +217,7 @@ __export(internal_exports, {
207
217
  bindChatsMethods: () => bindChatsMethods,
208
218
  bindCommunicationsMethods: () => bindCommunicationsMethods,
209
219
  bindCustomersMethods: () => bindCustomersMethods,
220
+ bindDashboardsMethods: () => bindDashboardsMethods,
210
221
  bindDataTypesMethods: () => bindDataTypesMethods,
211
222
  bindEventsMethods: () => bindEventsMethods,
212
223
  bindExperimentsMethods: () => bindExperimentsMethods,
@@ -214,6 +225,7 @@ __export(internal_exports, {
214
225
  bindIntegrationsMethods: () => bindIntegrationsMethods,
215
226
  bindJourneysMethods: () => bindJourneysMethods,
216
227
  bindMembersMethods: () => bindMembersMethods,
228
+ bindMotdMethods: () => bindMotdMethods,
217
229
  bindOperatorMethods: () => bindOperatorMethods,
218
230
  bindOrgMethods: () => bindOrgMethods,
219
231
  bindPersonasMethods: () => bindPersonasMethods,
@@ -247,12 +259,14 @@ __export(internal_exports, {
247
259
  getFeaturesByVisibility: () => getFeaturesByVisibility,
248
260
  getMissingDependencies: () => getMissingDependencies,
249
261
  getResourceMetadata: () => getResourceMetadata,
262
+ getRevisionState: () => getRevisionState,
250
263
  getScopeFromProductType: () => getScopeFromProductType,
251
264
  getTTSProvider: () => getTTSProvider,
252
265
  getVoiceModelId: () => getVoiceModelId,
253
266
  initializeFeatures: () => initializeFeatures,
254
267
  isChatType: () => isChatType,
255
268
  isFeatureAvailable: () => isFeatureAvailable,
269
+ isPositiveRating: () => isPositiveRating,
256
270
  isRegistryInitialized: () => isRegistryInitialized,
257
271
  isSMSDeliveryFailureStatus: () => isSMSDeliveryFailureStatus,
258
272
  parseExperimentStatCount: () => parseExperimentStatCount,
@@ -370,11 +384,14 @@ var Scope = /* @__PURE__ */ ((Scope2) => {
370
384
  Scope2["ANALYTICS_READ"] = "analytics:read";
371
385
  Scope2["OPERATOR_READ"] = "operator:read";
372
386
  Scope2["OPERATOR_WRITE"] = "operator:write";
387
+ Scope2["EXPORT_READ"] = "export:read";
388
+ Scope2["EXPORT_WRITE"] = "export:write";
389
+ Scope2["EXPORT_ADMIN"] = "export:admin";
373
390
  Scope2["ORG_INFO"] = "org:info";
374
391
  Scope2["ORG_READ"] = "org:read";
375
392
  Scope2["ORG_WRITE"] = "org:write";
376
393
  Scope2["ORG_ADMIN"] = "org:admin";
377
- Scope2["ORG_BILLING"] = "org:billing";
394
+ Scope2["ORG_MANAGE_ADMINS"] = "org:manage_admins";
378
395
  Scope2["ORG_DELETE"] = "org:delete";
379
396
  return Scope2;
380
397
  })(Scope || {});
@@ -438,6 +455,7 @@ var EventRuleObjectType = /* @__PURE__ */ ((EventRuleObjectType2) => {
438
455
  EventRuleObjectType2["CALENDAR_EVENT_TYPE"] = "calendar_event_type";
439
456
  EventRuleObjectType2["JOURNEY"] = "journey";
440
457
  EventRuleObjectType2["CALL"] = "call";
458
+ EventRuleObjectType2["VOICEMAIL"] = "voicemail";
441
459
  return EventRuleObjectType2;
442
460
  })(EventRuleObjectType || {});
443
461
  var EventRuleEventType = /* @__PURE__ */ ((EventRuleEventType2) => {
@@ -449,6 +467,7 @@ var EventRuleEventType = /* @__PURE__ */ ((EventRuleEventType2) => {
449
467
  EventRuleEventType2["MEMBER_LEFT"] = "workspace:member_left";
450
468
  EventRuleEventType2["DATA_RECORD_CREATED"] = "data_record:created";
451
469
  EventRuleEventType2["DATA_RECORD_UPDATED"] = "data_record:updated";
470
+ EventRuleEventType2["DATA_RECORD_CHANGED"] = "data_record:changed";
452
471
  EventRuleEventType2["CHAT_CREATED"] = "chat:created";
453
472
  EventRuleEventType2["CHAT_CALLBACK"] = "chat:callback";
454
473
  EventRuleEventType2["MEMBER_UPDATED"] = "member:updated";
@@ -468,6 +487,7 @@ var EventRuleEventType = /* @__PURE__ */ ((EventRuleEventType2) => {
468
487
  EventRuleEventType2["CALL_STARTED"] = "call:started";
469
488
  EventRuleEventType2["CALL_COMPLETED"] = "call:completed";
470
489
  EventRuleEventType2["CALL_SUMMARY"] = "call:summary";
490
+ EventRuleEventType2["VOICEMAIL_RECEIVED"] = "voicemail:received";
471
491
  return EventRuleEventType2;
472
492
  })(EventRuleEventType || {});
473
493
  var EventRuleActionType = /* @__PURE__ */ ((EventRuleActionType2) => {
@@ -518,16 +538,13 @@ var WorkspaceFeature = /* @__PURE__ */ ((WorkspaceFeature2) => {
518
538
  WorkspaceFeature2["BROWSER"] = "browser";
519
539
  WorkspaceFeature2["WEB_SEARCH"] = "web_search";
520
540
  WorkspaceFeature2["CALENDAR"] = "calendar";
521
- WorkspaceFeature2["DIRECT_MESSAGES"] = "direct_messages";
522
541
  WorkspaceFeature2["JOURNEYS"] = "journeys";
523
542
  WorkspaceFeature2["EXPERIMENTS"] = "experiments";
524
543
  WorkspaceFeature2["OPERATOR"] = "operator";
525
- WorkspaceFeature2["PRESENCE"] = "presence";
526
544
  WorkspaceFeature2["GMAIL"] = "gmail";
527
545
  WorkspaceFeature2["GCALENDAR"] = "gcalendar";
528
546
  WorkspaceFeature2["MONDAY"] = "monday";
529
547
  WorkspaceFeature2["RESELL_PRODUCTS"] = "resell_products";
530
- WorkspaceFeature2["HIPAA_COMPLIANCE"] = "hipaa_compliance";
531
548
  WorkspaceFeature2["SOC2_COMPLIANCE"] = "soc2_compliance";
532
549
  WorkspaceFeature2["EHR_FHIR"] = "ehr_fhir";
533
550
  WorkspaceFeature2["EHR_ECLINICALWORKS"] = "ehr_eclinicalworks";
@@ -537,7 +554,6 @@ var WorkspaceFeature = /* @__PURE__ */ ((WorkspaceFeature2) => {
537
554
  WorkspaceFeature2["CONFLUENCE"] = "confluence";
538
555
  WorkspaceFeature2["AGENT_MEMORY"] = "agent_memory";
539
556
  WorkspaceFeature2["IMAGE_GENERATION"] = "image_generation";
540
- WorkspaceFeature2["WORKFLOW_VERSIONING"] = "workflow_versioning";
541
557
  return WorkspaceFeature2;
542
558
  })(WorkspaceFeature || {});
543
559
  var MemberFeature = /* @__PURE__ */ ((MemberFeature2) => {
@@ -551,7 +567,6 @@ var MemberFeature = /* @__PURE__ */ ((MemberFeature2) => {
551
567
  var OrgFeature = /* @__PURE__ */ ((OrgFeature2) => {
552
568
  OrgFeature2["SSO"] = "sso";
553
569
  OrgFeature2["AUDIT_LOGS"] = "audit_logs";
554
- OrgFeature2["HIPAA_COMPLIANCE"] = "hipaa_compliance";
555
570
  OrgFeature2["SOC2_COMPLIANCE"] = "soc2_compliance";
556
571
  OrgFeature2["CUSTOM_BRANDING"] = "custom_branding";
557
572
  OrgFeature2["PRIORITY_SUPPORT"] = "priority_support";
@@ -813,8 +828,15 @@ var AccessGrantResourceType = /* @__PURE__ */ ((AccessGrantResourceType2) => {
813
828
  AccessGrantResourceType2["SITE"] = "site";
814
829
  AccessGrantResourceType2["ASSIGNMENT"] = "assignment";
815
830
  AccessGrantResourceType2["APP_CONNECTION"] = "app_connection";
831
+ AccessGrantResourceType2["CAPABILITY"] = "capability";
816
832
  return AccessGrantResourceType2;
817
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 || {});
818
840
  var AccessGrantStatus = /* @__PURE__ */ ((AccessGrantStatus2) => {
819
841
  AccessGrantStatus2["PENDING"] = "pending";
820
842
  AccessGrantStatus2["ACTIVE"] = "active";
@@ -915,7 +937,10 @@ var CustomerActivityClassifierLabel = {
915
937
  escalation_failure: "escalation_failure",
916
938
  repeated_tool_failure: "repeated_tool_failure",
917
939
  transcription_quality: "transcription_quality",
918
- repetitive_loop: "repetitive_loop"
940
+ repetitive_loop: "repetitive_loop",
941
+ manager_no_response: "manager_no_response",
942
+ docs_or_skill_gap: "docs_or_skill_gap",
943
+ discovery_thrash: "discovery_thrash"
919
944
  };
920
945
  var CustomerActivityEventSource = {
921
946
  system: "system",
@@ -944,6 +969,146 @@ var CustomerActivitySeverity = {
944
969
  critical: "critical"
945
970
  };
946
971
 
972
+ // src/types/generated/phi_posture.ts
973
+ var PhiPolicyReason = {
974
+ initial_classification: "initial_classification",
975
+ customer_confirmation: "customer_confirmation",
976
+ agreement_verified: "agreement_verified",
977
+ scope_change: "scope_change",
978
+ periodic_review: "periodic_review",
979
+ correction: "correction",
980
+ incident_response: "incident_response"
981
+ };
982
+ var PhiPolicySource = {
983
+ customer_attestation: "customer_attestation",
984
+ contract_review: "contract_review",
985
+ staff_review: "staff_review",
986
+ legacy_inventory: "legacy_inventory"
987
+ };
988
+ var PhiPostureTransitionResponseTargetType = {
989
+ organization: "organization",
990
+ workspace: "workspace"
991
+ };
992
+
993
+ // src/types/generated/organization.ts
994
+ var BusinessIndustry = {
995
+ AGRICULTURE: "AGRICULTURE",
996
+ AUTOMOTIVE: "AUTOMOTIVE",
997
+ BANKING: "BANKING",
998
+ CONSUMER: "CONSUMER",
999
+ EDUCATION: "EDUCATION",
1000
+ ELECTRONICS: "ELECTRONICS",
1001
+ ENERGY: "ENERGY",
1002
+ ENGINEERING: "ENGINEERING",
1003
+ FAST_MOVING_CONSUMER_GOODS: "FAST_MOVING_CONSUMER_GOODS",
1004
+ FINANCIAL: "FINANCIAL",
1005
+ FINTECH: "FINTECH",
1006
+ FOOD_AND_BEVERAGE: "FOOD_AND_BEVERAGE",
1007
+ GOVERNMENT: "GOVERNMENT",
1008
+ HEALTHCARE: "HEALTHCARE",
1009
+ HOSPITALITY: "HOSPITALITY",
1010
+ INSURANCE: "INSURANCE",
1011
+ JEWELRY: "JEWELRY",
1012
+ LEGAL: "LEGAL",
1013
+ MANUFACTURING: "MANUFACTURING",
1014
+ MEDIA: "MEDIA",
1015
+ NOT_FOR_PROFIT: "NOT_FOR_PROFIT",
1016
+ OIL_AND_GAS: "OIL_AND_GAS",
1017
+ ONLINE: "ONLINE",
1018
+ RAW_MATERIALS: "RAW_MATERIALS",
1019
+ REAL_ESTATE: "REAL_ESTATE",
1020
+ RELIGION: "RELIGION",
1021
+ RETAIL: "RETAIL",
1022
+ TECHNOLOGY: "TECHNOLOGY",
1023
+ TELECOMMUNICATIONS: "TELECOMMUNICATIONS",
1024
+ TRANSPORTATION: "TRANSPORTATION",
1025
+ TRAVEL: "TRAVEL"
1026
+ };
1027
+ var BusinessType = {
1028
+ Sole_Proprietorship: "Sole Proprietorship",
1029
+ Partnership: "Partnership",
1030
+ Limited_Liability_Corporation: "Limited Liability Corporation",
1031
+ "Co-operative": "Co-operative",
1032
+ "Non-profit_Corporation": "Non-profit Corporation",
1033
+ Corporation: "Corporation"
1034
+ };
1035
+ var DeclaredDataUse = {
1036
+ unclassified: "unclassified",
1037
+ non_phi_only: "non_phi_only",
1038
+ phi_expected: "phi_expected"
1039
+ };
1040
+ var EmailDnsRecordType = {
1041
+ TXT: "TXT",
1042
+ CNAME: "CNAME",
1043
+ MX: "MX"
1044
+ };
1045
+ var JobPosition = {
1046
+ Director: "Director",
1047
+ GM: "GM",
1048
+ VP: "VP",
1049
+ CEO: "CEO",
1050
+ CFO: "CFO",
1051
+ General_Counsel: "General Counsel",
1052
+ Other: "Other"
1053
+ };
1054
+ var OIDCAdminConfigViewProviderType = {
1055
+ azure_ad: "azure_ad",
1056
+ okta: "okta",
1057
+ auth0: "auth0",
1058
+ generic: "generic"
1059
+ };
1060
+ var Region = {
1061
+ AFRICA: "AFRICA",
1062
+ ASIA: "ASIA",
1063
+ EUROPE: "EUROPE",
1064
+ LATIN_AMERICA: "LATIN_AMERICA",
1065
+ USA_AND_CANADA: "USA_AND_CANADA",
1066
+ AUSTRALIA: "AUSTRALIA"
1067
+ };
1068
+ var RegistrationIdentifier = {
1069
+ EIN: "EIN",
1070
+ CBN: "CBN",
1071
+ CN: "CN",
1072
+ ACN: "ACN",
1073
+ CIN: "CIN",
1074
+ VAT: "VAT",
1075
+ VATRN: "VATRN",
1076
+ RN: "RN",
1077
+ DUNS: "DUNS",
1078
+ Other: "Other"
1079
+ };
1080
+ var SiteDnsRecordType = {
1081
+ CNAME: "CNAME",
1082
+ A: "A",
1083
+ TXT: "TXT"
1084
+ };
1085
+
1086
+ // src/types/generated/workspace.ts
1087
+ var PhiDataPolicy = {
1088
+ unclassified: "unclassified",
1089
+ phi_prohibited: "phi_prohibited",
1090
+ phi_permitted: "phi_permitted"
1091
+ };
1092
+ var PhiPostureDecision = {
1093
+ allow_non_phi: "allow_non_phi",
1094
+ warn_non_phi: "warn_non_phi",
1095
+ review_required: "review_required",
1096
+ authorization_required: "authorization_required",
1097
+ conflict: "conflict"
1098
+ };
1099
+ var PhiPostureReasonCode = {
1100
+ org_unclassified: "org_unclassified",
1101
+ workspace_unclassified: "workspace_unclassified",
1102
+ non_phi_policy_aligned: "non_phi_policy_aligned",
1103
+ phi_expected_workspace_prohibited: "phi_expected_workspace_prohibited",
1104
+ phi_authorization_not_evaluated: "phi_authorization_not_evaluated",
1105
+ non_phi_org_workspace_permitted: "non_phi_org_workspace_permitted",
1106
+ phi_permitted_org_not_expected: "phi_permitted_org_not_expected",
1107
+ organization_review_expired: "organization_review_expired",
1108
+ workspace_review_expired: "workspace_review_expired",
1109
+ invalid_state: "invalid_state"
1110
+ };
1111
+
947
1112
  // src/types/model-config-types.ts
948
1113
  var DEFAULT_THINKING_SPEECH_PHRASES = [
949
1114
  "One moment please",
@@ -1124,94 +1289,10 @@ var SMS_DELIVERY_FAILURE_STATUSES = /* @__PURE__ */ new Set([
1124
1289
  function isSMSDeliveryFailureStatus(status) {
1125
1290
  return status != null && SMS_DELIVERY_FAILURE_STATUSES.has(status);
1126
1291
  }
1127
-
1128
- // src/types/generated/organization.ts
1129
- var BusinessIndustry = {
1130
- AGRICULTURE: "AGRICULTURE",
1131
- AUTOMOTIVE: "AUTOMOTIVE",
1132
- BANKING: "BANKING",
1133
- CONSUMER: "CONSUMER",
1134
- EDUCATION: "EDUCATION",
1135
- ELECTRONICS: "ELECTRONICS",
1136
- ENERGY: "ENERGY",
1137
- ENGINEERING: "ENGINEERING",
1138
- FAST_MOVING_CONSUMER_GOODS: "FAST_MOVING_CONSUMER_GOODS",
1139
- FINANCIAL: "FINANCIAL",
1140
- FINTECH: "FINTECH",
1141
- FOOD_AND_BEVERAGE: "FOOD_AND_BEVERAGE",
1142
- GOVERNMENT: "GOVERNMENT",
1143
- HEALTHCARE: "HEALTHCARE",
1144
- HOSPITALITY: "HOSPITALITY",
1145
- INSURANCE: "INSURANCE",
1146
- JEWELRY: "JEWELRY",
1147
- LEGAL: "LEGAL",
1148
- MANUFACTURING: "MANUFACTURING",
1149
- MEDIA: "MEDIA",
1150
- NOT_FOR_PROFIT: "NOT_FOR_PROFIT",
1151
- OIL_AND_GAS: "OIL_AND_GAS",
1152
- ONLINE: "ONLINE",
1153
- RAW_MATERIALS: "RAW_MATERIALS",
1154
- REAL_ESTATE: "REAL_ESTATE",
1155
- RELIGION: "RELIGION",
1156
- RETAIL: "RETAIL",
1157
- TECHNOLOGY: "TECHNOLOGY",
1158
- TELECOMMUNICATIONS: "TELECOMMUNICATIONS",
1159
- TRANSPORTATION: "TRANSPORTATION",
1160
- TRAVEL: "TRAVEL"
1161
- };
1162
- var BusinessType = {
1163
- Sole_Proprietorship: "Sole Proprietorship",
1164
- Partnership: "Partnership",
1165
- Limited_Liability_Corporation: "Limited Liability Corporation",
1166
- "Co-operative": "Co-operative",
1167
- "Non-profit_Corporation": "Non-profit Corporation",
1168
- Corporation: "Corporation"
1169
- };
1170
- var EmailDnsRecordType = {
1171
- TXT: "TXT",
1172
- CNAME: "CNAME",
1173
- MX: "MX"
1174
- };
1175
- var JobPosition = {
1176
- Director: "Director",
1177
- GM: "GM",
1178
- VP: "VP",
1179
- CEO: "CEO",
1180
- CFO: "CFO",
1181
- General_Counsel: "General Counsel",
1182
- Other: "Other"
1183
- };
1184
- var OIDCAdminConfigViewProviderType = {
1185
- azure_ad: "azure_ad",
1186
- okta: "okta",
1187
- auth0: "auth0",
1188
- generic: "generic"
1189
- };
1190
- var Region = {
1191
- AFRICA: "AFRICA",
1192
- ASIA: "ASIA",
1193
- EUROPE: "EUROPE",
1194
- LATIN_AMERICA: "LATIN_AMERICA",
1195
- USA_AND_CANADA: "USA_AND_CANADA",
1196
- AUSTRALIA: "AUSTRALIA"
1197
- };
1198
- var RegistrationIdentifier = {
1199
- EIN: "EIN",
1200
- CBN: "CBN",
1201
- CN: "CN",
1202
- ACN: "ACN",
1203
- CIN: "CIN",
1204
- VAT: "VAT",
1205
- VATRN: "VATRN",
1206
- RN: "RN",
1207
- DUNS: "DUNS",
1208
- Other: "Other"
1209
- };
1210
- var SiteDnsRecordType = {
1211
- CNAME: "CNAME",
1212
- A: "A",
1213
- TXT: "TXT"
1214
- };
1292
+ var POSITIVE_RATING_THRESHOLD = 0.5;
1293
+ function isPositiveRating(rating) {
1294
+ return rating != null && rating >= POSITIVE_RATING_THRESHOLD;
1295
+ }
1215
1296
 
1216
1297
  // src/types/generated/site.ts
1217
1298
  var MenuItemResponseItemType = {
@@ -1221,11 +1302,15 @@ var MenuItemResponseItemType = {
1221
1302
  none: "none"
1222
1303
  };
1223
1304
 
1305
+ // src/types/widget-domain-types.ts
1306
+ var WIDGET_SLUGS = ["chat", "operator", "operator-tools", "chat-app"];
1307
+
1224
1308
  // src/types/generated/task.ts
1225
1309
  var AbilityConfigIssueCode = {
1226
1310
  missing_resource: "missing_resource",
1227
1311
  invalid_state: "invalid_state",
1228
1312
  feature_disabled: "feature_disabled",
1313
+ missing_connection: "missing_connection",
1229
1314
  external_drift: "external_drift"
1230
1315
  };
1231
1316
  var AbilityConfigIssueSeverity = {
@@ -2067,6 +2152,19 @@ var SCOPE_PRESETS = {
2067
2152
  ALL: Object.keys(SCOPES)
2068
2153
  };
2069
2154
 
2155
+ // src/utils/revision-state.ts
2156
+ function getRevisionState(workflow, revision) {
2157
+ const draftIsLive = workflow.activeRevisionId === workflow.draftRevisionId;
2158
+ const hasUnpublishedChanges = workflow.draftModifiedAt != null;
2159
+ return {
2160
+ isActive: revision != null && revision.id === workflow.activeRevisionId,
2161
+ isDraft: revision != null && revision.id === workflow.draftRevisionId,
2162
+ draftIsLive,
2163
+ hasUnpublishedChanges,
2164
+ state: revision?.publishedAt != null ? "published" : "draft"
2165
+ };
2166
+ }
2167
+
2070
2168
  // src/api/base.ts
2071
2169
  function getCookieValue(name) {
2072
2170
  if (typeof document === "undefined") return void 0;
@@ -2546,20 +2644,22 @@ var AbilitiesApi = class extends BaseApiClient {
2546
2644
  }
2547
2645
  /** Get the full spec for a single ability type by slug. */
2548
2646
  async getAbilityType(wid, slug) {
2549
- return this.fetch(
2550
- `w/${wid}/abilities/types/${encodeURIComponent(slug)}`
2551
- );
2647
+ return this.fetch(`w/${wid}/abilities/types/${encodeURIComponent(slug)}`);
2552
2648
  }
2553
2649
  /**
2554
2650
  * List configured ability instances for a workflow or task scope.
2555
- * Exactly one of workflowId / taskId must be provided.
2651
+ * Provide exactly one of:
2652
+ * - workflow scope: workflowId (stable root → draft revision) and/or
2653
+ * workflowRevisionId (explicit pin)
2654
+ * - taskId for task-scoped abilities
2556
2655
  */
2557
2656
  async listAbilities(wid, options) {
2558
2657
  const params = new URLSearchParams();
2559
2658
  if (options.workflowId !== void 0)
2560
2659
  params.append("workflowId", options.workflowId.toString());
2561
- if (options.taskId !== void 0)
2562
- params.append("taskId", options.taskId.toString());
2660
+ if (options.workflowRevisionId !== void 0)
2661
+ params.append("workflowRevisionId", options.workflowRevisionId.toString());
2662
+ if (options.taskId !== void 0) params.append("taskId", options.taskId.toString());
2563
2663
  return this.fetch(`w/${wid}/abilities?${params}`);
2564
2664
  }
2565
2665
  /** Create (enable) a configured ability on a workflow or task scope. */
@@ -2582,6 +2682,20 @@ var AbilitiesApi = class extends BaseApiClient {
2582
2682
  method: "DELETE"
2583
2683
  });
2584
2684
  }
2685
+ /**
2686
+ * List recipient-directory rows approved for Charleston PMD test delivery
2687
+ * (CS-150). Returns only {recipientKey, displayLabel} for active,
2688
+ * test-delivery-allowed rows with a device id — never the PatientSync
2689
+ * recipient_id. Scoped to agents:write + the charleston_nephrology_pmd_paging
2690
+ * feature; used by the ability-config test-delivery dropdown. Kept on the
2691
+ * ability-configuration API (not generic DataRecords) because the actual
2692
+ * ability-editor scopes do not guarantee generic record access.
2693
+ */
2694
+ async getCharlestonTestDeliveryRecipients(wid) {
2695
+ return this.fetch(
2696
+ `w/${wid}/app-connections/charleston_nephrology/test-delivery/eligible-recipients`
2697
+ );
2698
+ }
2585
2699
  };
2586
2700
 
2587
2701
  // src/api/access-grants.ts
@@ -2653,6 +2767,24 @@ var AccessGrantsApi = class extends BaseApiClient {
2653
2767
  );
2654
2768
  return resp.items;
2655
2769
  }
2770
+ /**
2771
+ * List access grants *received* by a member (grantee view) — the
2772
+ * "what can this agent do without asking?" list. Filter with
2773
+ * status=active and/or a capabilityClass (e.g. 'tool.always_allow').
2774
+ */
2775
+ async getGranteeGrants(wid, memberId, params) {
2776
+ const searchParams = new URLSearchParams();
2777
+ if (params?.status) searchParams.set("status", params.status);
2778
+ if (params?.capabilityClass) {
2779
+ searchParams.set("capability_class", params.capabilityClass);
2780
+ }
2781
+ if (params?.page) searchParams.set("page", params.page.toString());
2782
+ if (params?.pageSize) searchParams.set("page_size", params.pageSize.toString());
2783
+ const qs = searchParams.toString();
2784
+ return this.fetch(
2785
+ `w/${wid}/access-grants/grantee/${memberId}${qs ? `?${qs}` : ""}`
2786
+ );
2787
+ }
2656
2788
  };
2657
2789
 
2658
2790
  // src/api/agent-tasks.ts
@@ -2739,25 +2871,6 @@ var AgentsApi = class extends BaseApiClient {
2739
2871
  method: "POST"
2740
2872
  });
2741
2873
  }
2742
- /** Resolve runtime tools for an agent on a simulated channel. */
2743
- async resolveAgentTools(wid, id, options) {
2744
- const params = new URLSearchParams();
2745
- params.append("channel", options.channel);
2746
- if (options.taskId !== void 0) params.append("taskId", options.taskId.toString());
2747
- if (options.taskUuid !== void 0) params.append("taskUuid", options.taskUuid);
2748
- return this.fetch(`w/${wid}/agents/${id}/resolve-tools?${params}`);
2749
- }
2750
- /**
2751
- * List the configured abilities effective for an agent via a task's workflow.
2752
- * Requires taskId because abilities are scoped to workflows/tasks, not agents.
2753
- */
2754
- async listAgentAbilities(wid, id, options) {
2755
- const params = new URLSearchParams();
2756
- params.append("taskId", options.taskId.toString());
2757
- return this.fetch(
2758
- `w/${wid}/agents/${id}/abilities?${params}`
2759
- );
2760
- }
2761
2874
  };
2762
2875
 
2763
2876
  // src/api/ai-models.ts
@@ -2954,8 +3067,7 @@ var AssignmentsApi = class extends BaseApiClient {
2954
3067
  if (options.sortOrder) params.append("sortOrder", options.sortOrder);
2955
3068
  if (options.mine) params.append("mine", options.mine.toString());
2956
3069
  if (options.taskId) params.append("taskId", options.taskId.toString());
2957
- if (options.memberId !== void 0)
2958
- params.append("memberId", options.memberId.toString());
3070
+ if (options.memberId !== void 0) params.append("memberId", options.memberId.toString());
2959
3071
  if (options.status) params.append("status", options.status);
2960
3072
  return this.fetch(
2961
3073
  `w/${wid}/assignments${params.toString() ? `?${params.toString()}` : ""}`
@@ -3084,6 +3196,20 @@ var AuthApi = class extends BaseApiClient {
3084
3196
  body: JSON.stringify(info)
3085
3197
  });
3086
3198
  }
3199
+ /**
3200
+ * Persist the account's FIRST-touch marketing attribution (write-once).
3201
+ *
3202
+ * Called by the browser at signup completion with its resolved UTM /
3203
+ * referrer / landing-page capture. The server keeps the first write and
3204
+ * ignores later posts (`recorded: false`), so calling this again is
3205
+ * harmless. Marketing context only — never emails, phones, or free text.
3206
+ */
3207
+ async recordAcquisition(request) {
3208
+ return this.fetch("account/acquisition", {
3209
+ method: "POST",
3210
+ body: JSON.stringify(request)
3211
+ });
3212
+ }
3087
3213
  /** Initiate SMS login by sending a verification code to the given phone number. */
3088
3214
  async login(phoneNumber, wid, organizationUuid) {
3089
3215
  const params = new URLSearchParams();
@@ -3307,23 +3433,29 @@ var AuthApi = class extends BaseApiClient {
3307
3433
  // ===== TWO-FACTOR AUTHENTICATION LOGIN METHODS =====
3308
3434
  /** Verify a TOTP code during login to complete two-factor authentication. */
3309
3435
  async verifyTOTPAuth(tempToken, code) {
3310
- return this.fetch("auth/2fa/auth/totp", {
3311
- method: "POST",
3312
- body: JSON.stringify({
3313
- temp_token: tempToken,
3314
- code
3315
- })
3316
- });
3436
+ return this.fetch(
3437
+ "auth/2fa/auth/totp",
3438
+ {
3439
+ method: "POST",
3440
+ body: JSON.stringify({
3441
+ temp_token: tempToken,
3442
+ code
3443
+ })
3444
+ }
3445
+ );
3317
3446
  }
3318
3447
  /** Verify a recovery code during login to complete two-factor authentication. */
3319
3448
  async verifyRecoveryCodeAuth(tempToken, code) {
3320
- return this.fetch("auth/2fa/auth/recovery", {
3321
- method: "POST",
3322
- body: JSON.stringify({
3323
- temp_token: tempToken,
3324
- code
3325
- })
3326
- });
3449
+ return this.fetch(
3450
+ "auth/2fa/auth/recovery",
3451
+ {
3452
+ method: "POST",
3453
+ body: JSON.stringify({
3454
+ temp_token: tempToken,
3455
+ code
3456
+ })
3457
+ }
3458
+ );
3327
3459
  }
3328
3460
  /** Get WebAuthn credential request options for two-factor login verification. */
3329
3461
  async getWebAuthnAuthOptions(tempToken) {
@@ -3336,13 +3468,16 @@ var AuthApi = class extends BaseApiClient {
3336
3468
  }
3337
3469
  /** Verify a WebAuthn assertion during login to complete two-factor authentication. */
3338
3470
  async verifyWebAuthnAuth(tempToken, assertionResponse) {
3339
- return this.fetch("auth/2fa/webauthn", {
3340
- method: "POST",
3341
- body: JSON.stringify({
3342
- temp_token: tempToken,
3343
- assertion_response: assertionResponse
3344
- })
3345
- });
3471
+ return this.fetch(
3472
+ "auth/2fa/webauthn",
3473
+ {
3474
+ method: "POST",
3475
+ body: JSON.stringify({
3476
+ temp_token: tempToken,
3477
+ assertion_response: assertionResponse
3478
+ })
3479
+ }
3480
+ );
3346
3481
  }
3347
3482
  // ===== ORGANIZATION MEMBERSHIP METHODS =====
3348
3483
  /** List all organizations the current account belongs to. */
@@ -3724,6 +3859,15 @@ var CallsApi = class extends BaseApiClient {
3724
3859
  async getMessageTiming(wid, chatId) {
3725
3860
  return this.fetch(`w/${wid}/recordings/chat/${chatId}/message-timing`);
3726
3861
  }
3862
+ /**
3863
+ * Get PHI-safe provenance metadata for the recording served by
3864
+ * `/audio.wav` — source, encryption, channels, duration, status, etc.
3865
+ * Staff-only Twilio SIDs are present only for superusers. Returns 404
3866
+ * when the chat has no native recording row (legacy chunk-only playback).
3867
+ */
3868
+ async getRecordingInfo(wid, chatId) {
3869
+ return this.fetch(`w/${wid}/recordings/chat/${chatId}/info`);
3870
+ }
3727
3871
  /** List the recorded audio chunks for a chat (metadata only). */
3728
3872
  async listChatRecordings(wid, chatId, options = {}) {
3729
3873
  const params = new URLSearchParams();
@@ -3782,8 +3926,7 @@ var ChatsApi = class extends BaseApiClient {
3782
3926
  if (options.paused !== void 0) params.append("paused", options.paused.toString());
3783
3927
  if (options.archived !== void 0) params.append("archived", options.archived.toString());
3784
3928
  if (options.channel) params.append("channel", options.channel);
3785
- const chatType = options.chatType ?? "assignment";
3786
- params.append("chatType", chatType);
3929
+ if (options.chatType) params.append("chatType", options.chatType);
3787
3930
  if (options.memberId !== void 0) params.append("memberId", options.memberId.toString());
3788
3931
  if (options.assistantMemberId !== void 0)
3789
3932
  params.append("assistantMemberId", options.assistantMemberId.toString());
@@ -3794,6 +3937,11 @@ var ChatsApi = class extends BaseApiClient {
3794
3937
  if (options.filters && options.filters.length > 0) {
3795
3938
  params.append("filters", JSON.stringify(options.filters));
3796
3939
  }
3940
+ if (options.query) params.append("query", JSON.stringify(options.query));
3941
+ if (options.workflowId !== void 0)
3942
+ params.append("workflowId", options.workflowId.toString());
3943
+ if (options.workflowRevisionId !== void 0)
3944
+ params.append("workflowRevisionId", options.workflowRevisionId.toString());
3797
3945
  if (options.createdAfter) params.append("createdAfter", options.createdAfter);
3798
3946
  if (options.createdBefore) params.append("createdBefore", options.createdBefore);
3799
3947
  return params;
@@ -3914,6 +4062,25 @@ var ChatsApi = class extends BaseApiClient {
3914
4062
  body: JSON.stringify(chat)
3915
4063
  });
3916
4064
  }
4065
+ /**
4066
+ * Get per-chat model provenance for the Chat sidebar's model summary area:
4067
+ * the effective chat + realtime models, the agent's current default (the
4068
+ * reset/inherit target), and pinned/matches flags.
4069
+ */
4070
+ async getChatModelOverride(wid, id) {
4071
+ return this.fetch(`w/${wid}/chats/${id}/model-override`);
4072
+ }
4073
+ /**
4074
+ * Pin or reset the per-chat chat/realtime model snapshot. A concrete model id
4075
+ * pins that model; an empty/null id resets it to the agent's current default.
4076
+ * Only fields present in the payload are touched.
4077
+ */
4078
+ async updateChatModelOverride(wid, id, override) {
4079
+ return this.fetch(`w/${wid}/chats/${id}/model-override`, {
4080
+ method: "PUT",
4081
+ body: JSON.stringify(override)
4082
+ });
4083
+ }
3917
4084
  /** Update the mute status of a chat. */
3918
4085
  async updateChatMute(wid, id, muted) {
3919
4086
  return this.fetch(`w/${wid}/chats/${id}/mute`, {
@@ -3984,13 +4151,35 @@ var ChatsApi = class extends BaseApiClient {
3984
4151
  })
3985
4152
  });
3986
4153
  }
3987
- /** Rate a chat message by its UUID. */
3988
- async rateMessage(wid, chatId, messageUuid, rating) {
4154
+ /**
4155
+ * List durable feedback rows for a chat (thumbs, explicit, supervisor, extracted).
4156
+ */
4157
+ async getChatFeedback(wid, chatId, options = {}) {
4158
+ const params = new URLSearchParams();
4159
+ if (options.page != null) params.set("page", String(options.page));
4160
+ if (options.pageSize != null) params.set("pageSize", String(options.pageSize));
4161
+ if (options.source) params.set("source", options.source);
4162
+ if (options.rating) params.set("rating", options.rating);
4163
+ if (options.authorKind) params.set("authorKind", options.authorKind);
4164
+ const qs = params.toString();
4165
+ return this.fetch(
4166
+ `w/${wid}/chats/${chatId}/feedback${qs ? `?${qs}` : ""}`
4167
+ );
4168
+ }
4169
+ /**
4170
+ * Rate a chat message by its UUID.
4171
+ * Optional ``comment`` updates free-text details on the same durable rating row.
4172
+ */
4173
+ async rateMessage(wid, chatId, messageUuid, rating, comment) {
4174
+ const body = { rating };
4175
+ if (comment !== void 0) {
4176
+ body.comment = comment;
4177
+ }
3989
4178
  return this.fetch(
3990
4179
  `w/${wid}/chats/${chatId}/messages/${messageUuid}/rate`,
3991
4180
  {
3992
4181
  method: "POST",
3993
- body: JSON.stringify({ rating })
4182
+ body: JSON.stringify(body)
3994
4183
  }
3995
4184
  );
3996
4185
  }
@@ -4243,15 +4432,60 @@ var CustomToolkitsApi = class extends BaseApiClient {
4243
4432
  body: JSON.stringify(data)
4244
4433
  });
4245
4434
  }
4246
- /**
4247
- * Delete a custom tool
4248
- */
4249
- async deleteCustomTool(wid, toolkitId, toolId) {
4435
+ /**
4436
+ * Delete a custom tool
4437
+ */
4438
+ async deleteCustomTool(wid, toolkitId, toolId) {
4439
+ return this.fetch(
4440
+ `w/${wid}/custom-toolkits/${toolkitId}/tools/${toolId}`,
4441
+ {
4442
+ method: "DELETE"
4443
+ }
4444
+ );
4445
+ }
4446
+ };
4447
+
4448
+ // src/api/dashboards.ts
4449
+ var DashboardsApi = class extends BaseApiClient {
4450
+ /** List all dashboards for the workspace, in tab order. */
4451
+ async getDashboards(wid) {
4452
+ return this.fetch(`w/${wid}/dashboards`);
4453
+ }
4454
+ /** Get a dashboard by ID. */
4455
+ async getDashboard(wid, id) {
4456
+ return this.fetch(`w/${wid}/dashboards/${id}`);
4457
+ }
4458
+ /** Create a named dashboard, optionally with an initial widget list. */
4459
+ async createDashboard(wid, body) {
4460
+ return this.fetch(`w/${wid}/dashboards`, {
4461
+ method: "POST",
4462
+ body: JSON.stringify(body)
4463
+ });
4464
+ }
4465
+ /** Update a dashboard's name, position, or widget list (full replace). */
4466
+ async updateDashboard(wid, id, body) {
4467
+ return this.fetch(`w/${wid}/dashboards/${id}`, {
4468
+ method: "PATCH",
4469
+ body: JSON.stringify(body)
4470
+ });
4471
+ }
4472
+ /** Delete a dashboard. */
4473
+ async deleteDashboard(wid, id) {
4474
+ await this.fetch(`w/${wid}/dashboards/${id}`, { method: "DELETE" });
4475
+ }
4476
+ /** Per-channel chat volume in the window + live needs-response backlog. */
4477
+ async getDashboardChannelStats(wid, options) {
4478
+ const params = new URLSearchParams();
4479
+ if (options?.hours !== void 0) params.append("hours", options.hours.toString());
4480
+ const query = params.toString();
4250
4481
  return this.fetch(
4251
- `w/${wid}/custom-toolkits/${toolkitId}/tools/${toolId}`,
4252
- {
4253
- method: "DELETE"
4254
- }
4482
+ `w/${wid}/dashboards/stats/channels${query ? `?${query}` : ""}`
4483
+ );
4484
+ }
4485
+ /** Assignment status rollup per root workflow. */
4486
+ async getDashboardWorkflowAssignmentStats(wid) {
4487
+ return this.fetch(
4488
+ `w/${wid}/dashboards/stats/workflow-assignments`
4255
4489
  );
4256
4490
  }
4257
4491
  };
@@ -4328,12 +4562,58 @@ var DataTypesApi = class extends BaseApiClient {
4328
4562
  if (options?.memberIds?.length) params.append("member_ids", options.memberIds.join(","));
4329
4563
  if (options?.search) params.append("search", options.search);
4330
4564
  if (options?.searchField) params.append("search_field", options.searchField);
4565
+ if (options?.dataRecordFilterId != null) {
4566
+ params.append("dataRecordFilterId", options.dataRecordFilterId.toString());
4567
+ }
4568
+ if (options?.query != null) params.append("query", JSON.stringify(options.query));
4331
4569
  if (options?.page) params.append("page", options.page.toString());
4332
4570
  if (options?.pageSize) params.append("page_size", options.pageSize.toString());
4333
4571
  return this.fetch(
4334
4572
  `w/${wid}/data-types/${dataTypeId}/records${params?.toString() ? `?${params.toString()}` : ""}`
4335
4573
  );
4336
4574
  }
4575
+ // Data-record filter APIs (saved Query IR predicates per form)
4576
+ /** List saved data-record filters, optionally scoped to one DataType. */
4577
+ async getDataRecordFilters(wid, options) {
4578
+ const params = new URLSearchParams();
4579
+ if (options?.dataTypeId != null) {
4580
+ params.append("dataTypeId", options.dataTypeId.toString());
4581
+ }
4582
+ const qs = params.toString();
4583
+ return this.fetch(
4584
+ `w/${wid}/data-record-filters${qs ? `?${qs}` : ""}`
4585
+ );
4586
+ }
4587
+ /** Get a single data-record filter by ID. */
4588
+ async getDataRecordFilter(wid, filterId) {
4589
+ return this.fetch(`w/${wid}/data-record-filters/${filterId}`);
4590
+ }
4591
+ /** Create a new saved data-record filter. */
4592
+ async createDataRecordFilter(wid, data) {
4593
+ return this.fetch(`w/${wid}/data-record-filters`, {
4594
+ method: "POST",
4595
+ body: JSON.stringify(data)
4596
+ });
4597
+ }
4598
+ /** Update a saved data-record filter. */
4599
+ async updateDataRecordFilter(wid, filterId, data) {
4600
+ return this.fetch(`w/${wid}/data-record-filters/${filterId}`, {
4601
+ method: "PUT",
4602
+ body: JSON.stringify(data)
4603
+ });
4604
+ }
4605
+ /** Delete a saved data-record filter. */
4606
+ async deleteDataRecordFilter(wid, filterId) {
4607
+ return this.fetch(`w/${wid}/data-record-filters/${filterId}`, {
4608
+ method: "DELETE"
4609
+ });
4610
+ }
4611
+ /** Get the count of records matching a saved filter. */
4612
+ async getDataRecordFilterCount(wid, filterId) {
4613
+ return this.fetch(
4614
+ `w/${wid}/data-record-filters/${filterId}/count`
4615
+ );
4616
+ }
4337
4617
  /** Get a single data record by ID. */
4338
4618
  async getDataRecord(wid, recordId) {
4339
4619
  return this.fetch(`w/${wid}/data-types/records/${recordId}`);
@@ -4446,6 +4726,38 @@ var DiscordBotsApi = class extends BaseApiClient {
4446
4726
  body: JSON.stringify(data)
4447
4727
  });
4448
4728
  }
4729
+ /**
4730
+ * Step-up preflight for the Discord account-link flow (GH #20196).
4731
+ *
4732
+ * A no-side-effect GET enforcing the same authenticated, stepped-up
4733
+ * `apps:write` session as authorize/complete-link. Call this through the
4734
+ * client *before* the full-page navigation to `/oauth/authorize`: a 401
4735
+ * `insufficient_user_authentication` triggers the SDK's enhanced-auth
4736
+ * (step-up) modal + retry, so a below-assurance session is prompted here
4737
+ * rather than hitting a raw 401 on a top-level browser navigation.
4738
+ * Resolves (204) once the session is sufficiently assured.
4739
+ */
4740
+ async discordLinkPreflight(wid) {
4741
+ return this.fetch(`w/${wid}/app-connections/discord/oauth/link/preflight`);
4742
+ }
4743
+ /**
4744
+ * Complete an authenticated Discord account link (GH #20196).
4745
+ *
4746
+ * POST-only. Exchanges the one-time opaque handle (issued by the OAuth
4747
+ * callback and carried in the `?discord_link_handle=` return param) for a
4748
+ * persisted MemberCredential. Requires an authenticated, step-up-protected
4749
+ * session with `apps:write`; a 401 `insufficient_user_authentication`
4750
+ * triggers the SDK's enhanced-auth (step-up) retry automatically.
4751
+ */
4752
+ async completeDiscordLink(wid, data) {
4753
+ return this.fetch(
4754
+ `w/${wid}/app-connections/discord/oauth/complete-link`,
4755
+ {
4756
+ method: "POST",
4757
+ body: JSON.stringify(data)
4758
+ }
4759
+ );
4760
+ }
4449
4761
  /**
4450
4762
  * Update an existing Discord bot configuration.
4451
4763
  */
@@ -4700,7 +5012,8 @@ var EventsApi = class extends BaseApiClient {
4700
5012
  if (params.taskId) searchParams.append("taskId", params.taskId.toString());
4701
5013
  if (params.dataTypeId) searchParams.append("dataTypeId", params.dataTypeId.toString());
4702
5014
  if (params.routineId) searchParams.append("routineId", params.routineId.toString());
4703
- if (params.workflowId) searchParams.append("workflowId", params.workflowId.toString());
5015
+ if (params.workflowRevisionId)
5016
+ searchParams.append("workflowRevisionId", params.workflowRevisionId.toString());
4704
5017
  if (params.journeyStepId)
4705
5018
  searchParams.append("journeyStepId", params.journeyStepId.toString());
4706
5019
  if (params.includeDisabled) searchParams.append("includeDisabled", "true");
@@ -4771,7 +5084,8 @@ var EventsApi = class extends BaseApiClient {
4771
5084
  if (options.objectType) params.append("objectType", options.objectType);
4772
5085
  if (options.eventType) params.append("eventType", options.eventType);
4773
5086
  if (options.actionType) params.append("actionType", options.actionType);
4774
- if (options.workflowId) params.append("workflowId", options.workflowId.toString());
5087
+ if (options.workflowRevisionId)
5088
+ params.append("workflowRevisionId", options.workflowRevisionId.toString());
4775
5089
  return this.fetch(
4776
5090
  `w/${wid}/event-rules/executions${params.toString() ? `?${params.toString()}` : ""}`
4777
5091
  );
@@ -4783,6 +5097,20 @@ var EventsApi = class extends BaseApiClient {
4783
5097
  body: JSON.stringify(request)
4784
5098
  });
4785
5099
  }
5100
+ /**
5101
+ * Preview which target-audience roles lack Workflow USE for the Workflows a
5102
+ * draft Routine would start. Non-persisting, non-blocking authoring assist —
5103
+ * returns warnings only (role/Workflow names + IDs; no Member data).
5104
+ */
5105
+ async previewRoutineWorkflowAccess(wid, request) {
5106
+ return this.fetch(
5107
+ `w/${wid}/routines/preview-workflow-access`,
5108
+ {
5109
+ method: "POST",
5110
+ body: JSON.stringify(request)
5111
+ }
5112
+ );
5113
+ }
4786
5114
  /** List routines with optional pagination and active status filtering. */
4787
5115
  async getRoutines(wid, options = {}) {
4788
5116
  const params = new URLSearchParams();
@@ -5353,6 +5681,17 @@ var FilesApi = class extends BaseApiClient {
5353
5681
  async getFile(wid, id) {
5354
5682
  return this.fetch(`w/${wid}/files/${id}`);
5355
5683
  }
5684
+ /**
5685
+ * Resolve a wiki-style relative path (as authored in a markdown link or
5686
+ * image) to a file. `folderId` is the linking document's folder; omit it
5687
+ * to resolve from the workspace root. Handles `.`/`..` segments and an
5688
+ * omitted `.md` extension server-side.
5689
+ */
5690
+ async resolveFilePath(wid, path, folderId) {
5691
+ const params = new URLSearchParams({ path });
5692
+ if (folderId != null) params.append("folderId", String(folderId));
5693
+ return this.fetch(`w/${wid}/files/resolve-path?${params.toString()}`);
5694
+ }
5356
5695
  /**
5357
5696
  * Download the given files + folders (folders recursively) as a single ZIP.
5358
5697
  * Returns the raw archive bytes for the caller to save.
@@ -5406,6 +5745,36 @@ var FilesApi = class extends BaseApiClient {
5406
5745
  method: "DELETE"
5407
5746
  });
5408
5747
  }
5748
+ /** List a file's version history (newest first). */
5749
+ async listFileVersions(wid, fileId) {
5750
+ return this.fetch(`w/${wid}/files/${fileId}/versions`);
5751
+ }
5752
+ /** Compare two versions of a file. For text files both raw contents are returned. */
5753
+ async getFileVersionDiff(wid, fileId, fromVersion, toVersion) {
5754
+ return this.fetch(
5755
+ `w/${wid}/files/${fileId}/versions/diff?fromVersion=${fromVersion}&toVersion=${toVersion}`
5756
+ );
5757
+ }
5758
+ /** Restore an earlier version as the file's current contents. */
5759
+ async restoreFileVersion(wid, fileId, versionNumber, changeNote) {
5760
+ return this.fetch(
5761
+ `w/${wid}/files/${fileId}/versions/${versionNumber}/restore`,
5762
+ {
5763
+ method: "POST",
5764
+ // Required JSON body: keeps this cookie-auth POST non-forgeable
5765
+ // by cross-site HTML forms (backend rejects bodyless requests).
5766
+ body: JSON.stringify(changeNote ? { changeNote } : {})
5767
+ }
5768
+ );
5769
+ }
5770
+ /**
5771
+ * Same-origin proxy URL for a version's raw contents. Mirrors the shape of
5772
+ * `FileResponse.cdnUrl`: an app-relative Next.js route that authenticates
5773
+ * via session cookies and forwards to the versioned contents endpoint.
5774
+ */
5775
+ getFileVersionContentsUrl(wid, fileId, versionNumber) {
5776
+ return `/api/w/${wid}/files/${fileId}/versions/${versionNumber}/contents`;
5777
+ }
5409
5778
  /** Convert a file to the specified format (text, markdown, or PDF). */
5410
5779
  async convertFile(wid, fileId, format = "pdf") {
5411
5780
  return this.fetch(
@@ -6046,7 +6415,7 @@ var MembersApi = class extends BaseApiClient {
6046
6415
  });
6047
6416
  }
6048
6417
  /** List workspace members with pagination, filtering, and sorting. */
6049
- async getWorkspaceMembers(wid, page = 1, pageSize = 10, filters, search, role, sortBy, sortOrder, memberType, isArchived = false, isManager, memberTypes, hasAccount, excludeIds, memberFilterId, query) {
6418
+ async getWorkspaceMembers(wid, page = 1, pageSize = 10, search, role, sortBy, sortOrder, memberType, isArchived = false, isManager, memberTypes, hasAccount, excludeIds, memberFilterId, query) {
6050
6419
  const params = new URLSearchParams();
6051
6420
  if (memberFilterId != null) params.append("memberFilterId", memberFilterId.toString());
6052
6421
  if (query != null) params.append("query", JSON.stringify(query));
@@ -6054,13 +6423,6 @@ var MembersApi = class extends BaseApiClient {
6054
6423
  if (pageSize) params.append("pageSize", pageSize.toString());
6055
6424
  if (sortBy) params.append("sortBy", sortBy);
6056
6425
  if (sortOrder) params.append("sortOrder", sortOrder);
6057
- if (filters) {
6058
- if (Array.isArray(filters)) {
6059
- params.append("filters", JSON.stringify(filters));
6060
- } else {
6061
- params.append("filters", JSON.stringify(filters));
6062
- }
6063
- }
6064
6426
  if (search) params.append("search", search);
6065
6427
  if (role) params.append("role", role);
6066
6428
  if (memberTypes && memberTypes.length > 0) {
@@ -6156,22 +6518,6 @@ var MembersApi = class extends BaseApiClient {
6156
6518
  body: JSON.stringify(data)
6157
6519
  });
6158
6520
  }
6159
- /**
6160
- * Convert a legacy rules filter to a query-engine predicate. One-way and
6161
- * transactional: on success the filter's legacy rules are gone and
6162
- * `query` holds the equivalent IR predicate. 409 if already query-format;
6163
- * 422 when rules have no engine equivalent.
6164
- *
6165
- * With `dryRun: true` the same validation runs but nothing persists: the
6166
- * response previews the normalized predicate in `query` while `rules`
6167
- * stay intact on the filter.
6168
- */
6169
- async convertMemberFilterToQuery(wid, filterId, opts) {
6170
- const suffix = opts?.dryRun ? "?dryRun=true" : "";
6171
- return this.fetch(`w/${wid}/member-filters/${filterId}/convert${suffix}`, {
6172
- method: "PUT"
6173
- });
6174
- }
6175
6521
  /** Delete a saved member filter. */
6176
6522
  async deleteMemberFilter(wid, filterId) {
6177
6523
  return this.fetch(`w/${wid}/member-filters/${filterId}`, {
@@ -6517,6 +6863,11 @@ var MembersApi = class extends BaseApiClient {
6517
6863
  `w/${wid}/members/${memberId}/memories${qs ? `?${qs}` : ""}`
6518
6864
  );
6519
6865
  }
6866
+ async getMemberMemory(wid, memberId, key) {
6867
+ return this.fetch(
6868
+ `w/${wid}/members/${memberId}/memories/${encodeURIComponent(key)}`
6869
+ );
6870
+ }
6520
6871
  async createMemberMemory(wid, memberId, body) {
6521
6872
  return this.fetch(`w/${wid}/members/${memberId}/memories`, {
6522
6873
  method: "POST",
@@ -6585,6 +6936,25 @@ var MilestonesApi = class extends BaseApiClient {
6585
6936
  }
6586
6937
  };
6587
6938
 
6939
+ // src/api/motd.ts
6940
+ var MotdApi = class extends BaseApiClient {
6941
+ /**
6942
+ * The Message-of-the-Day tip for the workspace on a given date.
6943
+ *
6944
+ * `date` is an ISO `YYYY-MM-DD` string (defaults to today, UTC, when
6945
+ * omitted); `offset` advances the rotation ("show another"). Selection is
6946
+ * deterministic — same date + workspace + offset always returns the same
6947
+ * tip — and cycles through the tip list.
6948
+ */
6949
+ async getMotd(wid, options) {
6950
+ const params = new URLSearchParams();
6951
+ if (options?.date !== void 0) params.append("date", options.date);
6952
+ if (options?.offset !== void 0) params.append("offset", options.offset.toString());
6953
+ const query = params.toString();
6954
+ return this.fetch(`w/${wid}/motd${query ? `?${query}` : ""}`);
6955
+ }
6956
+ };
6957
+
6588
6958
  // src/api/monday.ts
6589
6959
  var MondayIntegrationApi = class extends BaseApiClient {
6590
6960
  /**
@@ -6621,6 +6991,20 @@ var MondayIntegrationApi = class extends BaseApiClient {
6621
6991
  // -----------------------------------------------------------------------
6622
6992
  // Monday.com Connection management (OAuth, status, sync, reconciliation)
6623
6993
  // -----------------------------------------------------------------------
6994
+ /**
6995
+ * Create the Monday.com connection shell (no credentials yet).
6996
+ *
6997
+ * First step of the guided setup flow: provisions the connection row so
6998
+ * the admin lands on the detail page where the OAuth callback URL is
6999
+ * shown — which they need to register their Monday.com app before they
7000
+ * have a Client ID / Secret to enter. Idempotent.
7001
+ */
7002
+ async installMondayConnection(wid) {
7003
+ return this.fetch(`w/${wid}/app-connections/monday/install`, {
7004
+ method: "POST",
7005
+ body: JSON.stringify({})
7006
+ });
7007
+ }
6624
7008
  async configureMondayConnection(wid, data) {
6625
7009
  return this.fetch(`w/${wid}/app-connections/monday/configure`, {
6626
7010
  method: "POST",
@@ -7205,24 +7589,24 @@ var OrgApi = class extends BaseApiClient {
7205
7589
  return this.fetch(`o/${orgUuid}/phone-numbers/a2p/status`);
7206
7590
  }
7207
7591
  /**
7208
- * Start org-level A2P brand registration.
7592
+ * Start A2P brand registration under a legal entity. `legalEntityUuid`
7593
+ * is required — brands register per legal entity (Customer Profile);
7594
+ * there is no primary-entity fallback.
7209
7595
  */
7210
- async startA2PRegistration(orgUuid, brandName, brandDescription) {
7211
- return this.fetch(
7212
- `o/${orgUuid}/phone-numbers/a2p/start`,
7213
- {
7214
- method: "POST",
7215
- body: JSON.stringify({ brandName, brandDescription })
7216
- }
7217
- );
7596
+ async startA2PRegistration(orgUuid, legalEntityUuid, brandName, brandDescription) {
7597
+ return this.fetch(`o/${orgUuid}/phone-numbers/a2p/start`, {
7598
+ method: "POST",
7599
+ body: JSON.stringify({ legalEntityUuid, brandName, brandDescription })
7600
+ });
7218
7601
  }
7219
7602
  /**
7220
- * Approve sample messages for the org's A2P campaign.
7603
+ * Approve sample messages for one brand's A2P campaign. Signals the
7604
+ * brand's registration workflow to create the TCR campaign.
7221
7605
  */
7222
- async approveA2PMessages(orgUuid, sampleMessages) {
7606
+ async approveA2PMessages(orgUuid, brandUuid, sampleMessages) {
7223
7607
  return this.fetch(`o/${orgUuid}/phone-numbers/a2p/approve-messages`, {
7224
7608
  method: "POST",
7225
- body: JSON.stringify({ sampleMessages })
7609
+ body: JSON.stringify({ brandUuid, sampleMessages })
7226
7610
  });
7227
7611
  }
7228
7612
  // ============================================================================
@@ -7238,8 +7622,8 @@ var OrgApi = class extends BaseApiClient {
7238
7622
  * which is impossible (lifecycle status is one of `draft` /
7239
7623
  * `pending-review` / `in-review` / `twilio-approved` / `twilio-rejected`).
7240
7624
  */
7241
- async getBusinessProfile(orgUuid) {
7242
- return this.fetch(`o/${orgUuid}/business-profile`);
7625
+ async getBusinessProfile(orgUuid, legalEntityUuid) {
7626
+ return this.fetch(businessProfilePath(orgUuid, legalEntityUuid));
7243
7627
  }
7244
7628
  /**
7245
7629
  * Upsert the org's business profile. Idempotent via cached SIDs.
@@ -7247,8 +7631,8 @@ var OrgApi = class extends BaseApiClient {
7247
7631
  * compliance evaluation result so the frontend can immediately enable
7248
7632
  * Submit without a second round-trip.
7249
7633
  */
7250
- async updateBusinessProfile(orgUuid, data) {
7251
- return this.fetch(`o/${orgUuid}/business-profile`, {
7634
+ async updateBusinessProfile(orgUuid, data, legalEntityUuid) {
7635
+ return this.fetch(businessProfilePath(orgUuid, legalEntityUuid), {
7252
7636
  method: "PUT",
7253
7637
  body: JSON.stringify(data)
7254
7638
  });
@@ -7258,20 +7642,46 @@ var OrgApi = class extends BaseApiClient {
7258
7642
  * compliance live and returns 412 if the profile is not currently
7259
7643
  * `compliant`; returns 409 if a review is already in flight.
7260
7644
  */
7261
- async submitBusinessProfile(orgUuid) {
7262
- return this.fetch(`o/${orgUuid}/business-profile/submit`, {
7263
- method: "POST"
7264
- });
7645
+ async submitBusinessProfile(orgUuid, legalEntityUuid) {
7646
+ return this.fetch(
7647
+ `${businessProfilePath(orgUuid, legalEntityUuid)}/submit`,
7648
+ { method: "POST" }
7649
+ );
7265
7650
  }
7266
7651
  /**
7267
7652
  * Cancel an in-flight Twilio review. Resets the cached profile state
7268
7653
  * to `draft` so the user can edit and resubmit.
7269
7654
  */
7270
- async cancelBusinessProfile(orgUuid) {
7271
- return this.fetch(`o/${orgUuid}/business-profile/cancel`, {
7272
- method: "POST"
7655
+ async cancelBusinessProfile(orgUuid, legalEntityUuid) {
7656
+ return this.fetch(
7657
+ `${businessProfilePath(orgUuid, legalEntityUuid)}/cancel`,
7658
+ { method: "POST" }
7659
+ );
7660
+ }
7661
+ // ============================================================================
7662
+ // Legal entities (Twilio Secondary Customer Profiles)
7663
+ // ============================================================================
7664
+ /** List the org's legal entities (one Customer Profile each). */
7665
+ async listLegalEntities(orgUuid) {
7666
+ return this.fetch(`o/${orgUuid}/legal-entities`);
7667
+ }
7668
+ /** Create a legal entity. Its business profile is edited via the entity-scoped business-profile methods. */
7669
+ async createLegalEntity(orgUuid, data) {
7670
+ return this.fetch(`o/${orgUuid}/legal-entities`, {
7671
+ method: "POST",
7672
+ body: JSON.stringify(data)
7273
7673
  });
7274
7674
  }
7675
+ async getLegalEntity(orgUuid, legalEntityUuid) {
7676
+ return this.fetch(`o/${orgUuid}/legal-entities/${legalEntityUuid}`);
7677
+ }
7678
+ /**
7679
+ * Brand detail with live registration-workflow state (`workflowStatus`,
7680
+ * `pendingSampleMessages`) for the sample-approval step.
7681
+ */
7682
+ async getA2PBrand(orgUuid, brandUuid) {
7683
+ return this.fetch(`o/${orgUuid}/a2p-brands/${brandUuid}`);
7684
+ }
7275
7685
  /**
7276
7686
  * List the org's A2P brands (broker resources). The SMS-consent editor uses
7277
7687
  * this to pick which brand's consent config to edit.
@@ -7375,6 +7785,9 @@ var OrgApi = class extends BaseApiClient {
7375
7785
  );
7376
7786
  }
7377
7787
  };
7788
+ function businessProfilePath(orgUuid, legalEntityUuid) {
7789
+ return legalEntityUuid ? `o/${orgUuid}/legal-entities/${legalEntityUuid}/business-profile` : `o/${orgUuid}/business-profile`;
7790
+ }
7378
7791
 
7379
7792
  // src/api/oauth.ts
7380
7793
  function getOAuthPath(providerSlug, action) {
@@ -7447,6 +7860,14 @@ var OAuthApi = class extends BaseApiClient {
7447
7860
  };
7448
7861
 
7449
7862
  // src/api/phone-numbers.ts
7863
+ function appendAnalyticsFilters(params, filters) {
7864
+ if (!filters) return;
7865
+ if (filters.dateFrom) params.set("dateFrom", filters.dateFrom);
7866
+ if (filters.dateTo) params.set("dateTo", filters.dateTo);
7867
+ filters.terminationReason?.forEach((v) => params.append("terminationReason", v));
7868
+ filters.answeredBy?.forEach((v) => params.append("answeredBy", v));
7869
+ filters.memberLabel?.forEach((v) => params.append("memberLabel", v));
7870
+ }
7450
7871
  var PhoneNumbersApi = class extends BaseApiClient {
7451
7872
  /** List phone numbers in a workspace, optionally including archived. */
7452
7873
  async getPhoneNumbers(wid, options) {
@@ -7570,6 +7991,62 @@ var PhoneNumbersApi = class extends BaseApiClient {
7570
7991
  method: "POST"
7571
7992
  });
7572
7993
  }
7994
+ /**
7995
+ * Always-anonymized outbound-call analytics summary for one phone number.
7996
+ * No `analyticsSessionId` is sent — the summary carries no row-level PHI.
7997
+ */
7998
+ async getPhoneNumberOutboundAnalyticsSummary(wid, id, filters) {
7999
+ const params = new URLSearchParams();
8000
+ appendAnalyticsFilters(params, filters);
8001
+ const query = params.toString();
8002
+ return this.fetch(
8003
+ `w/${wid}/phone-numbers/${id}/analytics/summary${query ? `?${query}` : ""}`
8004
+ );
8005
+ }
8006
+ /**
8007
+ * One paginated page of outbound-call analytics detail rows. Anonymized by
8008
+ * default; `raw: true` requires the `export:admin` scope server-side and is
8009
+ * audited per response. `analyticsSessionId` keeps the callee pseudonyms
8010
+ * stable across pagination/sort within one browser session.
8011
+ */
8012
+ async getPhoneNumberOutboundAnalyticsCalls(wid, id, options) {
8013
+ const params = new URLSearchParams({
8014
+ analyticsSessionId: options.analyticsSessionId,
8015
+ page: String(options.page ?? 1),
8016
+ pageSize: String(options.pageSize ?? 50)
8017
+ });
8018
+ if (options.sort) params.set("sort", options.sort);
8019
+ if (options.sortDirection) params.set("sortDirection", options.sortDirection);
8020
+ if (options.raw) params.set("raw", "true");
8021
+ appendAnalyticsFilters(params, options.filters);
8022
+ return this.fetch(
8023
+ `w/${wid}/phone-numbers/${id}/analytics/calls?${params}`
8024
+ );
8025
+ }
8026
+ /**
8027
+ * Export outbound-call analytics as a CSV blob (respecting the current
8028
+ * filters + raw state). The server returns HTTP 400 when the result set
8029
+ * exceeds its export cap; that message is surfaced to the caller via
8030
+ * `ApiError` so the UI can toast it.
8031
+ */
8032
+ async exportPhoneNumberOutboundAnalyticsCsv(wid, id, options) {
8033
+ const params = new URLSearchParams({ analyticsSessionId: options.analyticsSessionId });
8034
+ if (options.sort) params.set("sort", options.sort);
8035
+ if (options.sortDirection) params.set("sortDirection", options.sortDirection);
8036
+ if (options.raw) params.set("raw", "true");
8037
+ appendAnalyticsFilters(params, options.filters);
8038
+ const response = await this.fetchRaw(
8039
+ `w/${wid}/phone-numbers/${id}/analytics/export?${params}`,
8040
+ {},
8041
+ [400]
8042
+ );
8043
+ if (!response.ok) {
8044
+ const data = await response.json().catch(() => ({}));
8045
+ const message = typeof data?.detail === "string" ? data.detail : "Failed to export analytics";
8046
+ throw new ApiError(message, response.status);
8047
+ }
8048
+ return response.blob();
8049
+ }
7573
8050
  };
7574
8051
 
7575
8052
  // src/api/pronunciations.ts
@@ -7908,6 +8385,20 @@ var ReportsApi = class extends BaseApiClient {
7908
8385
 
7909
8386
  // src/api/salesforce.ts
7910
8387
  var SalesforceApi = class extends BaseApiClient {
8388
+ /**
8389
+ * Create the Salesforce connection shell (no credentials yet).
8390
+ *
8391
+ * First step of the guided setup flow: provisions the connection row so
8392
+ * the admin lands on the detail page where the OAuth callback URL is
8393
+ * shown — which they need to register their Salesforce Connected App
8394
+ * before they have a Client ID / Secret to enter. Idempotent.
8395
+ */
8396
+ async installSalesforce(wid, data) {
8397
+ return this.fetch(`w/${wid}/app-connections/salesforce/install`, {
8398
+ method: "POST",
8399
+ body: JSON.stringify(data ?? {})
8400
+ });
8401
+ }
7911
8402
  async configureSalesforce(wid, data) {
7912
8403
  return this.fetch(
7913
8404
  `w/${wid}/app-connections/salesforce/configure`,
@@ -8109,6 +8600,20 @@ var ConnectionSyncApi = class extends BaseApiClient {
8109
8600
 
8110
8601
  // src/api/hubspot.ts
8111
8602
  var HubspotApi = class extends BaseApiClient {
8603
+ /**
8604
+ * Create the HubSpot connection shell (no credentials yet).
8605
+ *
8606
+ * First step of the guided setup flow: provisions the connection row so
8607
+ * the admin lands on the detail page where the OAuth callback URL is
8608
+ * shown — which they need to register their HubSpot app before they have
8609
+ * a Client ID / Secret to enter. Idempotent.
8610
+ */
8611
+ async installHubspot(wid) {
8612
+ return this.fetch(`w/${wid}/app-connections/hubspot/install`, {
8613
+ method: "POST",
8614
+ body: JSON.stringify({})
8615
+ });
8616
+ }
8112
8617
  async configureHubspot(wid, data) {
8113
8618
  return this.fetch(`w/${wid}/app-connections/hubspot/configure`, {
8114
8619
  method: "POST",
@@ -8383,19 +8888,28 @@ var SitesApi = class extends BaseApiClient {
8383
8888
  }
8384
8889
  );
8385
8890
  }
8386
- /** Verify a phone or email code and complete site authentication. */
8891
+ /**
8892
+ * Verify a phone or email code and complete site authentication.
8893
+ *
8894
+ * When the account has 2FA enrolled, the backend returns a temporary token
8895
+ * with ``requiresTwoFactor: true`` and this method does **not** mint full
8896
+ * session cookies — the caller must complete the 2FA challenge (same handoff
8897
+ * as public-site Google OAuth).
8898
+ */
8387
8899
  async siteVerifyCode(wid, siteUuid, code, phoneNumber, email) {
8388
8900
  const verifyResponse = await this.fetch(`s/${wid}/${siteUuid}/auth/verify`, {
8389
8901
  method: "POST",
8390
8902
  body: JSON.stringify({ code, phoneNumber, email })
8391
8903
  });
8392
- const completeResponse = await fetch(`/api/auth/complete`, {
8393
- method: "POST",
8394
- headers: { "Content-Type": "application/json" },
8395
- body: JSON.stringify({ token: verifyResponse.token })
8396
- });
8397
- if (!completeResponse.ok) {
8398
- throw new Error("Failed to complete authentication");
8904
+ if (!verifyResponse.requiresTwoFactor && verifyResponse.token) {
8905
+ const completeResponse = await fetch(`/api/auth/complete`, {
8906
+ method: "POST",
8907
+ headers: { "Content-Type": "application/json" },
8908
+ body: JSON.stringify({ token: verifyResponse.token })
8909
+ });
8910
+ if (!completeResponse.ok) {
8911
+ throw new Error("Failed to complete authentication");
8912
+ }
8399
8913
  }
8400
8914
  return verifyResponse;
8401
8915
  }
@@ -8566,11 +9080,11 @@ var SubscriptionsApi = class extends BaseApiClient {
8566
9080
  * customer, and subscription are created on payment by the checkout
8567
9081
  * completion handler.
8568
9082
  */
8569
- async createCheckoutSession(productId, planPeriod = "month") {
9083
+ async createCheckoutSession(productId, planPeriod = "month", options = {}) {
8570
9084
  return this.fetch(`subscriptions/checkout-session`, {
8571
9085
  method: "POST",
8572
9086
  credentials: "include",
8573
- body: JSON.stringify({ productId, planPeriod }),
9087
+ body: JSON.stringify({ productId, planPeriod, ...options }),
8574
9088
  headers: { "Content-Type": "application/json" }
8575
9089
  });
8576
9090
  }
@@ -8627,12 +9141,15 @@ var SubscriptionsApi = class extends BaseApiClient {
8627
9141
  return this.fetch(`subscriptions/${subscriptionId}/items`);
8628
9142
  }
8629
9143
  /** Purchase extra credits on a subscription (org-level). */
8630
- async purchaseCredits(subscriptionId, amountCents) {
9144
+ async purchaseCredits(subscriptionId, amountCents, idempotencyKey = crypto.randomUUID()) {
8631
9145
  return this.fetch(`subscriptions/${subscriptionId}/purchase-credits`, {
8632
9146
  method: "POST",
8633
9147
  credentials: "include",
8634
9148
  body: JSON.stringify({ amount_cents: amountCents }),
8635
- headers: { "Content-Type": "application/json" }
9149
+ headers: {
9150
+ "Content-Type": "application/json",
9151
+ "Idempotency-Key": idempotencyKey
9152
+ }
8636
9153
  });
8637
9154
  }
8638
9155
  };
@@ -8775,6 +9292,13 @@ var CustomersApi = class extends BaseApiClient {
8775
9292
  async getMyCustomerInvoices(uuid) {
8776
9293
  return this.fetch(`customers/${uuid}/invoices`);
8777
9294
  }
9295
+ async createMyCustomerPortalSession(uuid, returnUrl) {
9296
+ return this.fetch(`customers/${uuid}/stripe/portal-session`, {
9297
+ method: "POST",
9298
+ body: JSON.stringify({ returnUrl }),
9299
+ headers: { "Content-Type": "application/json" }
9300
+ });
9301
+ }
8778
9302
  async updateMyCustomer(uuid, data) {
8779
9303
  return this.fetch(`customers/${uuid}`, {
8780
9304
  method: "PUT",
@@ -8792,7 +9316,8 @@ var CustomersApi = class extends BaseApiClient {
8792
9316
  async attachMyCustomerPaymentMethod(uuid, paymentMethodId, setAsDefault = false) {
8793
9317
  return this.fetch(`customers/${uuid}/stripe/payment-methods/${paymentMethodId}/attach`, {
8794
9318
  method: "POST",
8795
- body: JSON.stringify({ setAsDefault })
9319
+ body: JSON.stringify({ setAsDefault }),
9320
+ headers: { "Content-Type": "application/json" }
8796
9321
  });
8797
9322
  }
8798
9323
  async detachMyCustomerPaymentMethod(uuid, paymentMethodId) {
@@ -8882,7 +9407,15 @@ var SupervisorsApi = class extends BaseApiClient {
8882
9407
 
8883
9408
  // src/api/tasks.ts
8884
9409
  var TasksApi = class extends BaseApiClient {
8885
- /** List all tasks in a workspace, optionally filtering by workflow or including archived. */
9410
+ /**
9411
+ * List all tasks in a workspace, optionally filtering by workflow or
9412
+ * including archived.
9413
+ *
9414
+ * `workflowId` is the STABLE workflow root id — the server resolves it to
9415
+ * that workflow's draft revision's tasks. `workflowRevisionId` filters an
9416
+ * explicit revision (the read-only published-revision view). Pass at most
9417
+ * one; passing both that disagree is a 400.
9418
+ */
8886
9419
  async getTasks(wid, options = {}) {
8887
9420
  const params = new URLSearchParams();
8888
9421
  if (options.includeArchived) {
@@ -8891,6 +9424,9 @@ var TasksApi = class extends BaseApiClient {
8891
9424
  if (options.workflowId) {
8892
9425
  params.append("workflow_id", options.workflowId.toString());
8893
9426
  }
9427
+ if (options.workflowRevisionId) {
9428
+ params.append("workflow_revision_id", options.workflowRevisionId.toString());
9429
+ }
8894
9430
  if (options.sortBy) {
8895
9431
  params.append("sortBy", options.sortBy);
8896
9432
  }
@@ -9245,11 +9781,18 @@ var JourneysApi = class extends BaseApiClient {
9245
9781
  // src/api/workflows.ts
9246
9782
  var WorkflowsApi = class extends BaseApiClient {
9247
9783
  /** List all workflows in a workspace, optionally including archived ones. */
9248
- async getWorkflows(wid, archived = false) {
9249
- const url = archived ? `w/${wid}/workflows?archived=true` : `w/${wid}/workflows`;
9250
- return this.fetch(url);
9784
+ async getWorkflows(wid, options = {}) {
9785
+ const params = new URLSearchParams();
9786
+ if (options.archived) params.set("archived", "true");
9787
+ if (options.page) params.set("page", String(options.page));
9788
+ if (options.pageSize) params.set("pageSize", String(options.pageSize));
9789
+ if (options.sortBy) params.set("sortBy", options.sortBy);
9790
+ if (options.sortOrder) params.set("sortOrder", options.sortOrder);
9791
+ if (options.search) params.set("search", options.search);
9792
+ const qs = params.toString();
9793
+ return this.fetch(`w/${wid}/workflows${qs ? `?${qs}` : ""}`);
9251
9794
  }
9252
- /** Get a single workflow by ID. */
9795
+ /** Get a single workflow by ID (root + draft + active-revision summary). */
9253
9796
  async getWorkflow(wid, id) {
9254
9797
  return this.fetch(`w/${wid}/workflows/${id}`);
9255
9798
  }
@@ -9297,7 +9840,7 @@ var WorkflowsApi = class extends BaseApiClient {
9297
9840
  body: JSON.stringify(workflow)
9298
9841
  });
9299
9842
  }
9300
- /** Update an existing workflow. */
9843
+ /** Update an existing workflow's draft revision. */
9301
9844
  async updateWorkflow(wid, id, workflow) {
9302
9845
  return this.fetch(`w/${wid}/workflows/${id}`, {
9303
9846
  method: "PUT",
@@ -9318,13 +9861,15 @@ var WorkflowsApi = class extends BaseApiClient {
9318
9861
  /** Archive a workflow. */
9319
9862
  async archiveWorkflow(wid, id) {
9320
9863
  return this.fetch(`w/${wid}/workflows/${id}/archive`, {
9321
- method: "POST"
9864
+ method: "POST",
9865
+ body: JSON.stringify({})
9322
9866
  });
9323
9867
  }
9324
9868
  /** Unarchive a previously archived workflow. */
9325
9869
  async unarchiveWorkflow(wid, id) {
9326
9870
  return this.fetch(`w/${wid}/workflows/${id}/unarchive`, {
9327
- method: "POST"
9871
+ method: "POST",
9872
+ body: JSON.stringify({})
9328
9873
  });
9329
9874
  }
9330
9875
  /** Clone a workflow with a new name. */
@@ -9340,16 +9885,20 @@ var WorkflowsApi = class extends BaseApiClient {
9340
9885
  }
9341
9886
  /** Create a new workflow from a template. */
9342
9887
  async createWorkflowFromTemplate(wid, templateUuid, data) {
9343
- return this.fetch(`w/${wid}/workflows/templates/${templateUuid}/create-workflow`, {
9344
- method: "POST",
9345
- body: JSON.stringify(data)
9346
- });
9888
+ return this.fetch(
9889
+ `w/${wid}/workflows/templates/${templateUuid}/create-workflow`,
9890
+ {
9891
+ method: "POST",
9892
+ body: JSON.stringify(data)
9893
+ }
9894
+ );
9347
9895
  }
9348
9896
  /** Get task assignment statistics for a workflow within an optional date range. */
9349
- async getWorkflowTaskAssignmentStats(wid, id, fromDate, toDate) {
9897
+ async getWorkflowTaskAssignmentStats(wid, id, fromDate, toDate, workflowRevisionId) {
9350
9898
  const params = new URLSearchParams();
9351
9899
  if (fromDate) params.append("from_date", fromDate);
9352
9900
  if (toDate) params.append("to_date", toDate);
9901
+ if (workflowRevisionId) params.append("workflowRevisionId", String(workflowRevisionId));
9353
9902
  return this.fetch(
9354
9903
  `w/${wid}/workflows/${id}/task-assignment-stats?${params.toString()}`
9355
9904
  );
@@ -9399,6 +9948,24 @@ var WorkflowsApi = class extends BaseApiClient {
9399
9948
  `w/${wid}/workflows/${workflowId}/route-dry-run?${params.toString()}`
9400
9949
  );
9401
9950
  }
9951
+ // Workflow Feedback API
9952
+ /**
9953
+ * List chat feedback for a workflow (thumbs ratings + explicit/extracted rows).
9954
+ * First consumer of the workspace-plane chat_feedback table.
9955
+ */
9956
+ async getWorkflowFeedback(wid, workflowId, options = {}) {
9957
+ const params = new URLSearchParams();
9958
+ if (options.page != null) params.set("page", String(options.page));
9959
+ if (options.pageSize != null) params.set("pageSize", String(options.pageSize));
9960
+ if (options.source) params.set("source", options.source);
9961
+ if (options.rating) params.set("rating", options.rating);
9962
+ if (options.authorKind) params.set("authorKind", options.authorKind);
9963
+ if (options.includeTest != null) params.set("includeTest", String(options.includeTest));
9964
+ const qs = params.toString();
9965
+ return this.fetch(
9966
+ `w/${wid}/workflows/${workflowId}/feedback${qs ? `?${qs}` : ""}`
9967
+ );
9968
+ }
9402
9969
  // Workflow Contributors API
9403
9970
  /** List all contributors for a workflow. */
9404
9971
  async getWorkflowContributors(wid, workflowId) {
@@ -9464,58 +10031,80 @@ var WorkflowsApi = class extends BaseApiClient {
9464
10031
  body: JSON.stringify({ name })
9465
10032
  });
9466
10033
  }
9467
- // Workflow Versions API
9468
- /** List all versions of a workflow. */
9469
- async getWorkflowVersions(wid, workflowUuid) {
9470
- return this.fetch(`w/${wid}/workflows/${workflowUuid}/versions`);
9471
- }
9472
- /** Get the active version of a workflow. */
9473
- async getWorkflowVersionActive(wid, workflowUuid) {
9474
- return this.fetch(
9475
- `w/${wid}/workflows/${workflowUuid}/versions/active`
9476
- );
10034
+ /** List relational revisions for a workflow. */
10035
+ async getWorkflowRevisions(wid, workflowId) {
10036
+ return this.fetch(`w/${wid}/workflows/${workflowId}/revisions`);
9477
10037
  }
9478
- /** Get a specific version of a workflow by version number. */
9479
- async getWorkflowVersion(wid, workflowUuid, versionNumber) {
10038
+ /** Get full workflow details for one relational workflow revision. */
10039
+ async getWorkflowRevision(wid, workflowId, revisionId) {
9480
10040
  return this.fetch(
9481
- `w/${wid}/workflows/${workflowUuid}/versions/${versionNumber}`
10041
+ `w/${wid}/workflows/${workflowId}/revisions/${revisionId}`
9482
10042
  );
9483
10043
  }
9484
- /** Publish the live workflow as a new immutable version. */
9485
- async publishWorkflowVersion(wid, workflowUuid, data) {
9486
- return this.fetch(`w/${wid}/workflows/${workflowUuid}/versions`, {
10044
+ /** Freeze the workflow's draft as a published revision and clone a fresh draft.
10045
+ *
10046
+ * By default the just-published revision becomes the active revision —
10047
+ * live traffic flips to it immediately. Pass `setActive: false` to
10048
+ * publish without flipping live traffic (advanced flow).
10049
+ */
10050
+ async publishWorkflowRevision(wid, workflowId, data = {}) {
10051
+ return this.fetch(`w/${wid}/workflows/${workflowId}/publish`, {
9487
10052
  method: "POST",
9488
10053
  body: JSON.stringify(data)
9489
10054
  });
9490
10055
  }
9491
- async updateWorkflowVersion(wid, workflowUuid, versionNumber, data) {
10056
+ /** Point the workflow's active pointer at a chosen revision (pointer flip only).
10057
+ *
10058
+ * The target may be any of the workflow's published revisions.
10059
+ * Activating the draft requires `allowDraft: true` and a UI warning
10060
+ * confirmation.
10061
+ */
10062
+ async activateWorkflowRevision(wid, workflowId, revisionId, data = {}) {
9492
10063
  return this.fetch(
9493
- `w/${wid}/workflows/${workflowUuid}/versions/${versionNumber}`,
9494
- { method: "PATCH", body: JSON.stringify(data) }
10064
+ `w/${wid}/workflows/${workflowId}/revisions/${revisionId}/activate`,
10065
+ {
10066
+ method: "POST",
10067
+ body: JSON.stringify(data)
10068
+ }
9495
10069
  );
9496
10070
  }
9497
- /** Activate a published version. */
9498
- async activateWorkflowVersion(wid, workflowUuid, versionNumber) {
10071
+ /** Update a revision's curation metadata (label + publish notes).
10072
+ *
10073
+ * Applies to both the draft and published revisions; it is not a graph
10074
+ * change, so it never marks the draft dirty.
10075
+ */
10076
+ async updateWorkflowRevisionMetadata(wid, workflowId, revisionId, data) {
9499
10077
  return this.fetch(
9500
- `w/${wid}/workflows/${workflowUuid}/versions/${versionNumber}/activate`,
10078
+ `w/${wid}/workflows/${workflowId}/revisions/${revisionId}`,
9501
10079
  {
9502
- method: "POST"
10080
+ method: "PATCH",
10081
+ body: JSON.stringify(data)
9503
10082
  }
9504
10083
  );
9505
10084
  }
9506
- /** Deactivate a published version. */
9507
- async deactivateWorkflowVersion(wid, workflowUuid, versionNumber) {
10085
+ /** Compare two revisions of the same workflow.
10086
+ *
10087
+ * `against` is a revision id or UUID; when omitted the diff compares the
10088
+ * named revision against the workflow's draft. Tasks are matched by
10089
+ * stable lineage, so a rename reads as a changed `name` field.
10090
+ */
10091
+ async diffWorkflowRevisions(wid, workflowId, revisionId, against) {
10092
+ const qs = against !== void 0 ? `?against=${encodeURIComponent(String(against))}` : "";
9508
10093
  return this.fetch(
9509
- `w/${wid}/workflows/${workflowUuid}/versions/${versionNumber}/deactivate`,
9510
- {
9511
- method: "POST"
9512
- }
10094
+ `w/${wid}/workflows/${workflowId}/revisions/${revisionId}/diff${qs}`
9513
10095
  );
9514
10096
  }
9515
- /** Compare two workflow versions (0 = draft). */
9516
- async diffWorkflowVersions(wid, workflowUuid, fromVersion, toVersion) {
10097
+ /** Branch a published revision into the workflow's draft ("edit this
10098
+ * revision"): the draft becomes a fresh clone of the named published
10099
+ * revision. Pass `discardDraftChanges` to replace a dirty draft.
10100
+ */
10101
+ async editWorkflowRevisionAsDraft(wid, workflowId, revisionId, data = {}) {
9517
10102
  return this.fetch(
9518
- `w/${wid}/workflows/${workflowUuid}/versions/diff?from=${fromVersion}&to=${toVersion}`
10103
+ `w/${wid}/workflows/${workflowId}/revisions/${revisionId}/edit`,
10104
+ {
10105
+ method: "POST",
10106
+ body: JSON.stringify(data)
10107
+ }
9519
10108
  );
9520
10109
  }
9521
10110
  };
@@ -9833,6 +10422,35 @@ var WorkspacesApi = class extends BaseApiClient {
9833
10422
  async getWorkspaceSiteDomains(wid) {
9834
10423
  return this.fetch(`w/${wid}/domains/for-site`);
9835
10424
  }
10425
+ /**
10426
+ * List org domains available for enabling embeddable widgets. Widgets ride
10427
+ * on domain-ownership verification only, so the consumer gates selection on
10428
+ * `ownershipStatus === 'verified'`.
10429
+ */
10430
+ async getWorkspaceWidgetDomains(wid) {
10431
+ return this.fetch(`w/${wid}/domains/for-widget`);
10432
+ }
10433
+ /** List this workspace's widget-domain enablement entries. */
10434
+ async listWidgetDomains(wid) {
10435
+ return this.fetch(`w/${wid}/widget-domains`);
10436
+ }
10437
+ /**
10438
+ * Enable/replace the set of widgets on one verified org domain. Idempotent
10439
+ * upsert keyed by `orgDomainUuid`; the server rejects unverified domains
10440
+ * (400) and cross-org domains (404).
10441
+ */
10442
+ async upsertWidgetDomain(wid, orgDomainUuid, body) {
10443
+ return this.fetch(`w/${wid}/widget-domains/${orgDomainUuid}`, {
10444
+ method: "PUT",
10445
+ body: JSON.stringify(body)
10446
+ });
10447
+ }
10448
+ /** Remove this workspace's widget entry for a domain (disables all widgets). */
10449
+ async deleteWidgetDomain(wid, orgDomainUuid) {
10450
+ await this.fetch(`w/${wid}/widget-domains/${orgDomainUuid}`, {
10451
+ method: "DELETE"
10452
+ });
10453
+ }
9836
10454
  /** List client workspaces managed by this reseller workspace, paginated. */
9837
10455
  async getResellerWorkspaces(wid, params) {
9838
10456
  const query = new URLSearchParams();
@@ -9992,7 +10610,7 @@ var WorkspacesApi = class extends BaseApiClient {
9992
10610
  /**
9993
10611
  * Get billing dashboard data for a workspace.
9994
10612
  *
9995
- * This endpoint is available to organization owners (with org:billing scope).
10613
+ * This endpoint is available to organization owners (with org:info scope).
9996
10614
  * Superusers should use the admin endpoint via getWorkspaceUsageDashboard.
9997
10615
  *
9998
10616
  * Returns comprehensive billing information including:
@@ -10026,6 +10644,7 @@ function createApiModules(apiKey, baseUrl, customFetch) {
10026
10644
  customers: new CustomersApi(apiKey, baseUrl, customFetch),
10027
10645
  resellers: new ResellersApi(apiKey, baseUrl, customFetch),
10028
10646
  customToolkits: new CustomToolkitsApi(apiKey, baseUrl, customFetch),
10647
+ dashboards: new DashboardsApi(apiKey, baseUrl, customFetch),
10029
10648
  dataTypes: new DataTypesApi(apiKey, baseUrl, customFetch),
10030
10649
  discordBots: new DiscordBotsApi(apiKey, baseUrl, customFetch),
10031
10650
  slackApps: new SlackAppsApi(apiKey, baseUrl, customFetch),
@@ -10046,6 +10665,7 @@ function createApiModules(apiKey, baseUrl, customFetch) {
10046
10665
  mcpServers: new McpServersApi(apiKey, baseUrl, customFetch),
10047
10666
  members: new MembersApi(apiKey, baseUrl, customFetch),
10048
10667
  milestones: new MilestonesApi(apiKey, baseUrl, customFetch),
10668
+ motd: new MotdApi(apiKey, baseUrl, customFetch),
10049
10669
  confluence: new ConfluenceApi(apiKey, baseUrl, customFetch),
10050
10670
  mondayIntegration: new MondayIntegrationApi(apiKey, baseUrl, customFetch),
10051
10671
  notificationRules: new NotificationRulesApi(apiKey, baseUrl, customFetch),
@@ -10078,7 +10698,7 @@ function createApiModules(apiKey, baseUrl, customFetch) {
10078
10698
 
10079
10699
  // src/client/workspace-client.ts
10080
10700
  var WORKSPACE_METHOD_NAMES = [
10081
- "activateWorkflowVersion",
10701
+ "activateWorkflowRevision",
10082
10702
  "addGroupMember",
10083
10703
  "advanceStep",
10084
10704
  "approveWorkspaceInvitation",
@@ -10141,6 +10761,7 @@ var WORKSPACE_METHOD_NAMES = [
10141
10761
  "createCustomTool",
10142
10762
  "createCustomToolkit",
10143
10763
  "createDataRecord",
10764
+ "createDataRecordFilter",
10144
10765
  "createDataType",
10145
10766
  "createDiscordBot",
10146
10767
  "createEventRule",
@@ -10148,7 +10769,6 @@ var WORKSPACE_METHOD_NAMES = [
10148
10769
  "createExperiment",
10149
10770
  "createExperimentAssignment",
10150
10771
  "createExperimentGroup",
10151
- "convertMemberFilterToQuery",
10152
10772
  "createFhirConnection",
10153
10773
  "createFile",
10154
10774
  "createFileLabel",
@@ -10188,7 +10808,6 @@ var WORKSPACE_METHOD_NAMES = [
10188
10808
  "createWorkflowOutboundVoiceChat",
10189
10809
  "createWorkspaceMember",
10190
10810
  "createWorkspaceSupportRequest",
10191
- "deactivateWorkflowVersion",
10192
10811
  "deleteAbility",
10193
10812
  "deleteAgent",
10194
10813
  "deleteAssignment",
@@ -10204,6 +10823,7 @@ var WORKSPACE_METHOD_NAMES = [
10204
10823
  "deleteCustomTool",
10205
10824
  "deleteCustomToolkit",
10206
10825
  "deleteDataRecord",
10826
+ "deleteDataRecordFilter",
10207
10827
  "deleteDataType",
10208
10828
  "deleteDiscordBot",
10209
10829
  "deleteEnrollment",
@@ -10246,6 +10866,7 @@ var WORKSPACE_METHOD_NAMES = [
10246
10866
  "deleteSupervisor",
10247
10867
  "deleteTask",
10248
10868
  "deleteTeamsApp",
10869
+ "deleteWidgetDomain",
10249
10870
  "deleteWorkflow",
10250
10871
  "deleteWorkflowContributor",
10251
10872
  "deleteWorkflowNote",
@@ -10253,7 +10874,7 @@ var WORKSPACE_METHOD_NAMES = [
10253
10874
  "deleteWorkspaceInvitationAdmin",
10254
10875
  "denyWorkspaceInvitation",
10255
10876
  "describeSalesforceObject",
10256
- "diffWorkflowVersions",
10877
+ "diffWorkflowRevisions",
10257
10878
  "disableConfluence",
10258
10879
  "disableCustomToolkit",
10259
10880
  "disableHubspot",
@@ -10269,6 +10890,7 @@ var WORKSPACE_METHOD_NAMES = [
10269
10890
  "dismissAllNotifications",
10270
10891
  "dismissNotification",
10271
10892
  "downloadEmailAttachment",
10893
+ "editWorkflowRevisionAsDraft",
10272
10894
  "enableConfluence",
10273
10895
  "enableCustomToolkit",
10274
10896
  "enableHubspot",
@@ -10347,6 +10969,7 @@ var WORKSPACE_METHOD_NAMES = [
10347
10969
  "getCalendarSchedules",
10348
10970
  "getCalendars",
10349
10971
  "getCelContext",
10972
+ "getCharlestonTestDeliveryRecipients",
10350
10973
  "getChat",
10351
10974
  "getChatAssignmentTasks",
10352
10975
  "getChatCallbacks",
@@ -10380,6 +11003,9 @@ var WORKSPACE_METHOD_NAMES = [
10380
11003
  "getCustomToolkits",
10381
11004
  "getDataRecord",
10382
11005
  "getDataRecordChanges",
11006
+ "getDataRecordFilter",
11007
+ "getDataRecordFilterCount",
11008
+ "getDataRecordFilters",
10383
11009
  "getDataRecords",
10384
11010
  "getDataType",
10385
11011
  "getDataTypeByUuid",
@@ -10403,16 +11029,20 @@ var WORKSPACE_METHOD_NAMES = [
10403
11029
  "getFhirConnections",
10404
11030
  "getFieldIndexStatus",
10405
11031
  "getFile",
11032
+ "resolveFilePath",
10406
11033
  "getFileLabel",
10407
11034
  "getFileLabelByUuid",
10408
11035
  "getFileLabels",
10409
11036
  "getFileSharing",
11037
+ "getFileVersionContentsUrl",
11038
+ "getFileVersionDiff",
10410
11039
  "getFiles",
10411
11040
  "getFirstRunState",
10412
11041
  "getFolder",
10413
11042
  "getFolderSharing",
10414
11043
  "getFolders",
10415
11044
  "getGoogleCalendarStatus",
11045
+ "getGranteeGrants",
10416
11046
  "getHealthieAvailableSlots",
10417
11047
  "getHealthieReconciliationMatches",
10418
11048
  "getHealthieStatus",
@@ -10458,6 +11088,7 @@ var WORKSPACE_METHOD_NAMES = [
10458
11088
  "getMemberLabelByUuid",
10459
11089
  "getMemberLabels",
10460
11090
  "getMemberMemories",
11091
+ "getMemberMemory",
10461
11092
  "getMemberRecordCounts",
10462
11093
  "getMemberRole",
10463
11094
  "getMemberRoleByUuid",
@@ -10506,6 +11137,7 @@ var WORKSPACE_METHOD_NAMES = [
10506
11137
  "getPublicProducts",
10507
11138
  "getQualification",
10508
11139
  "getQualifications",
11140
+ "getRecordingInfo",
10509
11141
  "getResellerWorkspaces",
10510
11142
  "getRoutine",
10511
11143
  "getRoutineRuns",
@@ -10560,17 +11192,17 @@ var WORKSPACE_METHOD_NAMES = [
10560
11192
  "getWorkflowAccessValidation",
10561
11193
  "getWorkflowActivity",
10562
11194
  "getWorkflowConfigValidation",
11195
+ "getWorkflowFeedback",
10563
11196
  "getWorkflowContributors",
10564
11197
  "getWorkflowDeletionPreview",
10565
11198
  "getWorkflowDiagram",
10566
11199
  "getWorkflowNotes",
11200
+ "getWorkflowRevision",
11201
+ "getWorkflowRevisions",
10567
11202
  "getWorkflowRouteDryRun",
10568
11203
  "getWorkflowTaskAssignmentStats",
10569
11204
  "getWorkflowTemplates",
10570
11205
  "getWorkflowThumbnailUrl",
10571
- "getWorkflowVersion",
10572
- "getWorkflowVersionActive",
10573
- "getWorkflowVersions",
10574
11206
  "getWorkflows",
10575
11207
  "getWorkflowsActivityBatch",
10576
11208
  "getWorkspace",
@@ -10584,6 +11216,7 @@ var WORKSPACE_METHOD_NAMES = [
10584
11216
  "getWorkspaceNotices",
10585
11217
  "getWorkspaceProduct",
10586
11218
  "getWorkspaceSiteDomains",
11219
+ "getWorkspaceWidgetDomains",
10587
11220
  "getWorkspaceSubscriptions",
10588
11221
  "getWorkspaceSupportRequest",
10589
11222
  "getWorkspaceThemes",
@@ -10595,6 +11228,9 @@ var WORKSPACE_METHOD_NAMES = [
10595
11228
  "initiateCall",
10596
11229
  "initiateOutboundCall",
10597
11230
  "inspectPrompt",
11231
+ "installHubspot",
11232
+ "installMondayConnection",
11233
+ "installSalesforce",
10598
11234
  "inviteMemberCredentialUpdate",
10599
11235
  "inviteToWorkspace",
10600
11236
  "leaveWorkspace",
@@ -10606,13 +11242,13 @@ var WORKSPACE_METHOD_NAMES = [
10606
11242
  "linkMemberToSalesforce",
10607
11243
  "linkPhoneNumber",
10608
11244
  "listAbilities",
10609
- "listAgentAbilities",
10610
11245
  "listAppConnections",
10611
11246
  "listAvailableAppConnections",
10612
11247
  "listConfluencePages",
10613
11248
  "listConfluenceSpaces",
10614
11249
  "listConnectionMemberFieldKeys",
10615
11250
  "setDefaultGooglePlatformAccount",
11251
+ "listFileVersions",
10616
11252
  "listGoogleCalendars",
10617
11253
  "listHealthieAppointmentTypes",
10618
11254
  "listHealthiePatients",
@@ -10622,6 +11258,7 @@ var WORKSPACE_METHOD_NAMES = [
10622
11258
  "listScenarios",
10623
11259
  "listSnippets",
10624
11260
  "listTestChatRuns",
11261
+ "listWidgetDomains",
10625
11262
  "listWorkspaceInvitationsAdmin",
10626
11263
  "listWorkspaceSupportRequests",
10627
11264
  "markEmailAsRead",
@@ -10629,14 +11266,16 @@ var WORKSPACE_METHOD_NAMES = [
10629
11266
  "markNotificationAsRead",
10630
11267
  "previewImportMembers",
10631
11268
  "previewImportWorkspace",
11269
+ "previewRoutineWorkflowAccess",
10632
11270
  "previewSchedule",
10633
11271
  "previewTTS",
10634
11272
  "previewTemplate",
10635
11273
  "previewThinkingSound",
10636
11274
  "previewWorkspaceImport",
10637
11275
  "provisionClientWorkspace",
10638
- "publishWorkflowVersion",
11276
+ "publishWorkflowRevision",
10639
11277
  "rateMessage",
11278
+ "getChatFeedback",
10640
11279
  "reenrollMember",
10641
11280
  "registerLinkedRolesMetadata",
10642
11281
  "registerPushSubscription",
@@ -10653,8 +11292,8 @@ var WORKSPACE_METHOD_NAMES = [
10653
11292
  "requestWorkspaceMembership",
10654
11293
  "resetRoutineRuns",
10655
11294
  "resolveAccessGrant",
10656
- "resolveAgentTools",
10657
11295
  "resolveAnonymousMember",
11296
+ "restoreFileVersion",
10658
11297
  "revokeAccessGrant",
10659
11298
  "revokeApiKey",
10660
11299
  "revokeICalToken",
@@ -10720,6 +11359,7 @@ var WORKSPACE_METHOD_NAMES = [
10720
11359
  "updateCustomTool",
10721
11360
  "updateCustomToolkit",
10722
11361
  "updateDataRecord",
11362
+ "updateDataRecordFilter",
10723
11363
  "updateDataType",
10724
11364
  "updateDiscordBot",
10725
11365
  "updateEventAttendee",
@@ -10772,12 +11412,13 @@ var WORKSPACE_METHOD_NAMES = [
10772
11412
  "updateWorkflow",
10773
11413
  "updateWorkflowContributor",
10774
11414
  "updateWorkflowNote",
10775
- "updateWorkflowVersion",
11415
+ "updateWorkflowRevisionMetadata",
10776
11416
  "updateWorkspace",
10777
11417
  "updateWorkspaceDefaults",
10778
11418
  "updateWorkspaceInvitationAdmin",
10779
11419
  "updateWorkspaceThemes",
10780
11420
  "upsertDataRecord",
11421
+ "upsertWidgetDomain",
10781
11422
  "validateDataTypeSlug",
10782
11423
  "validateWorkflowName"
10783
11424
  ];
@@ -10809,6 +11450,7 @@ function bindAccessGrantsMethods(target, accessGrants) {
10809
11450
  target.revokeAccessGrant = accessGrants.revokeAccessGrant.bind(accessGrants);
10810
11451
  target.getAccessGrants = accessGrants.getAccessGrants.bind(accessGrants);
10811
11452
  target.getMemberGrants = accessGrants.getMemberGrants.bind(accessGrants);
11453
+ target.getGranteeGrants = accessGrants.getGranteeGrants.bind(accessGrants);
10812
11454
  }
10813
11455
 
10814
11456
  // src/client/bindings/agent-tasks.ts
@@ -10828,8 +11470,6 @@ function bindAgentsMethods(target, agents) {
10828
11470
  target.deleteAgent = agents.deleteAgent.bind(agents);
10829
11471
  target.archiveAgent = agents.archiveAgent.bind(agents);
10830
11472
  target.unarchiveAgent = agents.unarchiveAgent.bind(agents);
10831
- target.resolveAgentTools = agents.resolveAgentTools.bind(agents);
10832
- target.listAgentAbilities = agents.listAgentAbilities.bind(agents);
10833
11473
  }
10834
11474
 
10835
11475
  // src/client/bindings/tasks.ts
@@ -10848,6 +11488,7 @@ function bindTasksMethods(target, tasks, abilities) {
10848
11488
  target.createAbility = abilities.createAbility.bind(abilities);
10849
11489
  target.updateAbility = abilities.updateAbility.bind(abilities);
10850
11490
  target.deleteAbility = abilities.deleteAbility.bind(abilities);
11491
+ target.getCharlestonTestDeliveryRecipients = abilities.getCharlestonTestDeliveryRecipients.bind(abilities);
10851
11492
  }
10852
11493
 
10853
11494
  // src/client/bindings/chats.ts
@@ -10868,6 +11509,8 @@ function bindChatsMethods(target, chats) {
10868
11509
  target.createWorkflowOutboundVoiceChat = chats.createWorkflowOutboundVoiceChat.bind(chats);
10869
11510
  target.deleteChat = chats.deleteChat.bind(chats);
10870
11511
  target.updateChat = chats.updateChat.bind(chats);
11512
+ target.getChatModelOverride = chats.getChatModelOverride.bind(chats);
11513
+ target.updateChatModelOverride = chats.updateChatModelOverride.bind(chats);
10871
11514
  target.updateChatMute = chats.updateChatMute.bind(chats);
10872
11515
  target.updateChatNeedsResponse = chats.updateChatNeedsResponse.bind(chats);
10873
11516
  target.summarizeChat = chats.summarizeChat.bind(chats);
@@ -10877,6 +11520,7 @@ function bindChatsMethods(target, chats) {
10877
11520
  target.initiateOutboundCall = chats.initiateOutboundCall.bind(chats);
10878
11521
  target.sendAssistantMessage = chats.sendAssistantMessage.bind(chats);
10879
11522
  target.rateMessage = chats.rateMessage.bind(chats);
11523
+ target.getChatFeedback = chats.getChatFeedback.bind(chats);
10880
11524
  target.getChatAssignmentTasks = chats.getChatAssignmentTasks.bind(chats);
10881
11525
  target.createChatCompletion = chats.createChatCompletion.bind(chats);
10882
11526
  target.exportChats = chats.exportChats.bind(chats);
@@ -10905,11 +11549,28 @@ function bindCallsMethods(target, calls, cel) {
10905
11549
  target.initiateCall = calls.initiateCall.bind(calls);
10906
11550
  target.getVoiceToken = calls.getVoiceToken.bind(calls);
10907
11551
  target.getMessageTiming = calls.getMessageTiming.bind(calls);
11552
+ target.getRecordingInfo = calls.getRecordingInfo.bind(calls);
10908
11553
  target.listChatRecordings = calls.listChatRecordings.bind(calls);
10909
11554
  target.getCallRecordingDownloadUrl = calls.getCallRecordingDownloadUrl.bind(calls);
10910
11555
  target.getCelContext = cel.getCelContext.bind(cel);
10911
11556
  }
10912
11557
 
11558
+ // src/client/bindings/dashboards.ts
11559
+ function bindDashboardsMethods(target, dashboards) {
11560
+ target.getDashboards = dashboards.getDashboards.bind(dashboards);
11561
+ target.getDashboard = dashboards.getDashboard.bind(dashboards);
11562
+ target.createDashboard = dashboards.createDashboard.bind(dashboards);
11563
+ target.updateDashboard = dashboards.updateDashboard.bind(dashboards);
11564
+ target.deleteDashboard = dashboards.deleteDashboard.bind(dashboards);
11565
+ target.getDashboardChannelStats = dashboards.getDashboardChannelStats.bind(dashboards);
11566
+ target.getDashboardWorkflowAssignmentStats = dashboards.getDashboardWorkflowAssignmentStats.bind(dashboards);
11567
+ }
11568
+
11569
+ // src/client/bindings/motd.ts
11570
+ function bindMotdMethods(target, motd) {
11571
+ target.getMotd = motd.getMotd.bind(motd);
11572
+ }
11573
+
10913
11574
  // src/client/bindings/data-types.ts
10914
11575
  function bindDataTypesMethods(target, dataTypes) {
10915
11576
  target.getDataTypes = dataTypes.getDataTypes.bind(dataTypes);
@@ -10933,6 +11594,12 @@ function bindDataTypesMethods(target, dataTypes) {
10933
11594
  target.getFieldIndexStatus = dataTypes.getFieldIndexStatus.bind(dataTypes);
10934
11595
  target.validateDataTypeSlug = dataTypes.validateDataTypeSlug.bind(dataTypes);
10935
11596
  target.getMemberRecordCounts = dataTypes.getMemberRecordCounts.bind(dataTypes);
11597
+ target.getDataRecordFilters = dataTypes.getDataRecordFilters.bind(dataTypes);
11598
+ target.getDataRecordFilter = dataTypes.getDataRecordFilter.bind(dataTypes);
11599
+ target.createDataRecordFilter = dataTypes.createDataRecordFilter.bind(dataTypes);
11600
+ target.updateDataRecordFilter = dataTypes.updateDataRecordFilter.bind(dataTypes);
11601
+ target.deleteDataRecordFilter = dataTypes.deleteDataRecordFilter.bind(dataTypes);
11602
+ target.getDataRecordFilterCount = dataTypes.getDataRecordFilterCount.bind(dataTypes);
10936
11603
  }
10937
11604
 
10938
11605
  // src/client/bindings/members.ts
@@ -10959,7 +11626,6 @@ function bindMembersMethods(target, members) {
10959
11626
  target.getMemberFilter = members.getMemberFilter.bind(members);
10960
11627
  target.createMemberFilter = members.createMemberFilter.bind(members);
10961
11628
  target.updateMemberFilter = members.updateMemberFilter.bind(members);
10962
- target.convertMemberFilterToQuery = members.convertMemberFilterToQuery.bind(members);
10963
11629
  target.deleteMemberFilter = members.deleteMemberFilter.bind(members);
10964
11630
  target.getMemberFilterCount = members.getMemberFilterCount.bind(members);
10965
11631
  target.getMemberLabels = members.getMemberLabels.bind(members);
@@ -10987,6 +11653,7 @@ function bindMembersMethods(target, members) {
10987
11653
  target.resolveAnonymousMember = members.resolveAnonymousMember.bind(members);
10988
11654
  target.expireAnonymousMember = members.expireAnonymousMember.bind(members);
10989
11655
  target.getMemberMemories = members.getMemberMemories.bind(members);
11656
+ target.getMemberMemory = members.getMemberMemory.bind(members);
10990
11657
  target.createMemberMemory = members.createMemberMemory.bind(members);
10991
11658
  target.deleteMemberMemory = members.deleteMemberMemory.bind(members);
10992
11659
  target.getMemberSyncLinks = members.getMemberSyncLinks.bind(members);
@@ -11044,6 +11711,10 @@ function bindWorkspacesMethods(target, workspaces, signupRequests) {
11044
11711
  target.listPushSubscriptions = workspaces.listPushSubscriptions.bind(workspaces);
11045
11712
  target.getWorkspaceEmailDomains = workspaces.getWorkspaceEmailDomains.bind(workspaces);
11046
11713
  target.getWorkspaceSiteDomains = workspaces.getWorkspaceSiteDomains.bind(workspaces);
11714
+ target.getWorkspaceWidgetDomains = workspaces.getWorkspaceWidgetDomains.bind(workspaces);
11715
+ target.listWidgetDomains = workspaces.listWidgetDomains.bind(workspaces);
11716
+ target.upsertWidgetDomain = workspaces.upsertWidgetDomain.bind(workspaces);
11717
+ target.deleteWidgetDomain = workspaces.deleteWidgetDomain.bind(workspaces);
11047
11718
  target.listWorkspaceInvitations = signupRequests.listWorkspaceInvitations.bind(signupRequests);
11048
11719
  target.listWorkspaceInvitationsAdmin = signupRequests.listWorkspaceInvitationsAdmin.bind(signupRequests);
11049
11720
  target.getWorkspaceInvitation = signupRequests.getWorkspaceInvitation.bind(signupRequests);
@@ -11063,6 +11734,7 @@ function bindWorkspacesMethods(target, workspaces, signupRequests) {
11063
11734
  function bindAuthMethods(target, auth, assignments) {
11064
11735
  target.getUserAccount = auth.getUserAccount.bind(auth);
11065
11736
  target.updateUserAccount = auth.updateUserAccount.bind(auth);
11737
+ target.recordAcquisition = auth.recordAcquisition.bind(auth);
11066
11738
  target.login = auth.login.bind(auth);
11067
11739
  target.resendCode = auth.resendCode.bind(auth);
11068
11740
  target.verifyCodeWith2FA = auth.verifyCodeWith2FA.bind(auth);
@@ -11173,6 +11845,11 @@ function bindFilesMethods(target, files) {
11173
11845
  target.uploadFile = files.uploadFile.bind(files);
11174
11846
  target.updateFile = files.updateFile.bind(files);
11175
11847
  target.deleteFile = files.deleteFile.bind(files);
11848
+ target.resolveFilePath = files.resolveFilePath.bind(files);
11849
+ target.listFileVersions = files.listFileVersions.bind(files);
11850
+ target.getFileVersionDiff = files.getFileVersionDiff.bind(files);
11851
+ target.restoreFileVersion = files.restoreFileVersion.bind(files);
11852
+ target.getFileVersionContentsUrl = files.getFileVersionContentsUrl.bind(files);
11176
11853
  target.convertFile = files.convertFile.bind(files);
11177
11854
  target.generateFileUploadUrl = files.generateFileUploadUrl.bind(files);
11178
11855
  target.getFolders = files.getFolders.bind(files);
@@ -11223,6 +11900,7 @@ function bindEventsMethods(target, events) {
11223
11900
  target.getRoutineRuns = events.getRoutineRuns.bind(events);
11224
11901
  target.resetRoutineRuns = events.resetRoutineRuns.bind(events);
11225
11902
  target.previewSchedule = events.previewSchedule.bind(events);
11903
+ target.previewRoutineWorkflowAccess = events.previewRoutineWorkflowAccess.bind(events);
11226
11904
  }
11227
11905
 
11228
11906
  // src/client/bindings/experiments.ts
@@ -11267,18 +11945,18 @@ function bindWorkflowsMethods(target, workflows, workflowNotes, voice, superviso
11267
11945
  target.createWorkflowNote = workflowNotes.createWorkflowNote.bind(workflowNotes);
11268
11946
  target.updateWorkflowNote = workflowNotes.updateWorkflowNote.bind(workflowNotes);
11269
11947
  target.deleteWorkflowNote = workflowNotes.deleteWorkflowNote.bind(workflowNotes);
11948
+ target.getWorkflowFeedback = workflows.getWorkflowFeedback.bind(workflows);
11270
11949
  target.getWorkflowContributors = workflows.getWorkflowContributors.bind(workflows);
11271
11950
  target.createWorkflowContributor = workflows.createWorkflowContributor.bind(workflows);
11272
11951
  target.updateWorkflowContributor = workflows.updateWorkflowContributor.bind(workflows);
11273
11952
  target.deleteWorkflowContributor = workflows.deleteWorkflowContributor.bind(workflows);
11274
- target.getWorkflowVersions = workflows.getWorkflowVersions.bind(workflows);
11275
- target.getWorkflowVersionActive = workflows.getWorkflowVersionActive.bind(workflows);
11276
- target.getWorkflowVersion = workflows.getWorkflowVersion.bind(workflows);
11277
- target.publishWorkflowVersion = workflows.publishWorkflowVersion.bind(workflows);
11278
- target.updateWorkflowVersion = workflows.updateWorkflowVersion.bind(workflows);
11279
- target.activateWorkflowVersion = workflows.activateWorkflowVersion.bind(workflows);
11280
- target.deactivateWorkflowVersion = workflows.deactivateWorkflowVersion.bind(workflows);
11281
- target.diffWorkflowVersions = workflows.diffWorkflowVersions.bind(workflows);
11953
+ target.getWorkflowRevisions = workflows.getWorkflowRevisions.bind(workflows);
11954
+ target.getWorkflowRevision = workflows.getWorkflowRevision.bind(workflows);
11955
+ target.publishWorkflowRevision = workflows.publishWorkflowRevision.bind(workflows);
11956
+ target.activateWorkflowRevision = workflows.activateWorkflowRevision.bind(workflows);
11957
+ target.updateWorkflowRevisionMetadata = workflows.updateWorkflowRevisionMetadata.bind(workflows);
11958
+ target.diffWorkflowRevisions = workflows.diffWorkflowRevisions.bind(workflows);
11959
+ target.editWorkflowRevisionAsDraft = workflows.editWorkflowRevisionAsDraft.bind(workflows);
11282
11960
  target.getWorkspaceBuilders = workflows.getWorkspaceBuilders.bind(workflows);
11283
11961
  target.getWorkspaceBuilder = workflows.getWorkspaceBuilder.bind(workflows);
11284
11962
  target.buildWorkspace = workflows.buildWorkspace.bind(workflows);
@@ -11343,6 +12021,9 @@ function bindCommunicationsMethods(target, phoneNumbers, inboxes, notificationRu
11343
12021
  target.getArchiveBlockers = phoneNumbers.getArchiveBlockers.bind(phoneNumbers);
11344
12022
  target.archivePhoneNumber = phoneNumbers.archivePhoneNumber.bind(phoneNumbers);
11345
12023
  target.getPhoneNumberCalls = phoneNumbers.getPhoneNumberCalls.bind(phoneNumbers);
12024
+ target.getPhoneNumberOutboundAnalyticsSummary = phoneNumbers.getPhoneNumberOutboundAnalyticsSummary.bind(phoneNumbers);
12025
+ target.getPhoneNumberOutboundAnalyticsCalls = phoneNumbers.getPhoneNumberOutboundAnalyticsCalls.bind(phoneNumbers);
12026
+ target.exportPhoneNumberOutboundAnalyticsCsv = phoneNumbers.exportPhoneNumberOutboundAnalyticsCsv.bind(phoneNumbers);
11346
12027
  target.getPhoneNumberMessages = phoneNumbers.getPhoneNumberMessages.bind(phoneNumbers);
11347
12028
  target.getPhoneNumberVoicemails = phoneNumbers.getPhoneNumberVoicemails.bind(phoneNumbers);
11348
12029
  target.fetchVoicemailAudio = phoneNumbers.fetchVoicemailAudio.bind(phoneNumbers);
@@ -11472,6 +12153,7 @@ function bindIntegrationsMethods(target, mondayIntegration, discordBots, slackAp
11472
12153
  target.getMondayBoardColumns = mondayIntegration.getBoardColumns.bind(mondayIntegration);
11473
12154
  target.getMondayBoardGroups = mondayIntegration.getBoardGroups.bind(mondayIntegration);
11474
12155
  target.getMondayCurrentUserInfo = mondayIntegration.getCurrentUserInfo.bind(mondayIntegration);
12156
+ target.installMondayConnection = mondayIntegration.installMondayConnection.bind(mondayIntegration);
11475
12157
  target.configureMondayConnection = mondayIntegration.configureMondayConnection.bind(mondayIntegration);
11476
12158
  target.getMondayConnectionStatus = mondayIntegration.getMondayConnectionStatus.bind(mondayIntegration);
11477
12159
  target.authorizeMondayConnection = mondayIntegration.authorizeMondayConnection.bind(mondayIntegration);
@@ -11506,6 +12188,8 @@ function bindIntegrationsMethods(target, mondayIntegration, discordBots, slackAp
11506
12188
  target.getDiscordBotAccounts = discordBots.getDiscordBotAccounts.bind(discordBots);
11507
12189
  target.getMyCredentials = discordBots.getMyCredentials.bind(discordBots);
11508
12190
  target.unlinkCredential = discordBots.unlinkCredential.bind(discordBots);
12191
+ target.completeDiscordLink = discordBots.completeDiscordLink.bind(discordBots);
12192
+ target.discordLinkPreflight = discordBots.discordLinkPreflight.bind(discordBots);
11509
12193
  target.getSlackApps = slackApps.getSlackApps.bind(slackApps);
11510
12194
  target.getSlackApp = slackApps.getSlackApp.bind(slackApps);
11511
12195
  target.createSlackApp = slackApps.createSlackApp.bind(slackApps);
@@ -11578,6 +12262,7 @@ function bindIntegrationsMethods(target, mondayIntegration, discordBots, slackAp
11578
12262
  target.deleteConfluence = confluence.deleteConfluence.bind(confluence);
11579
12263
  target.listConfluenceSpaces = confluence.listConfluenceSpaces.bind(confluence);
11580
12264
  target.listConfluencePages = confluence.listConfluencePages.bind(confluence);
12265
+ target.installSalesforce = salesforce.installSalesforce.bind(salesforce);
11581
12266
  target.configureSalesforce = salesforce.configureSalesforce.bind(salesforce);
11582
12267
  target.startSalesforceOAuth = salesforce.startSalesforceOAuth.bind(salesforce);
11583
12268
  target.getSalesforceStatus = salesforce.getSalesforceStatus.bind(salesforce);
@@ -11595,6 +12280,7 @@ function bindIntegrationsMethods(target, mondayIntegration, discordBots, slackAp
11595
12280
  target.describeSalesforceObject = salesforce.describeSalesforceObject.bind(salesforce);
11596
12281
  target.searchSalesforceRecords = salesforce.searchSalesforceRecords.bind(salesforce);
11597
12282
  target.importSalesforceMembers = salesforce.importSalesforceMembers.bind(salesforce);
12283
+ target.installHubspot = hubspot.installHubspot.bind(hubspot);
11598
12284
  target.configureHubspot = hubspot.configureHubspot.bind(hubspot);
11599
12285
  target.startHubspotOAuth = hubspot.startHubspotOAuth.bind(hubspot);
11600
12286
  target.getHubspotStatus = hubspot.getHubspotStatus.bind(hubspot);
@@ -11763,6 +12449,7 @@ function bindCustomersMethods(target, customers) {
11763
12449
  target.getMyCustomerAccounts = customers.getMyCustomerAccounts.bind(customers);
11764
12450
  target.getMyCustomerSubscriptions = customers.getMyCustomerSubscriptions.bind(customers);
11765
12451
  target.getMyCustomerInvoices = customers.getMyCustomerInvoices.bind(customers);
12452
+ target.createMyCustomerPortalSession = customers.createMyCustomerPortalSession.bind(customers);
11766
12453
  target.updateMyCustomer = customers.updateMyCustomer.bind(customers);
11767
12454
  target.createMyCustomerSetupIntent = customers.createMyCustomerSetupIntent.bind(customers);
11768
12455
  target.getMyCustomerPaymentMethods = customers.getMyCustomerPaymentMethods.bind(customers);
@@ -11827,6 +12514,7 @@ var GravityRailClient = class {
11827
12514
  createAbility;
11828
12515
  updateAbility;
11829
12516
  deleteAbility;
12517
+ getCharlestonTestDeliveryRecipients;
11830
12518
  // Chats API
11831
12519
  getChats;
11832
12520
  getChat;
@@ -11844,6 +12532,8 @@ var GravityRailClient = class {
11844
12532
  createWorkflowOutboundVoiceChat;
11845
12533
  deleteChat;
11846
12534
  updateChat;
12535
+ getChatModelOverride;
12536
+ updateChatModelOverride;
11847
12537
  updateChatMute;
11848
12538
  updateChatNeedsResponse;
11849
12539
  summarizeChat;
@@ -11853,6 +12543,7 @@ var GravityRailClient = class {
11853
12543
  initiateOutboundCall;
11854
12544
  sendAssistantMessage;
11855
12545
  rateMessage;
12546
+ getChatFeedback;
11856
12547
  getChatAssignmentTasks;
11857
12548
  createChatCompletion;
11858
12549
  exportChats;
@@ -11878,6 +12569,7 @@ var GravityRailClient = class {
11878
12569
  initiateCall;
11879
12570
  getVoiceToken;
11880
12571
  getMessageTiming;
12572
+ getRecordingInfo;
11881
12573
  listChatRecordings;
11882
12574
  getCallRecordingDownloadUrl;
11883
12575
  getCelContext;
@@ -11903,6 +12595,12 @@ var GravityRailClient = class {
11903
12595
  getFieldIndexStatus;
11904
12596
  validateDataTypeSlug;
11905
12597
  getMemberRecordCounts;
12598
+ getDataRecordFilters;
12599
+ getDataRecordFilter;
12600
+ createDataRecordFilter;
12601
+ updateDataRecordFilter;
12602
+ deleteDataRecordFilter;
12603
+ getDataRecordFilterCount;
11906
12604
  // Members API
11907
12605
  getCurrentMember;
11908
12606
  getOwnedMembers;
@@ -11926,7 +12624,6 @@ var GravityRailClient = class {
11926
12624
  getMemberFilter;
11927
12625
  createMemberFilter;
11928
12626
  updateMemberFilter;
11929
- convertMemberFilterToQuery;
11930
12627
  deleteMemberFilter;
11931
12628
  getMemberFilterCount;
11932
12629
  getMemberLabels;
@@ -11958,6 +12655,7 @@ var GravityRailClient = class {
11958
12655
  expireAnonymousMember;
11959
12656
  // Member Memories
11960
12657
  getMemberMemories;
12658
+ getMemberMemory;
11961
12659
  createMemberMemory;
11962
12660
  deleteMemberMemory;
11963
12661
  // Member Sync Links
@@ -11975,8 +12673,6 @@ var GravityRailClient = class {
11975
12673
  deleteAgent;
11976
12674
  archiveAgent;
11977
12675
  unarchiveAgent;
11978
- resolveAgentTools;
11979
- listAgentAbilities;
11980
12676
  // Qualifications API
11981
12677
  getQualifications;
11982
12678
  getQualification;
@@ -12002,6 +12698,16 @@ var GravityRailClient = class {
12002
12698
  createPersona;
12003
12699
  updatePersona;
12004
12700
  deletePersona;
12701
+ // Dashboards API
12702
+ getDashboards;
12703
+ getDashboard;
12704
+ createDashboard;
12705
+ updateDashboard;
12706
+ deleteDashboard;
12707
+ getDashboardChannelStats;
12708
+ getDashboardWorkflowAssignmentStats;
12709
+ // MOTD API
12710
+ getMotd;
12005
12711
  // Journeys API
12006
12712
  getJourneys;
12007
12713
  getJourney;
@@ -12069,6 +12775,7 @@ var GravityRailClient = class {
12069
12775
  revokeAccessGrant;
12070
12776
  getAccessGrants;
12071
12777
  getMemberGrants;
12778
+ getGranteeGrants;
12072
12779
  // Prompts API
12073
12780
  inspectPrompt;
12074
12781
  // Workspaces API
@@ -12118,6 +12825,10 @@ var GravityRailClient = class {
12118
12825
  getUsageDashboard;
12119
12826
  getWorkspaceEmailDomains;
12120
12827
  getWorkspaceSiteDomains;
12828
+ getWorkspaceWidgetDomains;
12829
+ listWidgetDomains;
12830
+ upsertWidgetDomain;
12831
+ deleteWidgetDomain;
12121
12832
  // Org API
12122
12833
  listOrgDomains;
12123
12834
  registerOrgDomain;
@@ -12158,6 +12869,7 @@ var GravityRailClient = class {
12158
12869
  // Auth API
12159
12870
  getUserAccount;
12160
12871
  updateUserAccount;
12872
+ recordAcquisition;
12161
12873
  login;
12162
12874
  resendCode;
12163
12875
  verifyCodeWith2FA;
@@ -12257,11 +12969,16 @@ var GravityRailClient = class {
12257
12969
  // Files API
12258
12970
  getFiles;
12259
12971
  getFile;
12972
+ resolveFilePath;
12260
12973
  downloadFilesZip;
12261
12974
  createFile;
12262
12975
  uploadFile;
12263
12976
  updateFile;
12264
12977
  deleteFile;
12978
+ listFileVersions;
12979
+ getFileVersionDiff;
12980
+ restoreFileVersion;
12981
+ getFileVersionContentsUrl;
12265
12982
  convertFile;
12266
12983
  generateFileUploadUrl;
12267
12984
  getFolders;
@@ -12310,6 +13027,7 @@ var GravityRailClient = class {
12310
13027
  getRoutineRuns;
12311
13028
  resetRoutineRuns;
12312
13029
  previewSchedule;
13030
+ previewRoutineWorkflowAccess;
12313
13031
  // Workflows API
12314
13032
  getWorkflows;
12315
13033
  getWorkflow;
@@ -12334,18 +13052,18 @@ var GravityRailClient = class {
12334
13052
  createWorkflowNote;
12335
13053
  updateWorkflowNote;
12336
13054
  deleteWorkflowNote;
13055
+ getWorkflowFeedback;
12337
13056
  getWorkflowContributors;
12338
13057
  createWorkflowContributor;
12339
13058
  updateWorkflowContributor;
12340
13059
  deleteWorkflowContributor;
12341
- getWorkflowVersions;
12342
- getWorkflowVersionActive;
12343
- getWorkflowVersion;
12344
- publishWorkflowVersion;
12345
- updateWorkflowVersion;
12346
- activateWorkflowVersion;
12347
- deactivateWorkflowVersion;
12348
- diffWorkflowVersions;
13060
+ getWorkflowRevisions;
13061
+ getWorkflowRevision;
13062
+ publishWorkflowRevision;
13063
+ activateWorkflowRevision;
13064
+ updateWorkflowRevisionMetadata;
13065
+ diffWorkflowRevisions;
13066
+ editWorkflowRevisionAsDraft;
12349
13067
  getWorkspaceBuilders;
12350
13068
  getWorkspaceBuilder;
12351
13069
  buildWorkspace;
@@ -12404,6 +13122,9 @@ var GravityRailClient = class {
12404
13122
  getArchiveBlockers;
12405
13123
  archivePhoneNumber;
12406
13124
  getPhoneNumberCalls;
13125
+ getPhoneNumberOutboundAnalyticsSummary;
13126
+ getPhoneNumberOutboundAnalyticsCalls;
13127
+ exportPhoneNumberOutboundAnalyticsCsv;
12407
13128
  getPhoneNumberMessages;
12408
13129
  getPhoneNumberVoicemails;
12409
13130
  fetchVoicemailAudio;
@@ -12522,6 +13243,7 @@ var GravityRailClient = class {
12522
13243
  getMondayBoardGroups;
12523
13244
  getMondayCurrentUserInfo;
12524
13245
  // Monday.com Connection API
13246
+ installMondayConnection;
12525
13247
  configureMondayConnection;
12526
13248
  getMondayConnectionStatus;
12527
13249
  authorizeMondayConnection;
@@ -12557,6 +13279,8 @@ var GravityRailClient = class {
12557
13279
  getDiscordBotAccounts;
12558
13280
  getMyCredentials;
12559
13281
  unlinkCredential;
13282
+ completeDiscordLink;
13283
+ discordLinkPreflight;
12560
13284
  // Slack Apps API
12561
13285
  getSlackApps;
12562
13286
  getSlackApp;
@@ -12635,6 +13359,7 @@ var GravityRailClient = class {
12635
13359
  listConfluenceSpaces;
12636
13360
  listConfluencePages;
12637
13361
  // Salesforce API
13362
+ installSalesforce;
12638
13363
  configureSalesforce;
12639
13364
  startSalesforceOAuth;
12640
13365
  getSalesforceStatus;
@@ -12653,6 +13378,7 @@ var GravityRailClient = class {
12653
13378
  searchSalesforceRecords;
12654
13379
  importSalesforceMembers;
12655
13380
  // HubSpot API
13381
+ installHubspot;
12656
13382
  configureHubspot;
12657
13383
  startHubspotOAuth;
12658
13384
  getHubspotStatus;
@@ -12710,6 +13436,7 @@ var GravityRailClient = class {
12710
13436
  getMyCustomerAccounts;
12711
13437
  getMyCustomerSubscriptions;
12712
13438
  getMyCustomerInvoices;
13439
+ createMyCustomerPortalSession;
12713
13440
  updateMyCustomer;
12714
13441
  createMyCustomerSetupIntent;
12715
13442
  getMyCustomerPaymentMethods;
@@ -12754,6 +13481,8 @@ var GravityRailClient = class {
12754
13481
  bindQualificationsMethods(this, apis.qualifications);
12755
13482
  bindPersonasMethods(this, apis.personas);
12756
13483
  bindQueriesMethods(this, apis.queries);
13484
+ bindDashboardsMethods(this, apis.dashboards);
13485
+ bindMotdMethods(this, apis.motd);
12757
13486
  bindJourneysMethods(this, apis.journeys);
12758
13487
  bindExperimentsMethods(this, apis.experiments);
12759
13488
  bindOperatorMethods(this, apis.operatorGroups);
@@ -12946,6 +13675,7 @@ var GravityRailClient = class {
12946
13675
  CalendarSource,
12947
13676
  CalendarsApi,
12948
13677
  CallsApi,
13678
+ CapabilityClass,
12949
13679
  ChatsApi,
12950
13680
  ConfluenceApi,
12951
13681
  ConnectionSyncApi,
@@ -12969,6 +13699,7 @@ var GravityRailClient = class {
12969
13699
  DataSensitivity,
12970
13700
  DataTypeRecordScope,
12971
13701
  DataTypesApi,
13702
+ DeclaredDataUse,
12972
13703
  DiscordBotsApi,
12973
13704
  DriverMode,
12974
13705
  EmailDnsRecordType,
@@ -13029,7 +13760,14 @@ var GravityRailClient = class {
13029
13760
  PERMISSION_VERIFY,
13030
13761
  PIDS_DISPOSITIONS,
13031
13762
  PIDS_SOURCES,
13763
+ POSITIVE_RATING_THRESHOLD,
13032
13764
  PersonasApi,
13765
+ PhiDataPolicy,
13766
+ PhiPolicyReason,
13767
+ PhiPolicySource,
13768
+ PhiPostureDecision,
13769
+ PhiPostureReasonCode,
13770
+ PhiPostureTransitionResponseTargetType,
13033
13771
  PhoneNumbersApi,
13034
13772
  ProductType,
13035
13773
  PromptsApi,
@@ -13078,6 +13816,7 @@ var GravityRailClient = class {
13078
13816
  ToolkitState,
13079
13817
  ToolkitsApi,
13080
13818
  VoiceApi,
13819
+ WIDGET_SLUGS,
13081
13820
  WorkflowAccessWarningResourceType,
13082
13821
  WorkflowNotesApi,
13083
13822
  WorkflowResourceType,
@@ -13098,6 +13837,7 @@ var GravityRailClient = class {
13098
13837
  bindChatsMethods,
13099
13838
  bindCommunicationsMethods,
13100
13839
  bindCustomersMethods,
13840
+ bindDashboardsMethods,
13101
13841
  bindDataTypesMethods,
13102
13842
  bindEventsMethods,
13103
13843
  bindExperimentsMethods,
@@ -13105,6 +13845,7 @@ var GravityRailClient = class {
13105
13845
  bindIntegrationsMethods,
13106
13846
  bindJourneysMethods,
13107
13847
  bindMembersMethods,
13848
+ bindMotdMethods,
13108
13849
  bindOperatorMethods,
13109
13850
  bindOrgMethods,
13110
13851
  bindPersonasMethods,
@@ -13138,12 +13879,14 @@ var GravityRailClient = class {
13138
13879
  getFeaturesByVisibility,
13139
13880
  getMissingDependencies,
13140
13881
  getResourceMetadata,
13882
+ getRevisionState,
13141
13883
  getScopeFromProductType,
13142
13884
  getTTSProvider,
13143
13885
  getVoiceModelId,
13144
13886
  initializeFeatures,
13145
13887
  isChatType,
13146
13888
  isFeatureAvailable,
13889
+ isPositiveRating,
13147
13890
  isRegistryInitialized,
13148
13891
  isSMSDeliveryFailureStatus,
13149
13892
  parseExperimentStatCount,