@gravity-rail/sdk 0.22.0 → 0.33.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 (55) hide show
  1. package/README.md +57 -8
  2. package/dist/agui.d.cts +1 -1
  3. package/dist/agui.d.ts +1 -1
  4. package/dist/audio.d.cts +1 -1
  5. package/dist/audio.d.ts +1 -1
  6. package/dist/{client-C10qSd6b.d.ts → chat-interaction-DJ9-Qtg2.d.cts} +8016 -3571
  7. package/dist/{client-Ct0soeip.d.cts → chat-interaction-dd6F3uT4.d.ts} +8016 -3571
  8. package/dist/{chunk-3HAV5XUJ.js → chunk-HRUMZ46V.js} +1 -1
  9. package/dist/chunk-HRUMZ46V.js.map +1 -0
  10. package/dist/{chunk-7OLBLLV7.js → chunk-P2E6LU7I.js} +57 -7
  11. package/dist/chunk-P2E6LU7I.js.map +1 -0
  12. package/dist/{chunk-WMA6YCAS.js → chunk-WDYHAQDY.js} +1364 -216
  13. package/dist/chunk-WDYHAQDY.js.map +1 -0
  14. package/dist/helpers.cjs +54 -1
  15. package/dist/helpers.cjs.map +1 -1
  16. package/dist/helpers.d.cts +3 -2
  17. package/dist/helpers.d.ts +3 -2
  18. package/dist/helpers.js +11 -3
  19. package/dist/helpers.js.map +1 -1
  20. package/dist/index.cjs +2414 -149
  21. package/dist/index.cjs.map +1 -1
  22. package/dist/index.d.cts +550 -6
  23. package/dist/index.d.ts +550 -6
  24. package/dist/index.js +1037 -23
  25. package/dist/index.js.map +1 -1
  26. package/dist/internal.cjs +1456 -235
  27. package/dist/internal.cjs.map +1 -1
  28. package/dist/internal.d.cts +33 -49
  29. package/dist/internal.d.ts +33 -49
  30. package/dist/internal.js +77 -33
  31. package/dist/internal.js.map +1 -1
  32. package/dist/realtime.cjs +279 -14
  33. package/dist/realtime.cjs.map +1 -1
  34. package/dist/realtime.d.cts +169 -17
  35. package/dist/realtime.d.ts +169 -17
  36. package/dist/realtime.js +264 -13
  37. package/dist/realtime.js.map +1 -1
  38. package/dist/{revision-state-C6aM-PHu.d.ts → revision-state-BD39fW5X.d.ts} +236 -5
  39. package/dist/{revision-state-CCPTiW-i.d.cts → revision-state-Cgmy_Cds.d.cts} +236 -5
  40. package/dist/schemas.cjs +35 -10
  41. package/dist/schemas.cjs.map +1 -1
  42. package/dist/schemas.d.cts +54 -33
  43. package/dist/schemas.d.ts +54 -33
  44. package/dist/schemas.js +35 -10
  45. package/dist/schemas.js.map +1 -1
  46. package/dist/{tasks-WH_VfzMv.d.cts → tasks-B-31JPuq.d.cts} +298 -114
  47. package/dist/{tasks-WH_VfzMv.d.ts → tasks-B-31JPuq.d.ts} +298 -114
  48. package/dist/types-0c6_NGU4.d.cts +90 -0
  49. package/dist/types-0c6_NGU4.d.ts +90 -0
  50. package/package.json +3 -3
  51. package/dist/chunk-3HAV5XUJ.js.map +0 -1
  52. package/dist/chunk-7OLBLLV7.js.map +0 -1
  53. package/dist/chunk-WMA6YCAS.js.map +0 -1
  54. package/dist/types-DkYyrvoC.d.cts +0 -19
  55. package/dist/types-DkYyrvoC.d.ts +0 -19
package/dist/internal.cjs CHANGED
@@ -31,18 +31,12 @@ __export(internal_exports, {
31
31
  AccessGrantTrigger: () => AccessGrantTrigger,
32
32
  AccessGrantsApi: () => AccessGrantsApi,
33
33
  AccessLevel: () => AccessLevel2,
34
- ActivityActorKind: () => ActivityActorKind,
35
- ActivityAggregationKind: () => ActivityAggregationKind,
36
- ActivityCaptureState: () => ActivityCaptureState,
37
- ActivityConfigAction: () => ActivityConfigAction,
38
- ActivityConfigArea: () => ActivityConfigArea,
39
- ActivityCoverageLimitation: () => ActivityCoverageLimitation,
40
- ActivityDirection: () => ActivityDirection,
41
- ActivityEmptyReason: () => ActivityEmptyReason,
42
- ActivityEventType: () => ActivityEventType,
43
- ActivityEventTypePreset: () => ActivityEventTypePreset,
44
- ActivityGoalImpact: () => ActivityGoalImpact,
45
- ActivityTimelineProjection: () => ActivityTimelineProjection,
34
+ ActivityEventFamily: () => ActivityEventFamily,
35
+ ActivityGrain: () => ActivityGrain,
36
+ ActivityGroupBy: () => ActivityGroupBy,
37
+ ActivityOpenItemOrder: () => ActivityOpenItemOrder,
38
+ ActivityOutcome: () => ActivityOutcome,
39
+ ActivityWindowBasis: () => ActivityWindowBasis,
46
40
  AddonMutationResponseScope: () => AddonMutationResponseScope,
47
41
  AgentTasksApi: () => AgentTasksApi,
48
42
  AgentsApi: () => AgentsApi,
@@ -71,6 +65,11 @@ __export(internal_exports, {
71
65
  CalendarsApi: () => CalendarsApi,
72
66
  CallsApi: () => CallsApi,
73
67
  CapabilityClass: () => CapabilityClass,
68
+ ChannelMessageDirection: () => ChannelMessageDirection,
69
+ ChannelMessageSource: () => ChannelMessageSource,
70
+ ChannelMessagesUnavailableReason: () => ChannelMessagesUnavailableReason,
71
+ ChatInteractionController: () => ChatInteractionController,
72
+ ChatMuteReason: () => ChatMuteReason,
74
73
  ChatsApi: () => ChatsApi,
75
74
  ConfluenceApi: () => ConfluenceApi,
76
75
  ConnectionSyncApi: () => ConnectionSyncApi,
@@ -85,6 +84,9 @@ __export(internal_exports, {
85
84
  CustomerActivitySeverity: () => CustomerActivitySeverity,
86
85
  CustomerActivitySlaThresholdSource: () => CustomerActivitySlaThresholdSource,
87
86
  CustomersApi: () => CustomersApi,
87
+ DEFAULT_AGENT_CHAT_MODEL: () => DEFAULT_AGENT_CHAT_MODEL,
88
+ DEFAULT_AGENT_REALTIME_MODEL: () => DEFAULT_AGENT_REALTIME_MODEL,
89
+ DEFAULT_AGENT_REALTIME_MODEL_CONFIG: () => DEFAULT_AGENT_REALTIME_MODEL_CONFIG,
88
90
  DEFAULT_CHAT_MODEL: () => DEFAULT_CHAT_MODEL,
89
91
  DEFAULT_CUSTOM_VOICE_MODEL: () => DEFAULT_CUSTOM_VOICE_MODEL,
90
92
  DEFAULT_THINKING_SPEECH_PHRASES: () => DEFAULT_THINKING_SPEECH_PHRASES,
@@ -96,8 +98,10 @@ __export(internal_exports, {
96
98
  DataTypeRecordScope: () => DataTypeRecordScope,
97
99
  DataTypesApi: () => DataTypesApi,
98
100
  DeclaredDataUse: () => DeclaredDataUse,
101
+ DigestSlotRole: () => DigestSlotRole,
99
102
  DiscordBotsApi: () => DiscordBotsApi,
100
103
  DriverMode: () => DriverMode,
104
+ EhrWritebackOutcomeResponseStatus: () => EhrWritebackOutcomeResponseStatus,
101
105
  EmailDnsRecordType: () => EmailDnsRecordType,
102
106
  EventRuleActionType: () => EventRuleActionType,
103
107
  EventRuleEventType: () => EventRuleEventType,
@@ -111,10 +115,16 @@ __export(internal_exports, {
111
115
  FhirConnectionsApi: () => FhirConnectionsApi,
112
116
  FhirVendor: () => FhirVendor,
113
117
  FilesApi: () => FilesApi,
114
- FormValueDisposition: () => FormValueDisposition,
115
118
  GravityRailClient: () => GravityRailClient,
116
119
  HealthieApi: () => HealthieApi,
117
120
  HubspotApi: () => HubspotApi,
121
+ ImportReadinessIssueCode: () => ImportReadinessIssueCode,
122
+ ImportReadinessIssueResourceType: () => ImportReadinessIssueResourceType,
123
+ ImportSkippedRuleResourceGroupResourceType: () => ImportSkippedRuleResourceGroupResourceType,
124
+ ImportSkippedRuleResponseNeededResourceTypesItem: () => ImportSkippedRuleResponseNeededResourceTypesItem,
125
+ ImportSkippedRuleResponseParentKind: () => ImportSkippedRuleResponseParentKind,
126
+ ImportSkippedRuleResponseReasonCode: () => ImportSkippedRuleResponseReasonCode,
127
+ ImportSkippedRuleResponseStatus: () => ImportSkippedRuleResponseStatus,
118
128
  InboxesApi: () => InboxesApi,
119
129
  IndexStatus: () => IndexStatus,
120
130
  InquiriesApi: () => InquiriesApi,
@@ -123,12 +133,14 @@ __export(internal_exports, {
123
133
  JourneysApi: () => JourneysApi,
124
134
  MASKED_SECRET_SENTINEL: () => MASKED_SECRET_SENTINEL,
125
135
  MEMBER_ENTITLEMENT_STATUSES: () => MEMBER_ENTITLEMENT_STATUSES,
136
+ MEMBER_RELATIONSHIP_KINDS: () => MEMBER_RELATIONSHIP_KINDS,
126
137
  MEMBER_SUBSCRIPTION_STATUSES: () => MEMBER_SUBSCRIPTION_STATUSES,
127
138
  McpServerState: () => McpServerState,
128
139
  McpServersApi: () => McpServersApi,
129
140
  MemberFeature: () => MemberFeature,
130
141
  MemberImportMatchInfoMatchType: () => MemberImportMatchInfoMatchType,
131
142
  MemberImportPreviewRowAction: () => MemberImportPreviewRowAction,
143
+ MemberRelationshipKind: () => MemberRelationshipKind,
132
144
  MemberType: () => MemberType,
133
145
  MembersApi: () => MembersApi,
134
146
  MenuItemResponseItemType: () => MenuItemResponseItemType,
@@ -188,8 +200,11 @@ __export(internal_exports, {
188
200
  REALTIME_MODEL_OPENAI: () => REALTIME_MODEL_OPENAI,
189
201
  REALTIME_MODEL_OPENAI_2: () => REALTIME_MODEL_OPENAI_2,
190
202
  REALTIME_MODEL_OPENAI_MINI: () => REALTIME_MODEL_OPENAI_MINI,
203
+ RefResolutionStatus: () => RefResolutionStatus,
191
204
  Region: () => Region,
192
205
  RegistrationIdentifier: () => RegistrationIdentifier,
206
+ RelatedMemberRole: () => RelatedMemberRole,
207
+ RelationshipCardinality: () => RelationshipCardinality,
193
208
  ReportsApi: () => ReportsApi,
194
209
  ResellersApi: () => ResellersApi,
195
210
  Resource: () => Resource,
@@ -221,8 +236,13 @@ __export(internal_exports, {
221
236
  TTS_PREVIEW_PROVIDERS: () => TTS_PREVIEW_PROVIDERS,
222
237
  TasksApi: () => TasksApi,
223
238
  TemplatesApi: () => TemplatesApi,
239
+ TestChatRunLane: () => TestChatRunLane,
240
+ TestChatRunOutcome: () => TestChatRunOutcome,
224
241
  ToolkitState: () => ToolkitState,
225
242
  ToolkitsApi: () => ToolkitsApi,
243
+ UiPromptPresentedKindValues: () => UiPromptPresentedKind,
244
+ UiPromptResponseKindValues: () => UiPromptResponseKind,
245
+ UiPromptResponseStatusValues: () => UiPromptResponseStatus,
226
246
  VoiceApi: () => VoiceApi,
227
247
  WIDGET_SLUGS: () => WIDGET_SLUGS,
228
248
  WORKFLOW_IMPLICIT_USE_SCOPE: () => WORKFLOW_IMPLICIT_USE_SCOPE,
@@ -239,7 +259,7 @@ __export(internal_exports, {
239
259
  areDependenciesSatisfied: () => areDependenciesSatisfied,
240
260
  asIdentifiedMemberContactConflict: () => asIdentifiedMemberContactConflict,
241
261
  bindAccessGrantsMethods: () => bindAccessGrantsMethods,
242
- bindActivityTimelineMethods: () => bindActivityTimelineMethods,
262
+ bindActivityMethods: () => bindActivityMethods,
243
263
  bindAgentTasksMethods: () => bindAgentTasksMethods,
244
264
  bindAgentsMethods: () => bindAgentsMethods,
245
265
  bindAppsMethods: () => bindAppsMethods,
@@ -257,6 +277,7 @@ __export(internal_exports, {
257
277
  bindExperimentsMethods: () => bindExperimentsMethods,
258
278
  bindFilesMethods: () => bindFilesMethods,
259
279
  bindIntegrationsMethods: () => bindIntegrationsMethods,
280
+ bindInterventionRequestsMethods: () => bindInterventionRequestsMethods,
260
281
  bindJourneysMethods: () => bindJourneysMethods,
261
282
  bindMembersMethods: () => bindMembersMethods,
262
283
  bindMetricsMethods: () => bindMetricsMethods,
@@ -461,7 +482,9 @@ var Scope = /* @__PURE__ */ ((Scope2) => {
461
482
  var BulkMemberResultStatus = {
462
483
  created: "created",
463
484
  updated: "updated",
464
- failed: "failed"
485
+ failed: "failed",
486
+ conflict: "conflict",
487
+ skipped: "skipped"
465
488
  };
466
489
  var MemberImportMatchInfoMatchType = {
467
490
  external_id: "external_id",
@@ -475,6 +498,7 @@ var MemberImportPreviewRowAction = {
475
498
  update: "update",
476
499
  unchanged: "unchanged",
477
500
  conflict: "conflict",
501
+ skipped: "skipped",
478
502
  error: "error"
479
503
  };
480
504
 
@@ -623,6 +647,8 @@ var EventRuleActionType = /* @__PURE__ */ ((EventRuleActionType2) => {
623
647
  EventRuleActionType2["CONNECTOR_OPERATION"] = "connector:operation";
624
648
  EventRuleActionType2["ECW_REFRESH_MEMBER_ENCOUNTERS"] = "ecw:refresh_member_encounters";
625
649
  EventRuleActionType2["PLAY_AUDIO"] = "audio:play";
650
+ EventRuleActionType2["CHARLESTON_SEND_PMD_PAGE"] = "charleston:send_pmd_page";
651
+ EventRuleActionType2["PATIENTSYNC_TRANSFER"] = "patientsync:transfer";
626
652
  return EventRuleActionType2;
627
653
  })(EventRuleActionType || {});
628
654
  function eventRuleActionParams(params) {
@@ -644,6 +670,7 @@ var WorkspaceFeature = /* @__PURE__ */ ((WorkspaceFeature2) => {
644
670
  WorkspaceFeature2["BROWSER"] = "browser";
645
671
  WorkspaceFeature2["WEB_SEARCH"] = "web_search";
646
672
  WorkspaceFeature2["CALENDAR"] = "calendar";
673
+ WorkspaceFeature2["JOURNEY_V2_EDITOR"] = "journey_v2_editor";
647
674
  WorkspaceFeature2["EXPERIMENTS"] = "experiments";
648
675
  WorkspaceFeature2["MAILBOX_USER_INPUT"] = "mailbox_user_input";
649
676
  WorkspaceFeature2["FORKED_TRAJECTORIES"] = "forked_trajectories";
@@ -827,6 +854,7 @@ var ModelProvider = {
827
854
  elevenlabs: "elevenlabs",
828
855
  deepgram: "deepgram",
829
856
  xai: "xai",
857
+ fireworks: "fireworks",
830
858
  custom: "custom"
831
859
  };
832
860
  var ModelType = {
@@ -929,6 +957,24 @@ var FhirClientType = /* @__PURE__ */ ((FhirClientType2) => {
929
957
  return FhirClientType2;
930
958
  })(FhirClientType || {});
931
959
 
960
+ // src/types/generated/qualification.ts
961
+ var TestChatRunLane = {
962
+ text: "text",
963
+ web_realtime: "web_realtime",
964
+ core_agent_only: "core_agent_only",
965
+ unsupported: "unsupported",
966
+ unknown: "unknown"
967
+ };
968
+ var TestChatRunOutcome = {
969
+ simulator_end: "simulator_end",
970
+ terminal_tool: "terminal_tool",
971
+ agent_silent: "agent_silent",
972
+ max_turns: "max_turns",
973
+ human_end: "human_end",
974
+ configuration_failure: "configuration_failure",
975
+ instrument_failure: "instrument_failure"
976
+ };
977
+
932
978
  // src/types/qualification-types.ts
933
979
  var CriterionType = /* @__PURE__ */ ((CriterionType2) => {
934
980
  CriterionType2["EXPRESSION"] = "expression";
@@ -987,10 +1033,242 @@ var ConsentMethod = /* @__PURE__ */ ((ConsentMethod2) => {
987
1033
  return ConsentMethod2;
988
1034
  })(ConsentMethod || {});
989
1035
 
1036
+ // src/types/generated/member_relationship.ts
1037
+ var MemberRelationshipKind = {
1038
+ parent_of: "parent_of",
1039
+ sibling_of: "sibling_of",
1040
+ spouse_of: "spouse_of",
1041
+ caregiver_of: "caregiver_of",
1042
+ emergency_contact_of: "emergency_contact_of",
1043
+ next_of_kin_of: "next_of_kin_of",
1044
+ legal_guardian_of: "legal_guardian_of",
1045
+ healthcare_agent_of: "healthcare_agent_of",
1046
+ doctor_of: "doctor_of",
1047
+ primary_contact_of: "primary_contact_of"
1048
+ };
1049
+ var RelatedMemberRole = {
1050
+ parent: "parent",
1051
+ child: "child",
1052
+ sibling: "sibling",
1053
+ spouse: "spouse",
1054
+ caregiver: "caregiver",
1055
+ care_recipient: "care_recipient",
1056
+ emergency_contact: "emergency_contact",
1057
+ emergency_contact_for: "emergency_contact_for",
1058
+ next_of_kin: "next_of_kin",
1059
+ next_of_kin_for: "next_of_kin_for",
1060
+ legal_guardian: "legal_guardian",
1061
+ legal_guardian_for: "legal_guardian_for",
1062
+ healthcare_agent: "healthcare_agent",
1063
+ healthcare_agent_for: "healthcare_agent_for",
1064
+ doctor: "doctor",
1065
+ patient: "patient",
1066
+ primary_contact: "primary_contact",
1067
+ primary_contact_for: "primary_contact_for"
1068
+ };
1069
+ var RelationshipCardinality = {
1070
+ many_to_many: "many_to_many",
1071
+ one_to_one: "one_to_one",
1072
+ one_per_target: "one_per_target"
1073
+ };
1074
+
1075
+ // src/types/generated/member_relationship_catalog.ts
1076
+ var MEMBER_RELATIONSHIP_KINDS = [
1077
+ {
1078
+ "kind": "parent_of",
1079
+ "cardinality": "many_to_many",
1080
+ "symmetric": false,
1081
+ "grantsChartAccess": false,
1082
+ "roles": [
1083
+ {
1084
+ "role": "parent",
1085
+ "label": "Parent",
1086
+ "inverseLabel": "Child",
1087
+ "description": "This person is a parent of the member. For a minor, also add Legal guardian if they should read the chart."
1088
+ },
1089
+ {
1090
+ "role": "child",
1091
+ "label": "Child",
1092
+ "inverseLabel": "Parent",
1093
+ "description": "This person is a child of the member."
1094
+ }
1095
+ ]
1096
+ },
1097
+ {
1098
+ "kind": "sibling_of",
1099
+ "cardinality": "many_to_many",
1100
+ "symmetric": true,
1101
+ "grantsChartAccess": false,
1102
+ "roles": [
1103
+ {
1104
+ "role": "sibling",
1105
+ "label": "Sibling",
1106
+ "inverseLabel": "Sibling",
1107
+ "description": "These members are siblings."
1108
+ }
1109
+ ]
1110
+ },
1111
+ {
1112
+ "kind": "spouse_of",
1113
+ "cardinality": "one_to_one",
1114
+ "symmetric": true,
1115
+ "grantsChartAccess": false,
1116
+ "roles": [
1117
+ {
1118
+ "role": "spouse",
1119
+ "label": "Spouse",
1120
+ "inverseLabel": "Spouse",
1121
+ "description": "These members are spouses or partners."
1122
+ }
1123
+ ]
1124
+ },
1125
+ {
1126
+ "kind": "caregiver_of",
1127
+ "cardinality": "many_to_many",
1128
+ "symmetric": false,
1129
+ "grantsChartAccess": false,
1130
+ "roles": [
1131
+ {
1132
+ "role": "caregiver",
1133
+ "label": "Caregiver",
1134
+ "inverseLabel": "Care recipient",
1135
+ "description": "This person provides care for the member at home."
1136
+ },
1137
+ {
1138
+ "role": "care_recipient",
1139
+ "label": "Care recipient",
1140
+ "inverseLabel": "Caregiver",
1141
+ "description": "This person receives care from the member."
1142
+ }
1143
+ ]
1144
+ },
1145
+ {
1146
+ "kind": "emergency_contact_of",
1147
+ "cardinality": "many_to_many",
1148
+ "symmetric": false,
1149
+ "grantsChartAccess": false,
1150
+ "roles": [
1151
+ {
1152
+ "role": "emergency_contact",
1153
+ "label": "Emergency contact",
1154
+ "inverseLabel": "Emergency contact for",
1155
+ "description": "This person is the member's emergency contact."
1156
+ },
1157
+ {
1158
+ "role": "emergency_contact_for",
1159
+ "label": "Emergency contact for",
1160
+ "inverseLabel": "Emergency contact",
1161
+ "description": "The member is listed as this person's emergency contact."
1162
+ }
1163
+ ]
1164
+ },
1165
+ {
1166
+ "kind": "next_of_kin_of",
1167
+ "cardinality": "one_per_target",
1168
+ "symmetric": false,
1169
+ "grantsChartAccess": false,
1170
+ "roles": [
1171
+ {
1172
+ "role": "next_of_kin",
1173
+ "label": "Next of kin",
1174
+ "inverseLabel": "Next of kin for",
1175
+ "description": "This person is the member's designated next of kin. A member has at most one."
1176
+ },
1177
+ {
1178
+ "role": "next_of_kin_for",
1179
+ "label": "Next of kin for",
1180
+ "inverseLabel": "Next of kin",
1181
+ "description": "The member is this person's designated next of kin."
1182
+ }
1183
+ ]
1184
+ },
1185
+ {
1186
+ "kind": "legal_guardian_of",
1187
+ "cardinality": "many_to_many",
1188
+ "symmetric": false,
1189
+ "grantsChartAccess": true,
1190
+ "roles": [
1191
+ {
1192
+ "role": "legal_guardian",
1193
+ "label": "Legal guardian",
1194
+ "inverseLabel": "Legal guardian for",
1195
+ "description": "Court-appointed guardian, or parent/person with parental responsibility for a minor."
1196
+ },
1197
+ {
1198
+ "role": "legal_guardian_for",
1199
+ "label": "Legal guardian for",
1200
+ "inverseLabel": "Legal guardian",
1201
+ "description": "The member is this person's legal guardian."
1202
+ }
1203
+ ]
1204
+ },
1205
+ {
1206
+ "kind": "healthcare_agent_of",
1207
+ "cardinality": "many_to_many",
1208
+ "symmetric": false,
1209
+ "grantsChartAccess": true,
1210
+ "roles": [
1211
+ {
1212
+ "role": "healthcare_agent",
1213
+ "label": "Healthcare agent",
1214
+ "inverseLabel": "Healthcare agent for",
1215
+ "description": "Healthcare power of attorney or health proxy."
1216
+ },
1217
+ {
1218
+ "role": "healthcare_agent_for",
1219
+ "label": "Healthcare agent for",
1220
+ "inverseLabel": "Healthcare agent",
1221
+ "description": "The member is this person's healthcare agent (healthcare power of attorney or health proxy)."
1222
+ }
1223
+ ]
1224
+ },
1225
+ {
1226
+ "kind": "doctor_of",
1227
+ "cardinality": "many_to_many",
1228
+ "symmetric": false,
1229
+ "grantsChartAccess": true,
1230
+ "roles": [
1231
+ {
1232
+ "role": "doctor",
1233
+ "label": "Doctor",
1234
+ "inverseLabel": "Patient",
1235
+ "description": "This person is a treating clinician for the member."
1236
+ },
1237
+ {
1238
+ "role": "patient",
1239
+ "label": "Patient",
1240
+ "inverseLabel": "Doctor",
1241
+ "description": "This person is a patient of the member."
1242
+ }
1243
+ ]
1244
+ },
1245
+ {
1246
+ "kind": "primary_contact_of",
1247
+ "cardinality": "one_per_target",
1248
+ "symmetric": false,
1249
+ "grantsChartAccess": true,
1250
+ "roles": [
1251
+ {
1252
+ "role": "primary_contact",
1253
+ "label": "Primary contact",
1254
+ "inverseLabel": "Primary contact for",
1255
+ "description": "This person is the organization's primary contact for the member. A member has at most one."
1256
+ },
1257
+ {
1258
+ "role": "primary_contact_for",
1259
+ "label": "Primary contact for",
1260
+ "inverseLabel": "Primary contact",
1261
+ "description": "The member is this person's assigned primary contact inside the organization."
1262
+ }
1263
+ ]
1264
+ }
1265
+ ];
1266
+
990
1267
  // src/types/config-health-types.ts
991
1268
  var CONFIG_HEALTH_FACADE_CHECK_SLUGS = [
992
1269
  "workflow.config",
993
1270
  "journey.authoring",
1271
+ "journey.v2_validation",
994
1272
  "workflow.access",
995
1273
  "routine.workflow_access",
996
1274
  "workspace.validation"
@@ -999,85 +1277,20 @@ function isConfigHealthFacadeCheckSlug(value) {
999
1277
  return CONFIG_HEALTH_FACADE_CHECK_SLUGS.includes(value);
1000
1278
  }
1001
1279
 
1002
- // src/types/generated/activity_timeline.ts
1003
- var ActivityActorKind = {
1004
- member: "member",
1005
- agent: "agent",
1006
- operator: "operator",
1007
- event_rule: "event_rule",
1008
- api_key: "api_key",
1009
- system: "system"
1010
- };
1011
- var ActivityAggregationKind = {
1012
- burst: "burst",
1013
- conversation_session: "conversation_session",
1014
- operation: "operation"
1015
- };
1016
- var ActivityCaptureState = {
1017
- active: "active",
1018
- not_started: "not_started"
1280
+ // src/types/generated/ui_prompt.ts
1281
+ var UiPromptPresentedKind = {
1282
+ render_ui: "render_ui",
1283
+ present_choice_list: "present_choice_list",
1284
+ inline_connect: "inline_connect"
1019
1285
  };
1020
- var ActivityConfigAction = {
1021
- created: "created",
1022
- updated: "updated",
1023
- deleted: "deleted"
1286
+ var UiPromptResponseKind = {
1287
+ render_ui: "render_ui",
1288
+ present_choice_list: "present_choice_list",
1289
+ inline_connect: "inline_connect"
1024
1290
  };
1025
- var ActivityConfigArea = {
1026
- inbox: "inbox",
1027
- phone_number: "phone_number",
1028
- business_hours: "business_hours",
1029
- escalation_settings: "escalation_settings",
1030
- workspace_settings: "workspace_settings"
1031
- };
1032
- var ActivityCoverageLimitation = {
1033
- none: "none",
1034
- capture_started_at_cutover: "capture_started_at_cutover",
1035
- legacy_baseline_incomplete: "legacy_baseline_incomplete",
1036
- deletion_may_remove_history: "deletion_may_remove_history",
1037
- config_capture_started: "config_capture_started"
1038
- };
1039
- var ActivityDirection = {
1040
- inbound: "inbound",
1041
- outbound: "outbound"
1042
- };
1043
- var ActivityEmptyReason = {
1044
- collection: "collection",
1045
- period: "period",
1046
- filtered: "filtered"
1047
- };
1048
- var ActivityEventType = {
1049
- workflow_started: "workflow_started",
1050
- assignment_task_transition: "assignment_task_transition",
1051
- journey_status_changed: "journey_status_changed",
1052
- journey_step_status_changed: "journey_step_status_changed",
1053
- journey_goal_status_changed: "journey_goal_status_changed",
1054
- chat_started: "chat_started",
1055
- message: "message",
1056
- call: "call",
1057
- form_field_changed: "form_field_changed",
1058
- config_changed: "config_changed"
1059
- };
1060
- var ActivityEventTypePreset = {
1061
- communications: "communications",
1062
- formUpdates: "formUpdates",
1063
- workflowTask: "workflowTask",
1064
- journey: "journey",
1065
- configuration: "configuration"
1066
- };
1067
- var ActivityGoalImpact = {
1068
- neutral: "neutral",
1069
- success: "success",
1070
- attention: "attention",
1071
- failure: "failure"
1072
- };
1073
- var ActivityTimelineProjection = {
1074
- timeline: "timeline"
1075
- };
1076
- var FormValueDisposition = {
1077
- shown: "shown",
1078
- omitted_long: "omitted_long",
1079
- omitted_structured: "omitted_structured",
1080
- omitted_burst: "omitted_burst"
1291
+ var UiPromptResponseStatus = {
1292
+ submitted: "submitted",
1293
+ declined: "declined"
1081
1294
  };
1082
1295
 
1083
1296
  // src/types/experiment-types.ts
@@ -1162,12 +1375,77 @@ var QUERY_VALUELESS_OPS = /* @__PURE__ */ new Set([
1162
1375
  "exists"
1163
1376
  ]);
1164
1377
 
1378
+ // src/types/generated/digest.ts
1379
+ var DigestSlotRole = {
1380
+ people: "people",
1381
+ subject: "subject",
1382
+ actor: "actor",
1383
+ workflow: "workflow",
1384
+ journey: "journey",
1385
+ phone_number: "phone_number",
1386
+ data_type: "data_type",
1387
+ operator_group: "operator_group",
1388
+ channel: "channel",
1389
+ origin: "origin",
1390
+ source: "source",
1391
+ reason: "reason",
1392
+ direction: "direction",
1393
+ area: "area",
1394
+ conclusion: "conclusion"
1395
+ };
1396
+
1397
+ // src/types/generated/activity_feed.ts
1398
+ var ActivityGrain = {
1399
+ month: "month",
1400
+ week: "week",
1401
+ day: "day",
1402
+ hour: "hour",
1403
+ event: "event"
1404
+ };
1405
+ var ActivityGroupBy = {
1406
+ workspace: "workspace",
1407
+ event_type: "event_type",
1408
+ family: "family",
1409
+ workspace_family: "workspace_family"
1410
+ };
1411
+ var ActivityOpenItemOrder = {
1412
+ priority: "priority",
1413
+ recency: "recency"
1414
+ };
1415
+ var ActivityWindowBasis = {
1416
+ absolute: "absolute",
1417
+ workspace_local: "workspace_local"
1418
+ };
1419
+
1420
+ // src/types/generated/family.ts
1421
+ var ActivityEventFamily = {
1422
+ people: "people",
1423
+ conversations: "conversations",
1424
+ journeys: "journeys",
1425
+ automation: "automation",
1426
+ operators: "operators",
1427
+ administration: "administration"
1428
+ };
1429
+ var ActivityOutcome = {
1430
+ ok: "ok",
1431
+ attention: "attention",
1432
+ failed: "failed"
1433
+ };
1434
+
1435
+ // src/types/generated/entity_ref.ts
1436
+ var RefResolutionStatus = {
1437
+ resolved: "resolved",
1438
+ unresolved: "unresolved",
1439
+ unsupported: "unsupported"
1440
+ };
1441
+
1165
1442
  // src/types/generated/customer_activity.ts
1166
1443
  var CustomerActivityClassifierDetectorName = {
1167
1444
  assignment_chat_classifier: "assignment_chat_classifier",
1168
1445
  manager_chat_classifier: "manager_chat_classifier",
1169
1446
  concierge_chat_classifier: "concierge_chat_classifier",
1170
- chat_review: "chat_review"
1447
+ chat_review: "chat_review",
1448
+ a2p_agent_inferred_stop: "a2p_agent_inferred_stop"
1171
1449
  };
1172
1450
  var CustomerActivityClassifierLabel = {
1173
1451
  user_distress: "user_distress",
@@ -1198,7 +1476,8 @@ var CustomerActivityReviewOutcome = {
1198
1476
  bug_filed: "bug_filed",
1199
1477
  linked_existing_work: "linked_existing_work",
1200
1478
  classifier_feedback: "classifier_feedback",
1201
- test_activity: "test_activity"
1479
+ test_activity: "test_activity",
1480
+ a2p_suppression_reversed: "a2p_suppression_reversed"
1202
1481
  };
1203
1482
  var CustomerActivitySeverity = {
1204
1483
  none: "none",
@@ -1473,6 +1752,36 @@ function getAllResourceSlugs() {
1473
1752
  return Object.keys(RESOURCE_METADATA);
1474
1753
  }
1475
1754
 
1755
+ // src/types/generated/channel_message.ts
1756
+ var ChannelMessageDirection = {
1757
+ inbound: "inbound",
1758
+ outbound: "outbound"
1759
+ };
1760
+ var ChannelMessageSource = {
1761
+ sms_record: "sms_record",
1762
+ other_chat: "other_chat"
1763
+ };
1764
+
1765
+ // src/types/generated/chat.ts
1766
+ var ChannelMessagesUnavailableReason = {
1767
+ not_single_channel: "not_single_channel",
1768
+ no_phone_number: "no_phone_number",
1769
+ no_counterpart_phone: "no_counterpart_phone"
1770
+ };
1771
+ var ChatMuteReason = {
1772
+ working: "working",
1773
+ waiting_on_person: "waiting_on_person",
1774
+ resolved_elsewhere: "resolved_elsewhere",
1775
+ not_mine: "not_mine"
1776
+ };
1777
+
1778
+ // src/types/generated/ehr_writeback.ts
1779
+ var EhrWritebackOutcomeResponseStatus = {
1780
+ accepted: "accepted",
1781
+ skipped: "skipped",
1782
+ failed: "failed"
1783
+ };
1784
+
1476
1785
  // src/types/chat-types.ts
1477
1786
  var SMS_DELIVERY_FAILURE_STATUSES = /* @__PURE__ */ new Set([
1478
1787
  "failed",
@@ -1576,6 +1885,46 @@ var PilotStage = {
1576
1885
  churned: "churned"
1577
1886
  };
1578
1887
 
1888
+ // src/types/generated/import_skipped_rule.ts
1889
+ var ImportReadinessIssueCode = {
1890
+ phone_not_provisioned: "phone_not_provisioned",
1891
+ phone_missing_default_workflow: "phone_missing_default_workflow",
1892
+ inbox_missing_default_workflow: "inbox_missing_default_workflow",
1893
+ workflow_missing_default_phone: "workflow_missing_default_phone"
1894
+ };
1895
+ var ImportReadinessIssueResourceType = {
1896
+ phone: "phone",
1897
+ inbox: "inbox",
1898
+ workflow: "workflow"
1899
+ };
1900
+ var ImportSkippedRuleResourceGroupResourceType = {
1901
+ phone: "phone",
1902
+ inbox: "inbox",
1903
+ member: "member"
1904
+ };
1905
+ var ImportSkippedRuleResponseNeededResourceTypesItem = {
1906
+ phone: "phone",
1907
+ inbox: "inbox",
1908
+ member: "member"
1909
+ };
1910
+ var ImportSkippedRuleResponseParentKind = {
1911
+ routine: "routine",
1912
+ journey_step: "journey_step",
1913
+ task: "task",
1914
+ workflow: "workflow",
1915
+ other: "other"
1916
+ };
1917
+ var ImportSkippedRuleResponseReasonCode = {
1918
+ missing_binding: "missing_binding",
1919
+ invalid_event_rule_cel: "invalid_event_rule_cel",
1920
+ unresolved_journey_scope: "unresolved_journey_scope"
1921
+ };
1922
+ var ImportSkippedRuleResponseStatus = {
1923
+ outstanding: "outstanding",
1924
+ reconnected: "reconnected",
1925
+ dismissed: "dismissed"
1926
+ };
1927
+
1579
1928
  // src/app-context.ts
1580
1929
  function formatAppContextAsMarkdown(context) {
1581
1930
  if (!context) {
@@ -1764,6 +2113,12 @@ function isChatType(value) {
1764
2113
 
1765
2114
  // src/constants/models.ts
1766
2115
  var DEFAULT_CHAT_MODEL = "aws:bedrock:claude-4-5-haiku";
2116
+ var DEFAULT_AGENT_CHAT_MODEL = "openai:chat:gpt-5.6-luna";
2117
+ var DEFAULT_AGENT_REALTIME_MODEL = "xai:realtime:voice-agent-2";
2118
+ var DEFAULT_AGENT_REALTIME_MODEL_CONFIG = {
2119
+ ttsModel: "native",
2120
+ voiceModel: "xai:voice:cosmo"
2121
+ };
1767
2122
  var DEFAULT_VOICE_INFERENCE_MODEL = "openai:chat:gpt-5.6-luna";
1768
2123
  var DEFAULT_CUSTOM_VOICE_MODEL = "elevenlabs:voice:river";
1769
2124
 
@@ -1872,7 +2227,9 @@ var SCOPES = {
1872
2227
  "chats:write": {
1873
2228
  name: "chats:write",
1874
2229
  category: "chats" /* CHATS */,
1875
- description: "Send messages in conversations",
2230
+ // Cross-member: acting in a conversation that is not yours. Sending in
2231
+ // your own needs no scope (see the chats:read note on "all").
2232
+ description: "Modify other members' conversations",
1876
2233
  implies: ["chats:read"]
1877
2234
  },
1878
2235
  "chats:admin": {
@@ -2462,6 +2819,9 @@ function isApiValidationError(value) {
2462
2819
  const v = value;
2463
2820
  return typeof v.field === "string" && typeof v.kind === "string" && typeof v.message === "string";
2464
2821
  }
2822
+ function logApiClientError(_error) {
2823
+ console.warn("API request failed");
2824
+ }
2465
2825
  var ApiError = class extends Error {
2466
2826
  statusCode;
2467
2827
  /** Legacy string-array errors — kept for non-validation callers. */
@@ -2480,6 +2840,7 @@ var ApiError = class extends Error {
2480
2840
  errorData;
2481
2841
  constructor(message, statusCode, errors, validationErrors) {
2482
2842
  super(message);
2843
+ this.name = "ApiError";
2483
2844
  this.statusCode = statusCode;
2484
2845
  this.errors = errors;
2485
2846
  this.validationErrors = validationErrors;
@@ -2739,9 +3100,10 @@ ${formattedErrors}`, response.status);
2739
3100
  const message = errorData.detail ? `${errorData.detail}: ${details}` : `Validation failed: ${details}`;
2740
3101
  throw new ApiError(message, response.status, stringErrors);
2741
3102
  }
2742
- const structuredError = errorData.detail || errorData;
3103
+ const detail = errorData.detail;
3104
+ const structuredError = detail && typeof detail === "object" ? detail : errorData;
2743
3105
  if (structuredError && typeof structuredError === "object" && (structuredError.error === true || structuredError.code)) {
2744
- const message = structuredError.message || structuredError.code || "Unknown error";
3106
+ const message = typeof detail === "string" && detail || structuredError.message || structuredError.code || "Unknown error";
2745
3107
  const error = new ApiError(message, response.status);
2746
3108
  error.errorData = structuredError;
2747
3109
  throw error;
@@ -2758,7 +3120,7 @@ ${formattedErrors}`, response.status);
2758
3120
  }
2759
3121
  return response.json();
2760
3122
  } catch (error) {
2761
- console.warn(error);
3123
+ logApiClientError(error);
2762
3124
  throw error;
2763
3125
  }
2764
3126
  }
@@ -2865,7 +3227,7 @@ ${formattedErrors}`, response.status);
2865
3227
  }
2866
3228
  return response;
2867
3229
  } catch (error) {
2868
- console.warn(error);
3230
+ logApiClientError(error);
2869
3231
  throw error;
2870
3232
  }
2871
3233
  }
@@ -2911,7 +3273,7 @@ ${formattedErrors}`, response.status);
2911
3273
  }
2912
3274
  return response.json();
2913
3275
  } catch (error) {
2914
- console.warn(error);
3276
+ logApiClientError(error);
2915
3277
  throw error;
2916
3278
  }
2917
3279
  }
@@ -4152,17 +4514,6 @@ var CallsApi = class extends BaseApiClient {
4152
4514
  `w/${wid}/calls${params.toString() ? `?${params.toString()}` : ""}`
4153
4515
  );
4154
4516
  }
4155
- /** Initiate a new outbound call. */
4156
- async initiateCall(wid, request) {
4157
- return this.fetch(`w/${wid}/call`, {
4158
- method: "POST",
4159
- body: JSON.stringify(request)
4160
- });
4161
- }
4162
- /** Get a voice authentication token for real-time audio. */
4163
- async getVoiceToken(wid) {
4164
- return this.fetch(`w/${wid}/voice/token`);
4165
- }
4166
4517
  /** Get message timing data for a chat recording. */
4167
4518
  async getMessageTiming(wid, chatId) {
4168
4519
  return this.fetch(`w/${wid}/recordings/chat/${chatId}/message-timing`);
@@ -4288,6 +4639,26 @@ var ChatsApi = class extends BaseApiClient {
4288
4639
  async getChat(wid, id) {
4289
4640
  return this.fetch(`w/${wid}/chats/${id}`);
4290
4641
  }
4642
+ /**
4643
+ * Get a short-lived, interactive AgentCore browser view for this Chat.
4644
+ *
4645
+ * The signed URL is deliberately response-local. Callers must keep it in
4646
+ * memory only and request a fresh value when reopening the view.
4647
+ */
4648
+ async getChatBrowserLiveView(wid, chatId) {
4649
+ const response = await this.fetchRaw(`w/${wid}/chats/${chatId}/browser/live-view`);
4650
+ if (response.status === 204) return null;
4651
+ return response.json();
4652
+ }
4653
+ /**
4654
+ * Which machine resources this Chat is running right now.
4655
+ *
4656
+ * Infrastructure state only — no Chat content — so it is safe to poll while
4657
+ * a Chat is open.
4658
+ */
4659
+ async getChatMachineResources(wid, chatId) {
4660
+ return this.fetch(`w/${wid}/chats/${chatId}/machine-resources`);
4661
+ }
4291
4662
  /**
4292
4663
  * Create-chat preflight for SMS: is a conversation already live between this
4293
4664
  * workspace number and this member?
@@ -4315,6 +4686,23 @@ var ChatsApi = class extends BaseApiClient {
4315
4686
  async getChatCallbacks(wid, chatId) {
4316
4687
  return this.fetch(`w/${wid}/chats/${chatId}/callbacks`);
4317
4688
  }
4689
+ /**
4690
+ * List EHR write-back outcomes for a chat (newest first).
4691
+ *
4692
+ * Operator surface: the endpoint requires `chats:read` in addition to the
4693
+ * chat's own object authorization, so a chat owner reading their own chat
4694
+ * does not reach it. The response carries IDs and closed-vocabulary codes
4695
+ * only — no note body, summary, member fields, or provider messages.
4696
+ */
4697
+ async getChatEhrWritebackOutcomes(wid, chatId, options = {}) {
4698
+ const params = new URLSearchParams();
4699
+ if (options.limit !== void 0) params.append("limit", options.limit.toString());
4700
+ if (options.cursor) params.append("cursor", options.cursor);
4701
+ const queryString = params.toString();
4702
+ return this.fetch(
4703
+ `w/${wid}/chats/${chatId}/ehr-writeback-outcomes${queryString ? `?${queryString}` : ""}`
4704
+ );
4705
+ }
4318
4706
  /** Cancel a pending scheduled callback on a chat. */
4319
4707
  async cancelChatCallback(wid, chatId, callbackId) {
4320
4708
  return this.fetch(
@@ -4326,6 +4714,18 @@ var ChatsApi = class extends BaseApiClient {
4326
4714
  async getChatTodos(wid, chatId) {
4327
4715
  return this.fetch(`w/${wid}/chats/${chatId}/todos`);
4328
4716
  }
4717
+ /**
4718
+ * The caller's own live inline-connect link for a chat.
4719
+ *
4720
+ * An `inline_connect` prompt (`UiPromptPresented.connect`) names the
4721
+ * connection but carries no URL; fetch it here when the member chooses to
4722
+ * connect. 404 when nothing is live for the caller in this chat.
4723
+ */
4724
+ async getInlineConnectLink(wid, chatId, appSlug) {
4725
+ return this.fetch(
4726
+ `w/${wid}/chats/${chatId}/inline-connect/${encodeURIComponent(appSlug)}/link`
4727
+ );
4728
+ }
4329
4729
  /** Get loaded and revealed skills for a chat. */
4330
4730
  async getChatSkills(wid, chatId) {
4331
4731
  return this.fetch(`w/${wid}/chats/${chatId}/skills`);
@@ -4360,6 +4760,23 @@ var ChatsApi = class extends BaseApiClient {
4360
4760
  method: "PUT"
4361
4761
  });
4362
4762
  }
4763
+ /** Start an interaction within an existing Chat without changing its channel. */
4764
+ async createChatInteractionSession(wid, chatId, request) {
4765
+ return this.fetch(
4766
+ `w/${wid}/chats/${chatId}/interaction-sessions`,
4767
+ {
4768
+ method: "POST",
4769
+ body: JSON.stringify(request)
4770
+ }
4771
+ );
4772
+ }
4773
+ /** End one mode session and append its replacement in the same Chat. */
4774
+ async transitionChatInteractionSession(wid, chatId, sessionId, request) {
4775
+ return this.fetch(
4776
+ `w/${wid}/chats/${chatId}/interaction-sessions/${encodeURIComponent(sessionId)}/transition`,
4777
+ { method: "POST", body: JSON.stringify(request) }
4778
+ );
4779
+ }
4363
4780
  /** Create a new chat. */
4364
4781
  async createChat(wid, chat) {
4365
4782
  const { agentMemberId, ...rest } = chat;
@@ -4419,22 +4836,12 @@ var ChatsApi = class extends BaseApiClient {
4419
4836
  });
4420
4837
  }
4421
4838
  /** Update the mute status of a chat. */
4422
- async updateChatMute(wid, id, muted) {
4839
+ async updateChatMute(wid, id, muted, muteReason, muteExpiresOnInbound) {
4423
4840
  return this.fetch(`w/${wid}/chats/${id}/mute`, {
4424
4841
  method: "PUT",
4425
- body: JSON.stringify({ muted })
4842
+ body: JSON.stringify({ muted, muteReason, muteExpiresOnInbound })
4426
4843
  });
4427
4844
  }
4428
- /** Update the needs-response flag on a chat. */
4429
- async updateChatNeedsResponse(wid, id, needsResponse) {
4430
- return this.fetch(
4431
- `w/${wid}/chats/${id}/needs-response`,
4432
- {
4433
- method: "PUT",
4434
- body: JSON.stringify({ needsResponse })
4435
- }
4436
- );
4437
- }
4438
4845
  /** Generate an AI summary for a chat, optionally updating its labels. */
4439
4846
  async summarizeChat(wid, id, updateLabels) {
4440
4847
  const params = new URLSearchParams();
@@ -4450,10 +4857,11 @@ var ChatsApi = class extends BaseApiClient {
4450
4857
  }
4451
4858
  /** List messages in a chat with optional pagination.
4452
4859
  * ``id`` is the numeric chat id (documented) or the chat uuid (accepted). */
4453
- async getChatMessages(wid, id, limit, offset) {
4860
+ async getChatMessages(wid, id, limit, offset, before) {
4454
4861
  const params = new URLSearchParams();
4455
4862
  if (limit) params.append("limit", limit.toString());
4456
4863
  if (offset) params.append("offset", offset.toString());
4864
+ if (before) params.append("before", before);
4457
4865
  return this.fetch(
4458
4866
  `w/${wid}/chats/${id}/messages${params.toString() ? `?${params.toString()}` : ""}`
4459
4867
  );
@@ -4873,6 +5281,35 @@ var DashboardsApi = class extends BaseApiClient {
4873
5281
 
4874
5282
  // src/api/data-types.ts
4875
5283
  var DataTypesApi = class extends BaseApiClient {
5284
+ /** Read the local Form's draft and optimistic publication counters. */
5285
+ async getDataTypeDraft(wid, id) {
5286
+ return this.fetch(`w/${wid}/data-types/${id}/schema-draft`);
5287
+ }
5288
+ /** Save a draft without changing the schema used to validate live records. */
5289
+ async saveDataTypeDraft(wid, id, request) {
5290
+ return this.fetch(`w/${wid}/data-types/${id}/schema-draft`, {
5291
+ method: "PUT",
5292
+ body: JSON.stringify(request)
5293
+ });
5294
+ }
5295
+ /** Publish the expected draft as the next immutable local schema version. */
5296
+ async publishDataTypeDraft(wid, id, request) {
5297
+ return this.fetch(`w/${wid}/data-types/${id}/schema-publish`, {
5298
+ method: "POST",
5299
+ body: JSON.stringify(request)
5300
+ });
5301
+ }
5302
+ /** List schema history newest first; use the last version as the next cursor. */
5303
+ async getDataTypeVersions(wid, id, options) {
5304
+ const params = new URLSearchParams();
5305
+ if (options?.beforeVersion !== void 0)
5306
+ params.set("beforeVersion", String(options.beforeVersion));
5307
+ if (options?.limit !== void 0) params.set("limit", String(options.limit));
5308
+ const query = params.toString();
5309
+ return this.fetch(
5310
+ `w/${wid}/data-types/${id}/schema-versions${query ? `?${query}` : ""}`
5311
+ );
5312
+ }
4876
5313
  /** List all data types for a workspace, optionally filtering by archived status. */
4877
5314
  async getDataTypes(wid, options) {
4878
5315
  const params = new URLSearchParams();
@@ -4941,7 +5378,6 @@ var DataTypesApi = class extends BaseApiClient {
4941
5378
  const params = new URLSearchParams();
4942
5379
  if (options?.memberId !== void 0) params.append("member_id", options.memberId.toString());
4943
5380
  if (options?.memberIds?.length) params.append("member_ids", options.memberIds.join(","));
4944
- if (options?.recordId !== void 0) params.append("record_id", options.recordId.toString());
4945
5381
  if (options?.search) params.append("search", options.search);
4946
5382
  if (options?.searchField) params.append("search_field", options.searchField);
4947
5383
  if (options?.dataRecordFilterId != null) {
@@ -5097,36 +5533,35 @@ function isUuid(value) {
5097
5533
 
5098
5534
  // src/api/devices.ts
5099
5535
  var DevicesApi = class extends BaseApiClient {
5100
- /** List devices visible to the caller (own devices, or all with devices:admin). */
5101
- async getDevices(wid, options = {}) {
5102
- const qs = options.mine ? "?mine=true" : "";
5103
- return this.fetch(`w/${wid}/devices${qs}`);
5536
+ /** List devices owned by the current Account. */
5537
+ async getDevices() {
5538
+ return this.fetch("account/devices");
5104
5539
  }
5105
- /** Fetch one device by UUID. Non-owners without devices:admin receive 404. */
5106
- async getDevice(wid, deviceUuid) {
5107
- return this.fetch(`w/${wid}/devices/${deviceUuid}`);
5540
+ /** Fetch one device owned by the current Account. Other devices return 404. */
5541
+ async getDevice(deviceUuid) {
5542
+ return this.fetch(`account/devices/${deviceUuid}`);
5108
5543
  }
5109
5544
  /** List shippable companion-device products (Lantern, later SKUs). */
5110
- async getDeviceKinds(wid) {
5111
- return this.fetch(`w/${wid}/devices/kinds`);
5545
+ async getDeviceKinds() {
5546
+ return this.fetch("account/devices/kinds");
5112
5547
  }
5113
- /** Claim a pairing code shown on a companion device. Requires devices:write. */
5114
- async claimDevicePairing(wid, body) {
5115
- return this.fetch(`w/${wid}/devices/pairing/claim`, {
5548
+ /** Claim a pairing code shown on a companion device for the current Account. */
5549
+ async claimDevicePairing(body) {
5550
+ return this.fetch("account/devices/pairing/claim", {
5116
5551
  method: "POST",
5117
5552
  body: JSON.stringify(body)
5118
5553
  });
5119
5554
  }
5120
- /** Update display name and/or LAN capability flags. Requires devices:write. */
5121
- async updateDevice(wid, deviceUuid, body) {
5122
- return this.fetch(`w/${wid}/devices/${deviceUuid}`, {
5555
+ /** Update display name and/or LAN capability flags on an owned device. */
5556
+ async updateDevice(deviceUuid, body) {
5557
+ return this.fetch(`account/devices/${deviceUuid}`, {
5123
5558
  method: "PATCH",
5124
5559
  body: JSON.stringify(body)
5125
5560
  });
5126
5561
  }
5127
- /** Revoke a device credential. The device must pair again. Requires devices:write. */
5128
- async revokeDevice(wid, deviceUuid) {
5129
- return this.fetch(`w/${wid}/devices/${deviceUuid}/revoke`, {
5562
+ /** Revoke an owned device credential. The device must pair again. */
5563
+ async revokeDevice(deviceUuid) {
5564
+ return this.fetch(`account/devices/${deviceUuid}/revoke`, {
5130
5565
  method: "POST",
5131
5566
  body: JSON.stringify({})
5132
5567
  });
@@ -5555,6 +5990,22 @@ var EventsApi = class extends BaseApiClient {
5555
5990
  }
5556
5991
  );
5557
5992
  }
5993
+ /**
5994
+ * Preview what would stop a draft Routine placing its scheduled outbound
5995
+ * calls — the Member voice opt-out, a missing member phone, or a
5996
+ * workspace number that is stale, archived, or not voice-enabled.
5997
+ * Non-persisting and advisory. The audience is reported as counts only,
5998
+ * never as Member rows.
5999
+ */
6000
+ async previewRoutineVoiceReadiness(wid, request) {
6001
+ return this.fetch(
6002
+ `w/${wid}/routines/preview-voice-readiness`,
6003
+ {
6004
+ method: "POST",
6005
+ body: JSON.stringify(request)
6006
+ }
6007
+ );
6008
+ }
5558
6009
  /** List routines with optional pagination and active status filtering. */
5559
6010
  async getRoutines(wid, options = {}) {
5560
6011
  const params = new URLSearchParams();
@@ -5564,6 +6015,8 @@ var EventsApi = class extends BaseApiClient {
5564
6015
  if (options.sortOrder) params.append("sortOrder", options.sortOrder);
5565
6016
  if (options.owner) params.append("owner", options.owner);
5566
6017
  if (options.ownerId) params.append("ownerId", options.ownerId.toString());
6018
+ if (options.agentId) params.append("agentId", options.agentId.toString());
6019
+ if (options.agentOnly) params.append("agentOnly", "true");
5567
6020
  return this.fetch(
5568
6021
  `w/${wid}/routines${params.toString() ? `?${params.toString()}` : ""}`
5569
6022
  );
@@ -6533,7 +6986,14 @@ var InboxesApi = class extends BaseApiClient {
6533
6986
  async getInboxes(wid) {
6534
6987
  return this.fetch(`w/${wid}/inboxes`);
6535
6988
  }
6536
- /** Get an inbox by ID. */
6989
+ /**
6990
+ * Get an inbox by ID or UUID.
6991
+ *
6992
+ * The route has always taken either (`inbox_id: str = Path(..., description=
6993
+ * "Inbox ID or UUID")`); the signature said `number`, which put the UUID path
6994
+ * out of reach for a caller holding an inbox ref from the activity feed —
6995
+ * where refs are UUID-only by design.
6996
+ */
6537
6997
  async getInbox(wid, id) {
6538
6998
  return this.fetch(`w/${wid}/inboxes/${id}`);
6539
6999
  }
@@ -7072,6 +7532,19 @@ var MembersApi = class extends BaseApiClient {
7072
7532
  async getWorkspaceMember(wid, memberId) {
7073
7533
  return this.fetch(`w/${wid}/members/${memberId}`);
7074
7534
  }
7535
+ /**
7536
+ * Get one member of an org's workspace, under `org:read`.
7537
+ *
7538
+ * The same record and the same shape as `getWorkspaceMember`, for a reader
7539
+ * whose authority is the org rather than a member row in that workspace —
7540
+ * an org Activity pane opening a member it just listed. A workspace outside
7541
+ * the org is a 404, indistinguishable from a member id that does not exist.
7542
+ */
7543
+ async getOrgWorkspaceMember(orgUuid, workspaceUuid, memberId) {
7544
+ return this.fetch(
7545
+ `o/${orgUuid}/activity/workspaces/${workspaceUuid}/members/${memberId}`
7546
+ );
7547
+ }
7075
7548
  /** Create a new workspace member. */
7076
7549
  async createWorkspaceMember(wid, data) {
7077
7550
  return this.fetch(`w/${wid}/members`, {
@@ -7251,17 +7724,11 @@ var MembersApi = class extends BaseApiClient {
7251
7724
  * operator can decide whether to skip or explicitly overwrite before
7252
7725
  * committing. Requires MEMBERS_ADMIN and is bulk-PHI audited server-side.
7253
7726
  */
7254
- async previewImportMembers(wid, file, newMemberRoleId, options) {
7727
+ async previewImportMembers(wid, file, newMemberRoleId) {
7255
7728
  const formData = new FormData();
7256
7729
  formData.append("file", file);
7257
7730
  const params = new URLSearchParams();
7258
7731
  params.append("new_member_role_id", newMemberRoleId.toString());
7259
- if (options?.trustEmailAddresses) {
7260
- params.append("trust_email_addresses", "true");
7261
- }
7262
- if (options?.trustPhoneNumbers) {
7263
- params.append("trust_phone_numbers", "true");
7264
- }
7265
7732
  const response = await this.fetchRaw(
7266
7733
  `w/${wid}/members/import/preview?${params.toString()}`,
7267
7734
  {
@@ -7288,12 +7755,6 @@ var MembersApi = class extends BaseApiClient {
7288
7755
  formData.append("file", file);
7289
7756
  const params = new URLSearchParams();
7290
7757
  params.append("new_member_role_id", newMemberRoleId.toString());
7291
- if (options?.trustEmailAddresses) {
7292
- params.append("trust_email_addresses", "true");
7293
- }
7294
- if (options?.trustPhoneNumbers) {
7295
- params.append("trust_phone_numbers", "true");
7296
- }
7297
7758
  if (options?.identityConflictPolicy) {
7298
7759
  params.append("identity_conflict_policy", options.identityConflictPolicy);
7299
7760
  }
@@ -7542,13 +8003,255 @@ var MembersApi = class extends BaseApiClient {
7542
8003
  async getMemberSyncLinks(wid, memberId) {
7543
8004
  return this.fetch(`w/${wid}/members/${memberId}/sync-links`);
7544
8005
  }
8006
+ async getMemberRelationships(wid, memberId, params) {
8007
+ const search = new URLSearchParams();
8008
+ if (params?.page) search.set("page", String(params.page));
8009
+ if (params?.pageSize) search.set("pageSize", String(params.pageSize));
8010
+ if (params?.kind) search.set("kind", params.kind);
8011
+ const qs = search.toString();
8012
+ return this.fetch(
8013
+ `w/${wid}/members/${memberId}/relationships${qs ? `?${qs}` : ""}`
8014
+ );
8015
+ }
8016
+ async createMemberRelationship(wid, memberId, body) {
8017
+ return this.fetch(`w/${wid}/members/${memberId}/relationships`, {
8018
+ method: "POST",
8019
+ body: JSON.stringify(body)
8020
+ });
8021
+ }
8022
+ async archiveMemberRelationship(wid, memberId, relationshipId) {
8023
+ return this.fetch(
8024
+ `w/${wid}/members/${memberId}/relationships/${relationshipId}`,
8025
+ { method: "DELETE" }
8026
+ );
8027
+ }
7545
8028
  };
7546
8029
 
7547
- // src/api/activity-timeline.ts
7548
- var ActivityTimelineApi = class extends BaseApiClient {
7549
- /** One page of activity. Omit `cursor` for a fresh snapshot. */
7550
- async queryActivityTimeline(wid, request = {}) {
7551
- return this.fetch(`w/${wid}/activity-timeline/query`, {
8030
+ // src/api/activity.ts
8031
+ var ActivityApi = class extends BaseApiClient {
8032
+ /** The account mount: this caller's whole estate, at any grain. */
8033
+ async queryActivity(request) {
8034
+ return this.fetch("activity/query", {
8035
+ method: "POST",
8036
+ body: JSON.stringify(request)
8037
+ });
8038
+ }
8039
+ /**
8040
+ * Latest admitted event for each workspace-qualified Activity subject.
8041
+ * Scope authorization and any event-type leaf authorization are both
8042
+ * applied before a subject is returned.
8043
+ */
8044
+ async queryActivityLatestSubjects(request) {
8045
+ return this.fetch("activity/latest-subjects", {
8046
+ method: "POST",
8047
+ body: JSON.stringify(request)
8048
+ });
8049
+ }
8050
+ /**
8051
+ * The account mount's priority lane — one queue per human. `openedAfter`
8052
+ * may bound the active backlog without changing the priority policy.
8053
+ */
8054
+ async queryActivityOpenItems(request = {}) {
8055
+ return this.fetch("activity/open-items", {
8056
+ method: "POST",
8057
+ body: JSON.stringify(request)
8058
+ });
8059
+ }
8060
+ /**
8061
+ * The account mount's one view: one stream of occurrences, some carrying
8062
+ * open state. The window bounds the event axis; open items older than it
8063
+ * arrive as `olderOpenCount`, never hidden.
8064
+ */
8065
+ async queryActivityOneView(request) {
8066
+ return this.fetch("activity/one-view", {
8067
+ method: "POST",
8068
+ body: JSON.stringify(request)
8069
+ });
8070
+ }
8071
+ /** The account mount's badge numbers. */
8072
+ async getActivityCounts(request = {}) {
8073
+ return this.fetch("activity/counts", {
8074
+ method: "POST",
8075
+ body: JSON.stringify(request)
8076
+ });
8077
+ }
8078
+ /**
8079
+ * What this caller's estate admits, so a client renders honest controls.
8080
+ *
8081
+ * Account mount only, and deliberately so: the org and workspace mounts
8082
+ * answer the same question through the surfaces that already serve their
8083
+ * membership. Not an authorization decision — every read re-derives that.
8084
+ */
8085
+ async getActivityCapabilities() {
8086
+ return this.fetch("activity/capabilities", { method: "GET" });
8087
+ }
8088
+ /** The org mount. `org:info` is the entry gate; `org:read` widens the rows. */
8089
+ async queryOrgActivity(orgUuid, request) {
8090
+ return this.fetch(`o/${orgUuid}/activity/query`, {
8091
+ method: "POST",
8092
+ body: JSON.stringify(request)
8093
+ });
8094
+ }
8095
+ async queryOrgActivityLatestSubjects(orgUuid, request) {
8096
+ return this.fetch(`o/${orgUuid}/activity/latest-subjects`, {
8097
+ method: "POST",
8098
+ body: JSON.stringify(request)
8099
+ });
8100
+ }
8101
+ /** The org mount's priority lane. */
8102
+ async queryOrgActivityOpenItems(orgUuid, request = {}) {
8103
+ return this.fetch(`o/${orgUuid}/activity/open-items`, {
8104
+ method: "POST",
8105
+ body: JSON.stringify(request)
8106
+ });
8107
+ }
8108
+ /** The org mount's one view. */
8109
+ async queryOrgActivityOneView(orgUuid, request) {
8110
+ return this.fetch(`o/${orgUuid}/activity/one-view`, {
8111
+ method: "POST",
8112
+ body: JSON.stringify(request)
8113
+ });
8114
+ }
8115
+ /** The org mount's badge numbers. */
8116
+ async getOrgActivityCounts(orgUuid, request = {}) {
8117
+ return this.fetch(`o/${orgUuid}/activity/counts`, {
8118
+ method: "POST",
8119
+ body: JSON.stringify(request)
8120
+ });
8121
+ }
8122
+ /**
8123
+ * The specifics behind a page of aggregate lines, in one round trip.
8124
+ *
8125
+ * Each entry of `request.lines` is an aggregate line's **own server-issued
8126
+ * drill**, POSTed back verbatim, and the response is positional with it — so
8127
+ * a caller maps groups back to rows without inventing a key and without a
8128
+ * second expression of the slice that could drift from the count above it.
8129
+ *
8130
+ * Aggregate-shaped, never row-level: counts per PHI-silent key. A digest the
8131
+ * server could not finish comes back with `complete: false` and no groups,
8132
+ * which a client renders as the plain count phrase rather than as a slice
8133
+ * presented as the whole.
8134
+ */
8135
+ async queryActivityDigest(request) {
8136
+ return this.fetch("activity/digest", {
8137
+ method: "POST",
8138
+ body: JSON.stringify(request)
8139
+ });
8140
+ }
8141
+ /** The org mount's digest. */
8142
+ async queryOrgActivityDigest(orgUuid, request) {
8143
+ return this.fetch(`o/${orgUuid}/activity/digest`, {
8144
+ method: "POST",
8145
+ body: JSON.stringify(request)
8146
+ });
8147
+ }
8148
+ /** The workspace mount's digest. */
8149
+ async queryWorkspaceActivityDigest(workspaceUuid, request) {
8150
+ return this.fetch(`w/${workspaceUuid}/activity/digest`, {
8151
+ method: "POST",
8152
+ body: JSON.stringify(request)
8153
+ });
8154
+ }
8155
+ /** The workspace mount. The request's own member session carries its scopes. */
8156
+ async queryWorkspaceActivity(workspaceUuid, request) {
8157
+ return this.fetch(`w/${workspaceUuid}/activity/query`, {
8158
+ method: "POST",
8159
+ body: JSON.stringify(request)
8160
+ });
8161
+ }
8162
+ async queryWorkspaceActivityLatestSubjects(workspaceUuid, request) {
8163
+ return this.fetch(`w/${workspaceUuid}/activity/latest-subjects`, {
8164
+ method: "POST",
8165
+ body: JSON.stringify(request)
8166
+ });
8167
+ }
8168
+ /** The workspace mount's priority lane. */
8169
+ async queryWorkspaceActivityOpenItems(workspaceUuid, request = {}) {
8170
+ return this.fetch(`w/${workspaceUuid}/activity/open-items`, {
8171
+ method: "POST",
8172
+ body: JSON.stringify(request)
8173
+ });
8174
+ }
8175
+ /** The workspace mount's one view. */
8176
+ async queryWorkspaceActivityOneView(workspaceUuid, request) {
8177
+ return this.fetch(`w/${workspaceUuid}/activity/one-view`, {
8178
+ method: "POST",
8179
+ body: JSON.stringify(request)
8180
+ });
8181
+ }
8182
+ /** The workspace mount's badge numbers. */
8183
+ async getWorkspaceActivityCounts(workspaceUuid, request = {}) {
8184
+ return this.fetch(`w/${workspaceUuid}/activity/counts`, {
8185
+ method: "POST",
8186
+ body: JSON.stringify(request)
8187
+ });
8188
+ }
8189
+ /**
8190
+ * Hydrate a page of typed refs in one round trip.
8191
+ *
8192
+ * The relief valve the design names for chatty hydration, and the by-UUID
8193
+ * read path most entity kinds otherwise lack: nineteen kinds resolve here,
8194
+ * each through the workspace's own live authorizers under the caller's
8195
+ * session. One request per workspace per listing, instead of one per ref.
8196
+ *
8197
+ * **Every requested ref comes back**, in the order it was sent and
8198
+ * deduplicated on `(kind, uuid)`. A ref the caller may not see is an entry
8199
+ * with `status: 'unresolved'` — never a 404, and never an omission, so a
8200
+ * page's ability to render never depends on what it happens to name.
8201
+ * `status: 'unsupported'` means this build has no by-UUID path for that
8202
+ * kind at all (account, org, workspace, domain, subscription and the
8203
+ * commerce kinds; see the resolve registry for each one's reason) — those
8204
+ * resolve through the mount that owns them, and retrying here will not
8205
+ * help.
8206
+ *
8207
+ * PHI: resolved labels are member-identifying data. They belong in the UI
8208
+ * and nowhere else — never a log line, never an error message.
8209
+ */
8210
+ async resolveEntityRefs(workspaceUuid, request) {
8211
+ return this.fetch(`w/${workspaceUuid}/entity-refs/resolve`, {
8212
+ method: "POST",
8213
+ body: JSON.stringify(request)
8214
+ });
8215
+ }
8216
+ /**
8217
+ * Hydrate a page of typed refs spanning an org's workspaces, in one round
8218
+ * trip. `org:info` is the gate; what it buys differs per workspace, and the
8219
+ * server decides — an `org:read` holder reads every workspace in the org,
8220
+ * an `org:info` holder the ones they belong to.
8221
+ *
8222
+ * The request groups refs by workspace because the same UUID under two
8223
+ * workspaces is two entities. A group naming a workspace this caller cannot
8224
+ * reach comes back entirely `unresolved` — the same answer a denied ref
8225
+ * gets, never an error.
8226
+ *
8227
+ * Caps: at most 500 refs and 25 workspaces across the whole request, and a
8228
+ * workspace may be named at most once in it. Each answered group carries the
8229
+ * same per-entry contract as the workspace mount: every requested ref comes
8230
+ * back, with a marker status rather than an omission.
8231
+ *
8232
+ * PHI: resolved labels are member-identifying data. They belong in the UI
8233
+ * and nowhere else — never a log line, never an error message.
8234
+ */
8235
+ async resolveOrgEntityRefs(orgUuid, request) {
8236
+ return this.fetch(`o/${orgUuid}/activity/entity-refs/resolve`, {
8237
+ method: "POST",
8238
+ body: JSON.stringify(request)
8239
+ });
8240
+ }
8241
+ /**
8242
+ * Hydrate a page of typed refs spanning the caller's whole estate.
8243
+ *
8244
+ * The same grouped body as the org mount, and the same rule that the server
8245
+ * chooses each group's authority: a workspace the caller belongs to resolves
8246
+ * under their own member row, and a workspace they reach by holding
8247
+ * `org:read` on its org resolves under that. A client never states which,
8248
+ * because stating it would mean carrying a copy of the policy.
8249
+ *
8250
+ * PHI: resolved labels are member-identifying data. They belong in the UI
8251
+ * and nowhere else — never a log line, never an error message.
8252
+ */
8253
+ async resolveAccountEntityRefs(request) {
8254
+ return this.fetch(`activity/entity-refs/resolve`, {
7552
8255
  method: "POST",
7553
8256
  body: JSON.stringify(request)
7554
8257
  });
@@ -7742,6 +8445,10 @@ var MondayIntegrationApi = class extends BaseApiClient {
7742
8445
 
7743
8446
  // src/api/intervention-requests.ts
7744
8447
  var InterventionRequestsApi = class extends BaseApiClient {
8448
+ /** List every visible Chat that currently needs attention in Agent Mode. */
8449
+ async getAgentModeAttention(wid) {
8450
+ return this.fetch(`w/${wid}/agent-mode/attention`);
8451
+ }
7745
8452
  /** List intervention requests in a workspace, newest first. */
7746
8453
  async getInterventionRequests(wid, params = {}) {
7747
8454
  const query = new URLSearchParams();
@@ -7755,6 +8462,23 @@ var InterventionRequestsApi = class extends BaseApiClient {
7755
8462
  `w/${wid}/intervention-requests${qs ? `?${qs}` : ""}`
7756
8463
  );
7757
8464
  }
8465
+ /**
8466
+ * Resolve one intervention request. One row, one resolution — whoever takes
8467
+ * it closes it for everyone who was notified. Resolving an already-resolved
8468
+ * request is a 409 conflict; a non-escalation request is a 409 too.
8469
+ *
8470
+ * The JSON body (empty when no note is supplied) is required as a CSRF
8471
+ * barrier (GRA-6284), so a cross-site form POST cannot reach it.
8472
+ */
8473
+ async resolveInterventionRequest(wid, requestId, params = {}) {
8474
+ return this.fetch(
8475
+ `w/${wid}/intervention-requests/${requestId}/resolve`,
8476
+ {
8477
+ method: "POST",
8478
+ body: JSON.stringify(params)
8479
+ }
8480
+ );
8481
+ }
7758
8482
  };
7759
8483
 
7760
8484
  // src/api/notification-rules.ts
@@ -7836,12 +8560,6 @@ var OperatorApi = class extends BaseApiClient {
7836
8560
  async getPresenceStatus(wid) {
7837
8561
  return this.fetch(`w/${wid}/presence/me`);
7838
8562
  }
7839
- /** Disconnect the current member's presence session. */
7840
- async disconnectPresence(wid) {
7841
- return this.fetch(`w/${wid}/presence/disconnect-self`, {
7842
- method: "POST"
7843
- });
7844
- }
7845
8563
  // Operator chat message methods
7846
8564
  /** Get paginated chat messages for an operator chat. */
7847
8565
  async getOperatorChatMessages(wid, chatId, limit = 50, offset = 0) {
@@ -8411,6 +9129,28 @@ var OrgApi = class extends BaseApiClient {
8411
9129
  async getLegalEntity(orgUuid, legalEntityUuid) {
8412
9130
  return this.fetch(`o/${orgUuid}/legal-entities/${legalEntityUuid}`);
8413
9131
  }
9132
+ /**
9133
+ * Read one registration draft for a legal entity.
9134
+ *
9135
+ * A draft is what the operator has typed but not submitted. It exists so
9136
+ * data entry is never gated on a prerequisite: someone can write down the
9137
+ * caller-ID name today and submit it the day the business is verified.
9138
+ */
9139
+ async getRegistrationDraft(orgUuid, legalEntityUuid, kind) {
9140
+ return this.fetch(
9141
+ `o/${orgUuid}/legal-entities/${legalEntityUuid}/registration-drafts/${kind}`
9142
+ );
9143
+ }
9144
+ /**
9145
+ * Save one registration draft. Always accepted — the server refuses only
9146
+ * an oversized body, never an unfinished one.
9147
+ */
9148
+ async saveRegistrationDraft(orgUuid, legalEntityUuid, kind, data) {
9149
+ return this.fetch(
9150
+ `o/${orgUuid}/legal-entities/${legalEntityUuid}/registration-drafts/${kind}`,
9151
+ { method: "PUT", body: JSON.stringify({ data }) }
9152
+ );
9153
+ }
8414
9154
  /** Cached voice trust product state (CNAM / SHAKEN-STIR / Voice Integrity) for one legal entity. */
8415
9155
  async getVoiceTrustProducts(orgUuid, legalEntityUuid) {
8416
9156
  return this.fetch(
@@ -8584,6 +9324,42 @@ var OrgApi = class extends BaseApiClient {
8584
9324
  }
8585
9325
  );
8586
9326
  }
9327
+ // =========================================================================
9328
+ // Organization webhook endpoints (GRA-8314)
9329
+ // =========================================================================
9330
+ async listOrgWebhookEndpoints(orgIdOrUuid) {
9331
+ return this.fetch(`o/${orgIdOrUuid}/webhooks`);
9332
+ }
9333
+ /**
9334
+ * The subscribable event-type vocabulary for the org UI's event-type
9335
+ * picker — exactly what the create/update validators accept, so the UI
9336
+ * never offers a type the API would reject.
9337
+ */
9338
+ async listOrgWebhookEventTypes(orgIdOrUuid) {
9339
+ return this.fetch(`o/${orgIdOrUuid}/webhooks/event-types`);
9340
+ }
9341
+ async createOrgWebhookEndpoint(orgIdOrUuid, data) {
9342
+ return this.fetch(`o/${orgIdOrUuid}/webhooks`, {
9343
+ method: "POST",
9344
+ body: JSON.stringify(data)
9345
+ });
9346
+ }
9347
+ async updateOrgWebhookEndpoint(orgIdOrUuid, endpointUuid, data) {
9348
+ return this.fetch(`o/${orgIdOrUuid}/webhooks/${endpointUuid}`, {
9349
+ method: "PATCH",
9350
+ body: JSON.stringify(data)
9351
+ });
9352
+ }
9353
+ async deleteOrgWebhookEndpoint(orgIdOrUuid, endpointUuid) {
9354
+ return this.fetch(`o/${orgIdOrUuid}/webhooks/${endpointUuid}`, {
9355
+ method: "DELETE"
9356
+ });
9357
+ }
9358
+ async listOrgWebhookEndpointDeliveries(orgIdOrUuid, endpointUuid, limit = 50) {
9359
+ return this.fetch(
9360
+ `o/${orgIdOrUuid}/webhooks/${endpointUuid}/deliveries?limit=${limit}`
9361
+ );
9362
+ }
8587
9363
  };
8588
9364
  function businessProfilePath(orgUuid, legalEntityUuid) {
8589
9365
  return legalEntityUuid ? `o/${orgUuid}/legal-entities/${legalEntityUuid}/business-profile` : `o/${orgUuid}/business-profile`;
@@ -9004,6 +9780,8 @@ var PersonasApi = class extends BaseApiClient {
9004
9780
  const q = new URLSearchParams();
9005
9781
  if (params?.page !== void 0) q.set("page", String(params.page));
9006
9782
  if (params?.pageSize !== void 0) q.set("pageSize", String(params.pageSize));
9783
+ if (params?.includeArchived !== void 0)
9784
+ q.set("includeArchived", String(params.includeArchived));
9007
9785
  const qs = q.toString() ? `?${q.toString()}` : "";
9008
9786
  return this.fetch(`w/${wid}/personas${qs}`);
9009
9787
  }
@@ -9022,6 +9800,18 @@ var PersonasApi = class extends BaseApiClient {
9022
9800
  body: JSON.stringify(data)
9023
9801
  });
9024
9802
  }
9803
+ async archivePersona(wid, id) {
9804
+ return this.fetch(`w/${wid}/personas/${id}/archive`, {
9805
+ method: "POST",
9806
+ body: JSON.stringify({})
9807
+ });
9808
+ }
9809
+ async unarchivePersona(wid, id) {
9810
+ return this.fetch(`w/${wid}/personas/${id}/unarchive`, {
9811
+ method: "POST",
9812
+ body: JSON.stringify({})
9813
+ });
9814
+ }
9025
9815
  async deletePersona(wid, id) {
9026
9816
  return this.fetch(`w/${wid}/personas/${id}`, { method: "DELETE" });
9027
9817
  }
@@ -10723,6 +11513,59 @@ var JourneysApi = class extends BaseApiClient {
10723
11513
  async getJourneyAuthoring(wid, journeyId) {
10724
11514
  return this.fetch(`w/${wid}/journeys/${journeyId}/authoring`);
10725
11515
  }
11516
+ /**
11517
+ * Atomically replace a v2 Journey's whole definition (Journey v2 plan §3.8).
11518
+ *
11519
+ * ONE request carries the ordered touches, the wait into each touch, the
11520
+ * ordered Endings, action associations, goals, and
11521
+ * `expectedUpdatedAt` for optimistic concurrency. It is a full replacement,
11522
+ * not a patch — omitting `goals` is the one exception and leaves them alone.
11523
+ *
11524
+ * Returns the AUTHORING projection (`Journey`): the caller just wrote the
11525
+ * CEL and holds the `journeys:write` scope that authorizes reading it back.
11526
+ *
11527
+ * Refusals are HTTP 409 with a stable `code`:
11528
+ * * `journey_v2_execution_model_mismatch` — the Journey is legacy; use the
11529
+ * step/connection/goal endpoints.
11530
+ * * `journey_v2_structural_edit_not_allowed` — it is live; pause it first.
11531
+ * * `journey_v2_definition_conflict` — someone saved first; reload.
11532
+ * * `journey_v2_invalid_topology` — the resulting graph is not executable;
11533
+ * the body carries `issues` (codes and resource uuids, never CEL).
11534
+ */
11535
+ async putJourneyV2Definition(wid, journeyId, data) {
11536
+ return this.fetch(`w/${wid}/journeys/${journeyId}/v2-definition`, {
11537
+ method: "PUT",
11538
+ body: JSON.stringify(data)
11539
+ });
11540
+ }
11541
+ /**
11542
+ * Dry-run the v2 publish validator against the STORED definition.
11543
+ *
11544
+ * Answers "could I activate this right now?" without attempting the
11545
+ * transition. Issues carry closed codes and resource uuids only — never CEL
11546
+ * and never member data — so they are safe to render or log.
11547
+ */
11548
+ async getJourneyV2Validation(wid, journeyId) {
11549
+ return this.fetch(
11550
+ `w/${wid}/journeys/${journeyId}/v2-definition/validation`
11551
+ );
11552
+ }
11553
+ /**
11554
+ * MemberFilter ids and names, for the Journey authoring picker.
11555
+ *
11556
+ * A v2 wait, route or Ending may carry a structured MemberFilter predicate
11557
+ * and the author selects it by NAME (rule-filters plan §3.10). This is the
11558
+ * catalogue for that control and the whole of what it needs: two scalars per
11559
+ * filter, no `query` predicate, no rules, no counts.
11560
+ *
11561
+ * Authorized on `journeys:write` alone — deliberately NOT the Members
11562
+ * surface's `MembersApi.getMemberFilters`, which is `members:read`
11563
+ * because it returns each filter's predicate. Journey authoring should not
11564
+ * require Member-read access to name a cohort.
11565
+ */
11566
+ async getJourneyFilterOptions(wid) {
11567
+ return this.fetch(`w/${wid}/journeys/filter-options`);
11568
+ }
10726
11569
  /** Create a new journey. Returns the READ projection (`JourneyRead`). */
10727
11570
  async createJourney(wid, data) {
10728
11571
  return this.fetch(`w/${wid}/journeys`, {
@@ -10730,7 +11573,14 @@ var JourneysApi = class extends BaseApiClient {
10730
11573
  body: JSON.stringify(data)
10731
11574
  });
10732
11575
  }
10733
- /** Update an existing journey. Returns the READ projection (`JourneyRead`). */
11576
+ /**
11577
+ * Update an existing journey. Returns the READ projection (`JourneyRead`).
11578
+ *
11579
+ * `executionModel` is excluded: it is a CREATE-only field. Flipping a live
11580
+ * Journey's engine is a guarded, audited migration operation (Journey v2
11581
+ * plan §3.11), so the server has no update counterpart and sending one here
11582
+ * would silently do nothing.
11583
+ */
10734
11584
  async updateJourney(wid, journeyId, data) {
10735
11585
  return this.fetch(`w/${wid}/journeys/${journeyId}`, {
10736
11586
  method: "PUT",
@@ -10837,8 +11687,6 @@ var JourneysApi = class extends BaseApiClient {
10837
11687
  qs.set("currentTaskId", String(params.currentTaskId));
10838
11688
  if (params?.runtimeFailureEdgeId !== void 0)
10839
11689
  qs.set("runtimeFailureEdgeId", String(params.runtimeFailureEdgeId));
10840
- if (params?.memberJourneyId !== void 0)
10841
- qs.set("memberJourneyId", String(params.memberJourneyId));
10842
11690
  const query = qs.toString();
10843
11691
  return this.fetch(
10844
11692
  `w/${wid}/journeys/${journeyId}/members${query ? `?${query}` : ""}`
@@ -10992,6 +11840,15 @@ var WorkflowsApi = class extends BaseApiClient {
10992
11840
  async getWorkflow(wid, id) {
10993
11841
  return this.fetch(`w/${wid}/workflows/${id}`);
10994
11842
  }
11843
+ async getWorkflowOpeningTurnConversionReport(wid, id) {
11844
+ return this.fetch(`w/${wid}/workflows/${id}/opening-turn/conversion-report`);
11845
+ }
11846
+ async convertWorkflowStartTaskOpeningMessage(wid, id, expectedRuleId) {
11847
+ return this.fetch(`w/${wid}/workflows/${id}/opening-turn/convert-start-task-message`, {
11848
+ method: "POST",
11849
+ body: JSON.stringify({ expectedRuleId })
11850
+ });
11851
+ }
10995
11852
  /** Get activity metrics for a single workflow. */
10996
11853
  async getWorkflowActivity(wid, id, options) {
10997
11854
  const params = options?.days ? `?days=${options.days}` : "";
@@ -11476,11 +12333,31 @@ var WorkspaceInvitationsApi = class extends BaseApiClient {
11476
12333
  };
11477
12334
 
11478
12335
  // src/api/workspaces.ts
12336
+ function planFields(options) {
12337
+ if (!options) return {};
12338
+ const fields = {};
12339
+ if (options.intent !== void 0) fields.intent = options.intent;
12340
+ if (options.expectedPlanFingerprint !== void 0) {
12341
+ fields.expectedPlanFingerprint = options.expectedPlanFingerprint;
12342
+ }
12343
+ if (options.bindings !== void 0 && options.bindings.length > 0) {
12344
+ fields.bindings = options.bindings;
12345
+ }
12346
+ return fields;
12347
+ }
11479
12348
  var WorkspacesApi = class extends BaseApiClient {
11480
12349
  /** List all workspaces accessible to the current user. */
11481
12350
  async getWorkspaces() {
11482
12351
  return this.fetch("w/");
11483
12352
  }
12353
+ /**
12354
+ * Compact rows for the workspaces a companion device could enter — the
12355
+ * Lantern picker. Filtered by the same admission policy a device
12356
+ * credential is gated by, without needing the device credential.
12357
+ */
12358
+ async getDeviceAdmissibleWorkspaces() {
12359
+ return this.fetch("w/?can_use_device=1");
12360
+ }
11484
12361
  /** List all publicly visible workspaces. */
11485
12362
  async getPublicWorkspaces() {
11486
12363
  return this.fetch("w/public");
@@ -11774,18 +12651,62 @@ var WorkspacesApi = class extends BaseApiClient {
11774
12651
  const qs = searchParams.toString();
11775
12652
  return this.fetch(`w/${wid}/export${qs ? `?${qs}` : ""}`);
11776
12653
  }
11777
- /** Preview the result of importing workspace configuration without applying changes. */
11778
- async previewWorkspaceImport(wid, exportData, importMappings, createNew, autoMap) {
12654
+ /** Preview the result of importing workspace configuration without applying changes.
12655
+ *
12656
+ * Pass `options.intent = 'template_reapply'` to get the deterministic
12657
+ * re-apply plan: `planRows`, `sourceFingerprint` and `planFingerprint` come
12658
+ * back beside the legacy preview items, and the fingerprint is what
12659
+ * `importWorkspace` must be given to apply exactly that projection.
12660
+ */
12661
+ async previewWorkspaceImport(wid, exportData, importMappings, createNew, autoMap, options) {
11779
12662
  return this.fetch(`w/${wid}/preview-import`, {
11780
12663
  method: "POST",
11781
12664
  body: JSON.stringify({
11782
12665
  exportData,
11783
12666
  importMappings,
11784
12667
  createNew,
11785
- autoMap
12668
+ autoMap,
12669
+ ...planFields(options)
11786
12670
  })
11787
12671
  });
11788
12672
  }
12673
+ /**
12674
+ * Plan a workspace export ZIP against this workspace without importing it.
12675
+ *
12676
+ * The sibling of `previewWorkspaceImport`, and it exists for one reason: a
12677
+ * JSON preview has no archive, so it cannot decide whether File BYTES would
12678
+ * be replaced — that decision compares the archive's blob digest against the
12679
+ * destination's current content digest.
12680
+ */
12681
+ async previewWorkspaceImportZip(wid, archive, options) {
12682
+ const { exportData, importMappings, createNew, autoMap, ...planOptions } = options ?? {};
12683
+ const payload = {
12684
+ importMappings: importMappings ?? {},
12685
+ createNew: createNew ?? {},
12686
+ ...planFields(planOptions)
12687
+ };
12688
+ if (exportData) payload.exportData = exportData;
12689
+ if (autoMap) payload.autoMap = autoMap;
12690
+ const form = new FormData();
12691
+ form.append(
12692
+ "request",
12693
+ new Blob([JSON.stringify(payload)], { type: "application/json" }),
12694
+ "import.json"
12695
+ );
12696
+ form.append("archive", archive, "workspace-export.zip");
12697
+ return this.fetch(`w/${wid}/preview-import.zip`, {
12698
+ method: "POST",
12699
+ body: form
12700
+ });
12701
+ }
12702
+ /**
12703
+ * Everything a template re-apply adds to an import or a preview.
12704
+ *
12705
+ * `bindings` values are sent in the request body only. They are never
12706
+ * projected from a response and must never be logged: the point of a
12707
+ * binding is that a webhook endpoint and a signing secret belong to ONE
12708
+ * target workspace.
12709
+ */
11789
12710
  /** Download a workspace export ZIP (``export.json`` + file blobs). */
11790
12711
  async exportWorkspaceZip(wid, workflowId, scope, exclude) {
11791
12712
  const searchParams = new URLSearchParams();
@@ -11799,46 +12720,138 @@ var WorkspacesApi = class extends BaseApiClient {
11799
12720
  /** Import workspace configuration from exported JSON, or from a ZIP archive.
11800
12721
  * Pass ``archive`` (the ZIP from ``exportWorkspaceZip``) to restore file
11801
12722
  * contents. ``exportData`` may be omitted when the ZIP contains it.
11802
- */
11803
- async importWorkspace(wid, exportData, importMappings, createNew, archive) {
11804
- const payload = {
11805
- importMappings,
11806
- createNew
11807
- };
11808
- if (exportData) {
11809
- payload.exportData = exportData;
11810
- }
12723
+ *
12724
+ * ``activateWebhookRules`` is safety-default false: imported
12725
+ * ``webhook:send`` EventRules are force-disabled unless the operator
12726
+ * opts in. An exported-inactive rule stays inactive either way.
12727
+ *
12728
+ * With ``options.intent = 'template_reapply'`` this is the GUARDED apply.
12729
+ * It requires ``options.expectedPlanFingerprint`` — the digest a preview
12730
+ * returned — and answers 200 ``success``, 200 ``noop`` (the target already
12731
+ * matched the template, so nothing at all was recorded), 409
12732
+ * ``stale_import_plan`` or 409 ``import_plan_refused``. Both 409s commit
12733
+ * nothing and carry the complete values-free ``planRows``.
12734
+ */
12735
+ async importWorkspace(wid, exportData, importMappings, createNew, archive, activateWebhookRules, autoMap, options) {
11811
12736
  if (archive) {
11812
- const form = new FormData();
11813
- form.append(
11814
- "request",
11815
- new Blob([JSON.stringify(payload)], { type: "application/json" }),
11816
- "import.json"
11817
- );
11818
- form.append("archive", archive, "workspace-export.zip");
11819
- return this.fetch(`w/${wid}/import.zip`, {
11820
- method: "POST",
11821
- body: form
12737
+ return this.importWorkspaceZip(wid, archive, {
12738
+ ...options,
12739
+ exportData,
12740
+ importMappings,
12741
+ createNew,
12742
+ autoMap,
12743
+ activateWebhookRules
11822
12744
  });
11823
12745
  }
11824
12746
  if (!exportData) {
11825
12747
  throw new Error("exportData is required for JSON import");
11826
12748
  }
12749
+ const payload = {
12750
+ exportData,
12751
+ importMappings,
12752
+ createNew,
12753
+ ...planFields(options)
12754
+ };
12755
+ if (activateWebhookRules) {
12756
+ payload.activateWebhookRules = activateWebhookRules;
12757
+ }
12758
+ if (autoMap) {
12759
+ payload.autoMap = autoMap;
12760
+ }
11827
12761
  return this.fetch(`w/${wid}/import`, {
11828
12762
  method: "POST",
11829
12763
  body: JSON.stringify(payload)
11830
12764
  });
11831
12765
  }
12766
+ /**
12767
+ * Apply a workspace export ZIP to this workspace.
12768
+ *
12769
+ * The apply sibling of `previewWorkspaceImportZip`, and the same multipart
12770
+ * shape: the archive travels as `archive`, everything else as one JSON
12771
+ * `request` part. `exportData` defaults to `export.json` inside the ZIP, so
12772
+ * it is sent only to override it.
12773
+ *
12774
+ * With `options.intent = 'template_reapply'` this is the GUARDED apply. It
12775
+ * requires `options.expectedPlanFingerprint` — the digest a preview
12776
+ * returned — and answers 200 `success`, 200 `noop` (the target already
12777
+ * matched the template, so nothing at all was recorded), 409
12778
+ * `stale_import_plan` or 409 `import_plan_refused`. Both 409s commit
12779
+ * nothing and carry the complete values-free `planRows`.
12780
+ *
12781
+ * `options.bindings` values are sent in the request body only. They are
12782
+ * never projected from a response and must never be logged: the point of a
12783
+ * binding is that a webhook endpoint and a signing secret belong to ONE
12784
+ * target workspace.
12785
+ */
12786
+ async importWorkspaceZip(wid, archive, options) {
12787
+ const {
12788
+ exportData,
12789
+ importMappings,
12790
+ createNew,
12791
+ autoMap,
12792
+ activateWebhookRules,
12793
+ ...planOptions
12794
+ } = options ?? {};
12795
+ const payload = {
12796
+ importMappings: importMappings ?? {},
12797
+ createNew: createNew ?? {},
12798
+ ...planFields(planOptions)
12799
+ };
12800
+ if (exportData) payload.exportData = exportData;
12801
+ if (activateWebhookRules) payload.activateWebhookRules = activateWebhookRules;
12802
+ if (autoMap) payload.autoMap = autoMap;
12803
+ const form = new FormData();
12804
+ form.append(
12805
+ "request",
12806
+ new Blob([JSON.stringify(payload)], { type: "application/json" }),
12807
+ "import.json"
12808
+ );
12809
+ form.append("archive", archive, "workspace-export.zip");
12810
+ return this.fetch(`w/${wid}/import.zip`, {
12811
+ method: "POST",
12812
+ body: form
12813
+ });
12814
+ }
12815
+ /**
12816
+ * Reconnectable EventRules skipped by the latest workspace import, grouped
12817
+ * by the missing phone / inbox / member. Templates and action params are
12818
+ * not returned.
12819
+ */
12820
+ async getImportSkippedRules(wid, status) {
12821
+ const params = new URLSearchParams();
12822
+ if (status !== void 0) {
12823
+ params.set("status", status);
12824
+ }
12825
+ const qs = params.toString();
12826
+ return this.fetch(
12827
+ `w/${wid}/import/skipped-rules${qs ? `?${qs}` : ""}`
12828
+ );
12829
+ }
12830
+ /** Current bounded phone, inbox, and phone-chat binding gaps after an import. */
12831
+ async getImportReadiness(wid) {
12832
+ return this.fetch(`w/${wid}/import/readiness`);
12833
+ }
12834
+ /**
12835
+ * Re-point every outstanding skipped EventRule that needed the same source
12836
+ * resource onto a re-provisioned one, recreating each rule from its
12837
+ * preserved definition. Repeat calls no-op on already-reconnected rows.
12838
+ */
12839
+ async rebuildImportSkippedRules(wid, body) {
12840
+ return this.fetch(
12841
+ `w/${wid}/import/skipped-rules/rebuild`,
12842
+ { method: "POST", body: JSON.stringify(body) }
12843
+ );
12844
+ }
11832
12845
  /** Preview a workspace import using the legacy untyped interface. */
11833
12846
  // Legacy method for backward compatibility
11834
- async previewImportWorkspace(wid, exportData, importMappings = {}, createNew = {}) {
12847
+ async previewImportWorkspace(wid, exportData, importMappings = {}, createNew = {}, autoMap) {
12848
+ const payload = { exportData, importMappings, createNew };
12849
+ if (autoMap) {
12850
+ payload.autoMap = autoMap;
12851
+ }
11835
12852
  return this.fetch(`w/${wid}/preview-import`, {
11836
12853
  method: "POST",
11837
- body: JSON.stringify({
11838
- exportData,
11839
- importMappings,
11840
- createNew
11841
- })
12854
+ body: JSON.stringify(payload)
11842
12855
  });
11843
12856
  }
11844
12857
  /** List available themes for a workspace. */
@@ -11923,7 +12936,7 @@ function createApiModules(apiKey, baseUrl, customFetch) {
11923
12936
  connectionSync: new ConnectionSyncApi(apiKey, baseUrl, customFetch),
11924
12937
  mcpServers: new McpServersApi(apiKey, baseUrl, customFetch),
11925
12938
  members: new MembersApi(apiKey, baseUrl, customFetch),
11926
- activityTimeline: new ActivityTimelineApi(apiKey, baseUrl, customFetch),
12939
+ activity: new ActivityApi(apiKey, baseUrl, customFetch),
11927
12940
  motd: new MotdApi(apiKey, baseUrl, customFetch),
11928
12941
  trackedLinks: new TrackedLinksApi(apiKey, baseUrl, customFetch),
11929
12942
  confluence: new ConfluenceApi(apiKey, baseUrl, customFetch),
@@ -11970,6 +12983,8 @@ var WORKSPACE_METHOD_NAMES = [
11970
12983
  "archiveDataType",
11971
12984
  "archiveJourney",
11972
12985
  "archiveMember",
12986
+ "archiveMemberRelationship",
12987
+ "archivePersona",
11973
12988
  "archivePhoneNumber",
11974
12989
  "archiveStep",
11975
12990
  "archiveTask",
@@ -12022,6 +13037,8 @@ var WORKSPACE_METHOD_NAMES = [
12022
13037
  "createCalendarEventType",
12023
13038
  "createCalendarSchedule",
12024
13039
  "createChat",
13040
+ "createChatInteractionSession",
13041
+ "transitionChatInteractionSession",
12025
13042
  "createChatCompletion",
12026
13043
  "createChatFilter",
12027
13044
  "createChatLabel",
@@ -12051,6 +13068,7 @@ var WORKSPACE_METHOD_NAMES = [
12051
13068
  "createMemberFilter",
12052
13069
  "createMemberLabel",
12053
13070
  "createMemberMemory",
13071
+ "createMemberRelationship",
12054
13072
  "createMemberRole",
12055
13073
  "createMenuItem",
12056
13074
  "createNotificationRule",
@@ -12153,7 +13171,6 @@ var WORKSPACE_METHOD_NAMES = [
12153
13171
  "disconnectConfluence",
12154
13172
  "disconnectHubspot",
12155
13173
  "disconnectMondayConnection",
12156
- "disconnectPresence",
12157
13174
  "disconnectSalesforce",
12158
13175
  "discordLinkPreflight",
12159
13176
  "discoverOAuthMetadata",
@@ -12216,6 +13233,7 @@ var WORKSPACE_METHOD_NAMES = [
12216
13233
  "getAccessGrant",
12217
13234
  "getAccessGrants",
12218
13235
  "getAgent",
13236
+ "getAgentModeAttention",
12219
13237
  "getAgentTask",
12220
13238
  "getAgentTaskMessages",
12221
13239
  "getAgentTasks",
@@ -12247,7 +13265,9 @@ var WORKSPACE_METHOD_NAMES = [
12247
13265
  "getCharlestonTestDeliveryRecipients",
12248
13266
  "getChat",
12249
13267
  "getChatAssignmentTasks",
13268
+ "getChatBrowserLiveView",
12250
13269
  "getChatCallbacks",
13270
+ "getChatEhrWritebackOutcomes",
12251
13271
  "getChatEmails",
12252
13272
  "getChatFilter",
12253
13273
  "getChatFilterByUuid",
@@ -12256,6 +13276,7 @@ var WORKSPACE_METHOD_NAMES = [
12256
13276
  "getChatLabel",
12257
13277
  "getChatLabelByUuid",
12258
13278
  "getChatLabels",
13279
+ "getChatMachineResources",
12259
13280
  "getChatMessages",
12260
13281
  "getChatModelOverride",
12261
13282
  "getChatPhoneCalls",
@@ -12296,6 +13317,8 @@ var WORKSPACE_METHOD_NAMES = [
12296
13317
  "getDataRecordFilters",
12297
13318
  "getDataRecords",
12298
13319
  "getDataType",
13320
+ "getDataTypeDraft",
13321
+ "getDataTypeVersions",
12299
13322
  "getDataTypeByUuid",
12300
13323
  "getDataTypeBySlug",
12301
13324
  "getDataTypes",
@@ -12339,9 +13362,16 @@ var WORKSPACE_METHOD_NAMES = [
12339
13362
  "listChatRecordings",
12340
13363
  "previewQuery",
12341
13364
  "publishSiteSource",
12342
- "queryActivityTimeline",
13365
+ "publishDataTypeDraft",
13366
+ "saveDataTypeDraft",
13367
+ "queryWorkspaceActivity",
13368
+ "queryWorkspaceActivityLatestSubjects",
13369
+ "queryWorkspaceActivityOpenItems",
13370
+ "queryWorkspaceActivityOneView",
13371
+ "queryWorkspaceActivityDigest",
12343
13372
  "registerDiscordSlashCommands",
12344
13373
  "reopenWorkspaceSupportRequest",
13374
+ "resolveEntityRefs",
12345
13375
  "resetSiteSource",
12346
13376
  "resolveFilePath",
12347
13377
  "getFileLabel",
@@ -12369,16 +13399,22 @@ var WORKSPACE_METHOD_NAMES = [
12369
13399
  "getHubspotSyncLogs",
12370
13400
  "getHubspotTransformPresets",
12371
13401
  "getICalFeedUrl",
13402
+ "getImportSkippedRules",
13403
+ "getImportReadiness",
13404
+ "rebuildImportSkippedRules",
12372
13405
  "getInbox",
12373
13406
  "getInboxEmail",
12374
13407
  "getInboxEmails",
12375
13408
  "getInboxThreads",
12376
13409
  "getInboxes",
13410
+ "getInterventionRequests",
12377
13411
  "getJourney",
12378
13412
  "getJourneyAuthoring",
13413
+ "getJourneyFilterOptions",
12379
13414
  "getJourneyHealth",
12380
13415
  "getJourneyMembers",
12381
13416
  "getJourneyNotes",
13417
+ "getJourneyV2Validation",
12382
13418
  "getJourneys",
12383
13419
  "getLinkablePhones",
12384
13420
  "getLinkedHealthieMembers",
@@ -12406,6 +13442,7 @@ var WORKSPACE_METHOD_NAMES = [
12406
13442
  "getMemberMemories",
12407
13443
  "getMemberMemory",
12408
13444
  "getMemberRecordCounts",
13445
+ "getMemberRelationships",
12409
13446
  "getMemberRole",
12410
13447
  "getMemberRoleCleanupPlan",
12411
13448
  "getMemberRoleByUuid",
@@ -12454,8 +13491,6 @@ var WORKSPACE_METHOD_NAMES = [
12454
13491
  "getPublicFolder",
12455
13492
  "getPublicFolderFiles",
12456
13493
  "getPublicProducts",
12457
- "previewPromoCode",
12458
- "startPromoPlanTrial",
12459
13494
  "getQualification",
12460
13495
  "getQualifications",
12461
13496
  "getRecordingInfo",
@@ -12510,10 +13545,10 @@ var WORKSPACE_METHOD_NAMES = [
12510
13545
  "getUnreadNotificationCount",
12511
13546
  "getUsageDashboard",
12512
13547
  "getVariableRegistry",
12513
- "getVoiceToken",
12514
13548
  "getVoiceUsageReport",
12515
13549
  "getWebhookLogs",
12516
13550
  "getWorkflow",
13551
+ "getWorkflowOpeningTurnConversionReport",
12517
13552
  "getWorkflowAccessValidation",
12518
13553
  "getWorkflowActivity",
12519
13554
  "getWorkflowConfigValidation",
@@ -12530,6 +13565,7 @@ var WORKSPACE_METHOD_NAMES = [
12530
13565
  "getWorkflows",
12531
13566
  "getWorkflowsActivityBatch",
12532
13567
  "getWorkspace",
13568
+ "getWorkspaceActivityCounts",
12533
13569
  "getWorkspaceBuilder",
12534
13570
  "getWorkspaceBuilders",
12535
13571
  "getWorkspaceCounts",
@@ -12549,7 +13585,7 @@ var WORKSPACE_METHOD_NAMES = [
12549
13585
  "importMembers",
12550
13586
  "importSalesforceMembers",
12551
13587
  "importWorkspace",
12552
- "initiateCall",
13588
+ "importWorkspaceZip",
12553
13589
  "initiateOutboundCall",
12554
13590
  "inspectPrompt",
12555
13591
  "installHubspot",
@@ -12606,14 +13642,17 @@ var WORKSPACE_METHOD_NAMES = [
12606
13642
  "previewMemberWorkflowVoice",
12607
13643
  "previewRenameFieldSlug",
12608
13644
  "previewImportWorkspace",
13645
+ "previewRoutineVoiceReadiness",
12609
13646
  "previewRoutineWorkflowAccess",
12610
13647
  "previewSchedule",
12611
13648
  "previewTTS",
12612
13649
  "previewTemplate",
12613
13650
  "previewThinkingSound",
12614
13651
  "previewWorkspaceImport",
13652
+ "previewWorkspaceImportZip",
12615
13653
  "provisionClientWorkspace",
12616
13654
  "publishWorkflowRevision",
13655
+ "putJourneyV2Definition",
12617
13656
  "rateMessage",
12618
13657
  "getChatFeedback",
12619
13658
  "reenrollMember",
@@ -12634,6 +13673,7 @@ var WORKSPACE_METHOD_NAMES = [
12634
13673
  "resetRoutineRuns",
12635
13674
  "resolveAccessGrant",
12636
13675
  "resolveAnonymousMember",
13676
+ "resolveInterventionRequest",
12637
13677
  "restoreFileVersion",
12638
13678
  "revokeAccessGrant",
12639
13679
  "revokeApiKey",
@@ -12674,6 +13714,7 @@ var WORKSPACE_METHOD_NAMES = [
12674
13714
  "unarchiveChat",
12675
13715
  "unarchiveDataType",
12676
13716
  "unarchiveMember",
13717
+ "unarchivePersona",
12677
13718
  "unarchiveStep",
12678
13719
  "unarchiveTask",
12679
13720
  "unarchiveWorkflow",
@@ -12698,7 +13739,6 @@ var WORKSPACE_METHOD_NAMES = [
12698
13739
  "updateChatLabel",
12699
13740
  "updateChatModelOverride",
12700
13741
  "updateChatMute",
12701
- "updateChatNeedsResponse",
12702
13742
  "updateClientWorkspace",
12703
13743
  "updateConnection",
12704
13744
  "updateConnectionSyncConfig",
@@ -12762,6 +13802,7 @@ var WORKSPACE_METHOD_NAMES = [
12762
13802
  "uploadFile",
12763
13803
  "updateVoicemailStatus",
12764
13804
  "updateWorkflow",
13805
+ "convertWorkflowStartTaskOpeningMessage",
12765
13806
  "updateWorkflowContributor",
12766
13807
  "updateWorkflowNote",
12767
13808
  "updateWorkflowRevisionMetadata",
@@ -12808,6 +13849,13 @@ function bindAccessGrantsMethods(target, accessGrants) {
12808
13849
  target.getGranteeGrants = accessGrants.getGranteeGrants.bind(accessGrants);
12809
13850
  }
12810
13851
 
13852
+ // src/client/bindings/intervention-requests.ts
13853
+ function bindInterventionRequestsMethods(target, interventionRequests) {
13854
+ target.getAgentModeAttention = interventionRequests.getAgentModeAttention.bind(interventionRequests);
13855
+ target.getInterventionRequests = interventionRequests.getInterventionRequests.bind(interventionRequests);
13856
+ target.resolveInterventionRequest = interventionRequests.resolveInterventionRequest.bind(interventionRequests);
13857
+ }
13858
+
12811
13859
  // src/client/bindings/agent-tasks.ts
12812
13860
  function bindAgentTasksMethods(target, api) {
12813
13861
  target.getAgentTasks = api.getAgentTasks.bind(api);
@@ -12848,10 +13896,15 @@ function bindTasksMethods(target, tasks, abilities) {
12848
13896
 
12849
13897
  // src/client/bindings/chats.ts
12850
13898
  function bindChatsMethods(target, chats) {
13899
+ target.createChatInteractionSession = chats.createChatInteractionSession.bind(chats);
13900
+ target.transitionChatInteractionSession = chats.transitionChatInteractionSession.bind(chats);
12851
13901
  target.getChats = chats.getChats.bind(chats);
12852
13902
  target.getChat = chats.getChat.bind(chats);
13903
+ target.getChatBrowserLiveView = chats.getChatBrowserLiveView.bind(chats);
13904
+ target.getChatMachineResources = chats.getChatMachineResources.bind(chats);
12853
13905
  target.getCurrentSmsChat = chats.getCurrentSmsChat.bind(chats);
12854
13906
  target.getChatCallbacks = chats.getChatCallbacks.bind(chats);
13907
+ target.getChatEhrWritebackOutcomes = chats.getChatEhrWritebackOutcomes.bind(chats);
12855
13908
  target.cancelChatCallback = chats.cancelChatCallback.bind(chats);
12856
13909
  target.getChatTokenUsage = chats.getChatTokenUsage.bind(chats);
12857
13910
  target.getChatTodos = chats.getChatTodos.bind(chats);
@@ -12869,7 +13922,6 @@ function bindChatsMethods(target, chats) {
12869
13922
  target.getChatModelOverride = chats.getChatModelOverride.bind(chats);
12870
13923
  target.updateChatModelOverride = chats.updateChatModelOverride.bind(chats);
12871
13924
  target.updateChatMute = chats.updateChatMute.bind(chats);
12872
- target.updateChatNeedsResponse = chats.updateChatNeedsResponse.bind(chats);
12873
13925
  target.summarizeChat = chats.summarizeChat.bind(chats);
12874
13926
  target.getChatMessages = chats.getChatMessages.bind(chats);
12875
13927
  target.getChildThreadMessages = chats.getChildThreadMessages.bind(chats);
@@ -12904,8 +13956,6 @@ function bindChatsMethods(target, chats) {
12904
13956
  // src/client/bindings/calls.ts
12905
13957
  function bindCallsMethods(target, calls, cel) {
12906
13958
  target.getPhoneCalls = calls.getPhoneCalls.bind(calls);
12907
- target.initiateCall = calls.initiateCall.bind(calls);
12908
- target.getVoiceToken = calls.getVoiceToken.bind(calls);
12909
13959
  target.getMessageTiming = calls.getMessageTiming.bind(calls);
12910
13960
  target.getRecordingInfo = calls.getRecordingInfo.bind(calls);
12911
13961
  target.listChatRecordings = calls.listChatRecordings.bind(calls);
@@ -12926,9 +13976,30 @@ function bindDashboardsMethods(target, dashboards) {
12926
13976
  target.getConfigurationHealth = dashboards.getConfigurationHealth.bind(dashboards);
12927
13977
  }
12928
13978
 
12929
- // src/client/bindings/activity-timeline.ts
12930
- function bindActivityTimelineMethods(target, activityTimeline) {
12931
- target.queryActivityTimeline = activityTimeline.queryActivityTimeline.bind(activityTimeline);
13979
+ // src/client/bindings/activity.ts
13980
+ function bindActivityMethods(target, activity) {
13981
+ target.queryActivity = activity.queryActivity.bind(activity);
13982
+ target.queryActivityLatestSubjects = activity.queryActivityLatestSubjects.bind(activity);
13983
+ target.queryActivityOpenItems = activity.queryActivityOpenItems.bind(activity);
13984
+ target.queryActivityOneView = activity.queryActivityOneView.bind(activity);
13985
+ target.queryActivityDigest = activity.queryActivityDigest.bind(activity);
13986
+ target.getActivityCounts = activity.getActivityCounts.bind(activity);
13987
+ target.getActivityCapabilities = activity.getActivityCapabilities.bind(activity);
13988
+ target.queryOrgActivity = activity.queryOrgActivity.bind(activity);
13989
+ target.queryOrgActivityLatestSubjects = activity.queryOrgActivityLatestSubjects.bind(activity);
13990
+ target.queryOrgActivityOpenItems = activity.queryOrgActivityOpenItems.bind(activity);
13991
+ target.queryOrgActivityOneView = activity.queryOrgActivityOneView.bind(activity);
13992
+ target.queryOrgActivityDigest = activity.queryOrgActivityDigest.bind(activity);
13993
+ target.getOrgActivityCounts = activity.getOrgActivityCounts.bind(activity);
13994
+ target.queryWorkspaceActivity = activity.queryWorkspaceActivity.bind(activity);
13995
+ target.queryWorkspaceActivityLatestSubjects = activity.queryWorkspaceActivityLatestSubjects.bind(activity);
13996
+ target.queryWorkspaceActivityOpenItems = activity.queryWorkspaceActivityOpenItems.bind(activity);
13997
+ target.queryWorkspaceActivityOneView = activity.queryWorkspaceActivityOneView.bind(activity);
13998
+ target.queryWorkspaceActivityDigest = activity.queryWorkspaceActivityDigest.bind(activity);
13999
+ target.getWorkspaceActivityCounts = activity.getWorkspaceActivityCounts.bind(activity);
14000
+ target.resolveEntityRefs = activity.resolveEntityRefs.bind(activity);
14001
+ target.resolveOrgEntityRefs = activity.resolveOrgEntityRefs.bind(activity);
14002
+ target.resolveAccountEntityRefs = activity.resolveAccountEntityRefs.bind(activity);
12932
14003
  }
12933
14004
 
12934
14005
  // src/client/bindings/motd.ts
@@ -12950,6 +14021,10 @@ function bindTrackedLinksMethods(target, trackedLinks) {
12950
14021
 
12951
14022
  // src/client/bindings/data-types.ts
12952
14023
  function bindDataTypesMethods(target, dataTypes) {
14024
+ target.getDataTypeDraft = dataTypes.getDataTypeDraft.bind(dataTypes);
14025
+ target.saveDataTypeDraft = dataTypes.saveDataTypeDraft.bind(dataTypes);
14026
+ target.publishDataTypeDraft = dataTypes.publishDataTypeDraft.bind(dataTypes);
14027
+ target.getDataTypeVersions = dataTypes.getDataTypeVersions.bind(dataTypes);
12953
14028
  target.getDataTypes = dataTypes.getDataTypes.bind(dataTypes);
12954
14029
  target.getDataType = dataTypes.getDataType.bind(dataTypes);
12955
14030
  target.getDataTypeByUuid = dataTypes.getDataTypeByUuid.bind(dataTypes);
@@ -13006,6 +14081,7 @@ function bindMembersMethods(target, members) {
13006
14081
  target.updateCurrentMember = members.updateCurrentMember.bind(members);
13007
14082
  target.getWorkspaceMembers = members.getWorkspaceMembers.bind(members);
13008
14083
  target.getWorkspaceMember = members.getWorkspaceMember.bind(members);
14084
+ target.getOrgWorkspaceMember = members.getOrgWorkspaceMember.bind(members);
13009
14085
  target.createWorkspaceMember = members.createWorkspaceMember.bind(members);
13010
14086
  target.updateMember = members.updateMember.bind(members);
13011
14087
  target.deleteMember = members.deleteMember.bind(members);
@@ -13035,6 +14111,8 @@ function bindMembersMethods(target, members) {
13035
14111
  target.createMemberRole = members.createMemberRole.bind(members);
13036
14112
  target.updateMemberRole = members.updateMemberRole.bind(members);
13037
14113
  target.deleteMemberRole = members.deleteMemberRole.bind(members);
14114
+ target.getMemberRoleCleanupPlan = members.getMemberRoleCleanupPlan.bind(members);
14115
+ target.mergeMemberRoles = members.mergeMemberRoles.bind(members);
13038
14116
  target.getMemberFields = members.getMemberFields.bind(members);
13039
14117
  target.getMemberFieldDefinitions = members.getMemberFieldDefinitions.bind(members);
13040
14118
  target.createMemberField = members.createMemberField.bind(members);
@@ -13052,11 +14130,15 @@ function bindMembersMethods(target, members) {
13052
14130
  target.createMemberMemory = members.createMemberMemory.bind(members);
13053
14131
  target.deleteMemberMemory = members.deleteMemberMemory.bind(members);
13054
14132
  target.getMemberSyncLinks = members.getMemberSyncLinks.bind(members);
14133
+ target.getMemberRelationships = members.getMemberRelationships.bind(members);
14134
+ target.createMemberRelationship = members.createMemberRelationship.bind(members);
14135
+ target.archiveMemberRelationship = members.archiveMemberRelationship.bind(members);
13055
14136
  }
13056
14137
 
13057
14138
  // src/client/bindings/workspaces.ts
13058
14139
  function bindWorkspacesMethods(target, workspaces, signupRequests) {
13059
14140
  target.getWorkspaces = workspaces.getWorkspaces.bind(workspaces);
14141
+ target.getDeviceAdmissibleWorkspaces = workspaces.getDeviceAdmissibleWorkspaces.bind(workspaces);
13060
14142
  target.getPublicWorkspaces = workspaces.getPublicWorkspaces.bind(workspaces);
13061
14143
  target.getWorkspace = workspaces.getWorkspace.bind(workspaces);
13062
14144
  target.createWorkspace = workspaces.createWorkspace.bind(workspaces);
@@ -13087,6 +14169,8 @@ function bindWorkspacesMethods(target, workspaces, signupRequests) {
13087
14169
  target.getProduct = workspaces.getProduct.bind(workspaces);
13088
14170
  target.getWorkspaceProduct = workspaces.getWorkspaceProduct.bind(workspaces);
13089
14171
  target.getPublicProducts = workspaces.getPublicProducts.bind(workspaces);
14172
+ target.previewPromoCode = workspaces.previewPromoCode.bind(workspaces);
14173
+ target.startPromoPlanTrial = workspaces.startPromoPlanTrial.bind(workspaces);
13090
14174
  target.getPublicProduct = workspaces.getPublicProduct.bind(workspaces);
13091
14175
  target.createProduct = workspaces.createProduct.bind(workspaces);
13092
14176
  target.updateProduct = workspaces.updateProduct.bind(workspaces);
@@ -13094,7 +14178,12 @@ function bindWorkspacesMethods(target, workspaces, signupRequests) {
13094
14178
  target.exportWorkspace = workspaces.exportWorkspace.bind(workspaces);
13095
14179
  target.exportWorkspaceZip = workspaces.exportWorkspaceZip.bind(workspaces);
13096
14180
  target.previewWorkspaceImport = workspaces.previewWorkspaceImport.bind(workspaces);
14181
+ target.previewWorkspaceImportZip = workspaces.previewWorkspaceImportZip.bind(workspaces);
13097
14182
  target.importWorkspace = workspaces.importWorkspace.bind(workspaces);
14183
+ target.importWorkspaceZip = workspaces.importWorkspaceZip.bind(workspaces);
14184
+ target.getImportSkippedRules = workspaces.getImportSkippedRules.bind(workspaces);
14185
+ target.getImportReadiness = workspaces.getImportReadiness.bind(workspaces);
14186
+ target.rebuildImportSkippedRules = workspaces.rebuildImportSkippedRules.bind(workspaces);
13098
14187
  target.previewImportWorkspace = workspaces.previewImportWorkspace.bind(workspaces);
13099
14188
  target.getWorkspaceThemes = workspaces.getWorkspaceThemes.bind(workspaces);
13100
14189
  target.updateWorkspaceThemes = workspaces.updateWorkspaceThemes.bind(workspaces);
@@ -13302,9 +14391,11 @@ function bindEventsMethods(target, events) {
13302
14391
  target.updateRoutine = events.updateRoutine.bind(events);
13303
14392
  target.deleteRoutine = events.deleteRoutine.bind(events);
13304
14393
  target.runRoutine = events.runRoutine.bind(events);
14394
+ target.getRoutineConfigEvents = events.getRoutineConfigEvents.bind(events);
13305
14395
  target.getRoutineRuns = events.getRoutineRuns.bind(events);
13306
14396
  target.resetRoutineRuns = events.resetRoutineRuns.bind(events);
13307
14397
  target.previewSchedule = events.previewSchedule.bind(events);
14398
+ target.previewRoutineVoiceReadiness = events.previewRoutineVoiceReadiness.bind(events);
13308
14399
  target.previewRoutineWorkflowAccess = events.previewRoutineWorkflowAccess.bind(events);
13309
14400
  }
13310
14401
 
@@ -13329,6 +14420,8 @@ function bindExperimentsMethods(target, experiments) {
13329
14420
  function bindWorkflowsMethods(target, workflows, workflowNotes, voice, supervisors) {
13330
14421
  target.getWorkflows = workflows.getWorkflows.bind(workflows);
13331
14422
  target.getWorkflow = workflows.getWorkflow.bind(workflows);
14423
+ target.getWorkflowOpeningTurnConversionReport = workflows.getWorkflowOpeningTurnConversionReport.bind(workflows);
14424
+ target.convertWorkflowStartTaskOpeningMessage = workflows.convertWorkflowStartTaskOpeningMessage.bind(workflows);
13332
14425
  target.getWorkflowActivity = workflows.getWorkflowActivity.bind(workflows);
13333
14426
  target.getWorkflowsActivityBatch = workflows.getWorkflowsActivityBatch.bind(workflows);
13334
14427
  target.getWorkflowDiagram = workflows.getWorkflowDiagram.bind(workflows);
@@ -13749,7 +14842,6 @@ function bindOperatorMethods(target, operatorGroups) {
13749
14842
  target.removeGroupMember = operatorGroups.removeGroupMember.bind(operatorGroups);
13750
14843
  target.getLiveOperators = operatorGroups.getLiveOperators.bind(operatorGroups);
13751
14844
  target.getPresenceStatus = operatorGroups.getPresenceStatus.bind(operatorGroups);
13752
- target.disconnectPresence = operatorGroups.disconnectPresence.bind(operatorGroups);
13753
14845
  target.getOperatorChatMessages = operatorGroups.getOperatorChatMessages.bind(operatorGroups);
13754
14846
  target.sendOperatorMessage = operatorGroups.sendOperatorMessage.bind(operatorGroups);
13755
14847
  }
@@ -13777,6 +14869,8 @@ function bindOrgMethods(target, org) {
13777
14869
  target.listLegalEntities = org.listLegalEntities.bind(org);
13778
14870
  target.getLegalEntity = org.getLegalEntity.bind(org);
13779
14871
  target.createLegalEntity = org.createLegalEntity.bind(org);
14872
+ target.getRegistrationDraft = org.getRegistrationDraft.bind(org);
14873
+ target.saveRegistrationDraft = org.saveRegistrationDraft.bind(org);
13780
14874
  target.getVoiceTrustProducts = org.getVoiceTrustProducts.bind(org);
13781
14875
  target.syncVoiceTrustProducts = org.syncVoiceTrustProducts.bind(org);
13782
14876
  target.createOrganizationWorkspace = org.createOrganizationWorkspace.bind(org);
@@ -13808,6 +14902,9 @@ function bindJourneysMethods(target, journeys) {
13808
14902
  target.getJourneys = journeys.getJourneys.bind(journeys);
13809
14903
  target.getJourney = journeys.getJourney.bind(journeys);
13810
14904
  target.getJourneyAuthoring = journeys.getJourneyAuthoring.bind(journeys);
14905
+ target.putJourneyV2Definition = journeys.putJourneyV2Definition.bind(journeys);
14906
+ target.getJourneyV2Validation = journeys.getJourneyV2Validation.bind(journeys);
14907
+ target.getJourneyFilterOptions = journeys.getJourneyFilterOptions.bind(journeys);
13811
14908
  target.getJourneyHealth = journeys.getJourneyHealth.bind(journeys);
13812
14909
  target.createJourney = journeys.createJourney.bind(journeys);
13813
14910
  target.updateJourney = journeys.updateJourney.bind(journeys);
@@ -13863,6 +14960,8 @@ function bindPersonasMethods(target, personas) {
13863
14960
  target.getPersona = personas.getPersona.bind(personas);
13864
14961
  target.createPersona = personas.createPersona.bind(personas);
13865
14962
  target.updatePersona = personas.updatePersona.bind(personas);
14963
+ target.archivePersona = personas.archivePersona.bind(personas);
14964
+ target.unarchivePersona = personas.unarchivePersona.bind(personas);
13866
14965
  target.deletePersona = personas.deletePersona.bind(personas);
13867
14966
  }
13868
14967
 
@@ -13962,8 +15061,11 @@ var GravityRailClient = class {
13962
15061
  // Chats API
13963
15062
  getChats;
13964
15063
  getChat;
15064
+ getChatBrowserLiveView;
15065
+ getChatMachineResources;
13965
15066
  getCurrentSmsChat;
13966
15067
  getChatCallbacks;
15068
+ getChatEhrWritebackOutcomes;
13967
15069
  cancelChatCallback;
13968
15070
  getChatTokenUsage;
13969
15071
  getChatTodos;
@@ -13975,13 +15077,14 @@ var GravityRailClient = class {
13975
15077
  archiveChat;
13976
15078
  unarchiveChat;
13977
15079
  createChat;
15080
+ createChatInteractionSession;
15081
+ transitionChatInteractionSession;
13978
15082
  createWorkflowOutboundVoiceChat;
13979
15083
  deleteChat;
13980
15084
  updateChat;
13981
15085
  getChatModelOverride;
13982
15086
  updateChatModelOverride;
13983
15087
  updateChatMute;
13984
- updateChatNeedsResponse;
13985
15088
  summarizeChat;
13986
15089
  getChatMessages;
13987
15090
  getChildThreadMessages;
@@ -14013,8 +15116,6 @@ var GravityRailClient = class {
14013
15116
  getChatFilterCount;
14014
15117
  // Calls API
14015
15118
  getPhoneCalls;
14016
- initiateCall;
14017
- getVoiceToken;
14018
15119
  getMessageTiming;
14019
15120
  getRecordingInfo;
14020
15121
  listChatRecordings;
@@ -14023,6 +15124,10 @@ var GravityRailClient = class {
14023
15124
  validateCelExpression;
14024
15125
  // Data Types API
14025
15126
  getDataTypes;
15127
+ getDataTypeDraft;
15128
+ saveDataTypeDraft;
15129
+ publishDataTypeDraft;
15130
+ getDataTypeVersions;
14026
15131
  getDataType;
14027
15132
  getDataTypeByUuid;
14028
15133
  getDataTypeBySlug;
@@ -14065,6 +15170,9 @@ var GravityRailClient = class {
14065
15170
  updateCurrentMember;
14066
15171
  getWorkspaceMembers;
14067
15172
  getWorkspaceMember;
15173
+ // Org-scoped, so deliberately absent from WORKSPACE_METHOD_NAMES: that proxy
15174
+ // passes a workspace uuid as the first argument.
15175
+ getOrgWorkspaceMember;
14068
15176
  createWorkspaceMember;
14069
15177
  updateMember;
14070
15178
  deleteMember;
@@ -14118,6 +15226,10 @@ var GravityRailClient = class {
14118
15226
  deleteMemberMemory;
14119
15227
  // Member Sync Links
14120
15228
  getMemberSyncLinks;
15229
+ // Member Relationships
15230
+ getMemberRelationships;
15231
+ createMemberRelationship;
15232
+ archiveMemberRelationship;
14121
15233
  // Agent Tasks API (operator-facing async sub-agent inspection/cancel)
14122
15234
  getAgentTasks;
14123
15235
  getAgentTask;
@@ -14155,6 +15267,8 @@ var GravityRailClient = class {
14155
15267
  getPersona;
14156
15268
  createPersona;
14157
15269
  updatePersona;
15270
+ archivePersona;
15271
+ unarchivePersona;
14158
15272
  deletePersona;
14159
15273
  // Metrics API (customer-defined outcome metrics)
14160
15274
  listMetrics;
@@ -14174,8 +15288,32 @@ var GravityRailClient = class {
14174
15288
  getDashboardChannelStats;
14175
15289
  getDashboardWorkflowAssignmentStats;
14176
15290
  getConfigurationHealth;
14177
- // Activity Timeline API
14178
- queryActivityTimeline;
15291
+ // Activity Spine serving API — one query shape, three mounts
15292
+ // (docs/projects/active/activity-spine.md).
15293
+ queryActivity;
15294
+ queryActivityLatestSubjects;
15295
+ queryActivityOpenItems;
15296
+ queryActivityOneView;
15297
+ queryActivityDigest;
15298
+ getActivityCounts;
15299
+ getActivityCapabilities;
15300
+ queryOrgActivity;
15301
+ queryOrgActivityLatestSubjects;
15302
+ queryOrgActivityOpenItems;
15303
+ queryOrgActivityOneView;
15304
+ queryOrgActivityDigest;
15305
+ getOrgActivityCounts;
15306
+ queryWorkspaceActivity;
15307
+ queryWorkspaceActivityLatestSubjects;
15308
+ queryWorkspaceActivityOpenItems;
15309
+ queryWorkspaceActivityOneView;
15310
+ queryWorkspaceActivityDigest;
15311
+ getWorkspaceActivityCounts;
15312
+ // Hydration: typed refs in, display summaries out, one round trip. The org
15313
+ // variant carries several workspaces' groups in that one trip.
15314
+ resolveEntityRefs;
15315
+ resolveOrgEntityRefs;
15316
+ resolveAccountEntityRefs;
14179
15317
  // MOTD API
14180
15318
  getMotd;
14181
15319
  // Tracked Links analytics (#10934)
@@ -14191,6 +15329,9 @@ var GravityRailClient = class {
14191
15329
  getJourneys;
14192
15330
  getJourney;
14193
15331
  getJourneyAuthoring;
15332
+ putJourneyV2Definition;
15333
+ getJourneyV2Validation;
15334
+ getJourneyFilterOptions;
14194
15335
  getJourneyHealth;
14195
15336
  createJourney;
14196
15337
  updateJourney;
@@ -14245,7 +15386,6 @@ var GravityRailClient = class {
14245
15386
  removeGroupMember;
14246
15387
  getLiveOperators;
14247
15388
  getPresenceStatus;
14248
- disconnectPresence;
14249
15389
  getOperatorChatMessages;
14250
15390
  sendOperatorMessage;
14251
15391
  // Access Grants API
@@ -14258,10 +15398,15 @@ var GravityRailClient = class {
14258
15398
  getAccessGrants;
14259
15399
  getMemberGrants;
14260
15400
  getGranteeGrants;
15401
+ // Intervention Requests API
15402
+ getAgentModeAttention;
15403
+ getInterventionRequests;
15404
+ resolveInterventionRequest;
14261
15405
  // Prompts API
14262
15406
  inspectPrompt;
14263
15407
  // Workspaces API
14264
15408
  getWorkspaces;
15409
+ getDeviceAdmissibleWorkspaces;
14265
15410
  getPublicWorkspaces;
14266
15411
  getWorkspace;
14267
15412
  createWorkspace;
@@ -14301,7 +15446,12 @@ var GravityRailClient = class {
14301
15446
  exportWorkspace;
14302
15447
  exportWorkspaceZip;
14303
15448
  previewWorkspaceImport;
15449
+ previewWorkspaceImportZip;
14304
15450
  importWorkspace;
15451
+ importWorkspaceZip;
15452
+ getImportSkippedRules;
15453
+ getImportReadiness;
15454
+ rebuildImportSkippedRules;
14305
15455
  previewImportWorkspace;
14306
15456
  getWorkspaceThemes;
14307
15457
  updateWorkspaceThemes;
@@ -14336,6 +15486,8 @@ var GravityRailClient = class {
14336
15486
  listLegalEntities;
14337
15487
  getLegalEntity;
14338
15488
  createLegalEntity;
15489
+ getRegistrationDraft;
15490
+ saveRegistrationDraft;
14339
15491
  getVoiceTrustProducts;
14340
15492
  syncVoiceTrustProducts;
14341
15493
  createOrganizationWorkspace;
@@ -14527,10 +15679,13 @@ var GravityRailClient = class {
14527
15679
  getRoutineRuns;
14528
15680
  resetRoutineRuns;
14529
15681
  previewSchedule;
15682
+ previewRoutineVoiceReadiness;
14530
15683
  previewRoutineWorkflowAccess;
14531
15684
  // Workflows API
14532
15685
  getWorkflows;
14533
15686
  getWorkflow;
15687
+ getWorkflowOpeningTurnConversionReport;
15688
+ convertWorkflowStartTaskOpeningMessage;
14534
15689
  getWorkflowActivity;
14535
15690
  getWorkflowsActivityBatch;
14536
15691
  getWorkflowDiagram;
@@ -15006,7 +16161,7 @@ var GravityRailClient = class {
15006
16161
  bindMetricsMethods(this, apis.metrics);
15007
16162
  bindQueriesMethods(this, apis.queries);
15008
16163
  bindDashboardsMethods(this, apis.dashboards);
15009
- bindActivityTimelineMethods(this, apis.activityTimeline);
16164
+ bindActivityMethods(this, apis.activity);
15010
16165
  bindMotdMethods(this, apis.motd);
15011
16166
  bindTrackedLinksMethods(this, apis.trackedLinks);
15012
16167
  bindJourneysMethods(this, apis.journeys);
@@ -15014,6 +16169,7 @@ var GravityRailClient = class {
15014
16169
  bindOperatorMethods(this, apis.operatorGroups);
15015
16170
  bindOrgMethods(this, apis.org);
15016
16171
  bindAccessGrantsMethods(this, apis.accessGrants);
16172
+ bindInterventionRequestsMethods(this, apis.interventionRequests);
15017
16173
  bindPromptsMethods(this, apis.prompts);
15018
16174
  bindWorkspacesMethods(this, apis.workspaces, apis.workspaceInvitations);
15019
16175
  bindAuthMethods(this, apis.auth, apis.assignments);
@@ -15166,6 +16322,50 @@ var GravityRailClient = class {
15166
16322
  return void 0;
15167
16323
  }
15168
16324
  };
16325
+
16326
+ // src/helpers/chat-interaction.ts
16327
+ var ChatInteractionController = class {
16328
+ constructor(api, workspaceId, chatId) {
16329
+ this.api = api;
16330
+ this.workspaceId = workspaceId;
16331
+ this.chatId = chatId;
16332
+ }
16333
+ api;
16334
+ workspaceId;
16335
+ chatId;
16336
+ current;
16337
+ pending;
16338
+ tail = Promise.resolve();
16339
+ clientSessionId = crypto.randomUUID();
16340
+ /** Serialize switches and reuse request IDs when a response is lost. */
16341
+ ensure(mode) {
16342
+ const operation = this.tail.then(async () => {
16343
+ if (this.pending) await this.applyPending();
16344
+ if (this.current?.mode !== mode) {
16345
+ this.pending = { mode, requestId: crypto.randomUUID() };
16346
+ await this.applyPending();
16347
+ }
16348
+ if (!this.current) throw new Error("Interaction session unavailable");
16349
+ return this.current;
16350
+ });
16351
+ this.tail = operation.catch(() => void 0);
16352
+ return operation;
16353
+ }
16354
+ async applyPending() {
16355
+ const pending = this.pending;
16356
+ if (!pending) return;
16357
+ this.current = this.current ? await this.api.transitionChatInteractionSession(
16358
+ this.workspaceId,
16359
+ this.chatId,
16360
+ this.current.id,
16361
+ pending
16362
+ ) : await this.api.createChatInteractionSession(this.workspaceId, this.chatId, {
16363
+ ...pending,
16364
+ clientSessionId: this.clientSessionId
16365
+ });
16366
+ this.pending = void 0;
16367
+ }
16368
+ };
15169
16369
  // Annotate the CommonJS export names for ESM import in node:
15170
16370
  0 && (module.exports = {
15171
16371
  AGENT_NOTE_ORIGINS,
@@ -15179,18 +16379,12 @@ var GravityRailClient = class {
15179
16379
  AccessGrantTrigger,
15180
16380
  AccessGrantsApi,
15181
16381
  AccessLevel,
15182
- ActivityActorKind,
15183
- ActivityAggregationKind,
15184
- ActivityCaptureState,
15185
- ActivityConfigAction,
15186
- ActivityConfigArea,
15187
- ActivityCoverageLimitation,
15188
- ActivityDirection,
15189
- ActivityEmptyReason,
15190
- ActivityEventType,
15191
- ActivityEventTypePreset,
15192
- ActivityGoalImpact,
15193
- ActivityTimelineProjection,
16382
+ ActivityEventFamily,
16383
+ ActivityGrain,
16384
+ ActivityGroupBy,
16385
+ ActivityOpenItemOrder,
16386
+ ActivityOutcome,
16387
+ ActivityWindowBasis,
15194
16388
  AddonMutationResponseScope,
15195
16389
  AgentTasksApi,
15196
16390
  AgentsApi,
@@ -15219,6 +16413,11 @@ var GravityRailClient = class {
15219
16413
  CalendarsApi,
15220
16414
  CallsApi,
15221
16415
  CapabilityClass,
16416
+ ChannelMessageDirection,
16417
+ ChannelMessageSource,
16418
+ ChannelMessagesUnavailableReason,
16419
+ ChatInteractionController,
16420
+ ChatMuteReason,
15222
16421
  ChatsApi,
15223
16422
  ConfluenceApi,
15224
16423
  ConnectionSyncApi,
@@ -15233,6 +16432,9 @@ var GravityRailClient = class {
15233
16432
  CustomerActivitySeverity,
15234
16433
  CustomerActivitySlaThresholdSource,
15235
16434
  CustomersApi,
16435
+ DEFAULT_AGENT_CHAT_MODEL,
16436
+ DEFAULT_AGENT_REALTIME_MODEL,
16437
+ DEFAULT_AGENT_REALTIME_MODEL_CONFIG,
15236
16438
  DEFAULT_CHAT_MODEL,
15237
16439
  DEFAULT_CUSTOM_VOICE_MODEL,
15238
16440
  DEFAULT_THINKING_SPEECH_PHRASES,
@@ -15244,8 +16446,10 @@ var GravityRailClient = class {
15244
16446
  DataTypeRecordScope,
15245
16447
  DataTypesApi,
15246
16448
  DeclaredDataUse,
16449
+ DigestSlotRole,
15247
16450
  DiscordBotsApi,
15248
16451
  DriverMode,
16452
+ EhrWritebackOutcomeResponseStatus,
15249
16453
  EmailDnsRecordType,
15250
16454
  EventRuleActionType,
15251
16455
  EventRuleEventType,
@@ -15259,10 +16463,16 @@ var GravityRailClient = class {
15259
16463
  FhirConnectionsApi,
15260
16464
  FhirVendor,
15261
16465
  FilesApi,
15262
- FormValueDisposition,
15263
16466
  GravityRailClient,
15264
16467
  HealthieApi,
15265
16468
  HubspotApi,
16469
+ ImportReadinessIssueCode,
16470
+ ImportReadinessIssueResourceType,
16471
+ ImportSkippedRuleResourceGroupResourceType,
16472
+ ImportSkippedRuleResponseNeededResourceTypesItem,
16473
+ ImportSkippedRuleResponseParentKind,
16474
+ ImportSkippedRuleResponseReasonCode,
16475
+ ImportSkippedRuleResponseStatus,
15266
16476
  InboxesApi,
15267
16477
  IndexStatus,
15268
16478
  InquiriesApi,
@@ -15271,12 +16481,14 @@ var GravityRailClient = class {
15271
16481
  JourneysApi,
15272
16482
  MASKED_SECRET_SENTINEL,
15273
16483
  MEMBER_ENTITLEMENT_STATUSES,
16484
+ MEMBER_RELATIONSHIP_KINDS,
15274
16485
  MEMBER_SUBSCRIPTION_STATUSES,
15275
16486
  McpServerState,
15276
16487
  McpServersApi,
15277
16488
  MemberFeature,
15278
16489
  MemberImportMatchInfoMatchType,
15279
16490
  MemberImportPreviewRowAction,
16491
+ MemberRelationshipKind,
15280
16492
  MemberType,
15281
16493
  MembersApi,
15282
16494
  MenuItemResponseItemType,
@@ -15336,8 +16548,11 @@ var GravityRailClient = class {
15336
16548
  REALTIME_MODEL_OPENAI,
15337
16549
  REALTIME_MODEL_OPENAI_2,
15338
16550
  REALTIME_MODEL_OPENAI_MINI,
16551
+ RefResolutionStatus,
15339
16552
  Region,
15340
16553
  RegistrationIdentifier,
16554
+ RelatedMemberRole,
16555
+ RelationshipCardinality,
15341
16556
  ReportsApi,
15342
16557
  ResellersApi,
15343
16558
  Resource,
@@ -15369,8 +16584,13 @@ var GravityRailClient = class {
15369
16584
  TTS_PREVIEW_PROVIDERS,
15370
16585
  TasksApi,
15371
16586
  TemplatesApi,
16587
+ TestChatRunLane,
16588
+ TestChatRunOutcome,
15372
16589
  ToolkitState,
15373
16590
  ToolkitsApi,
16591
+ UiPromptPresentedKindValues,
16592
+ UiPromptResponseKindValues,
16593
+ UiPromptResponseStatusValues,
15374
16594
  VoiceApi,
15375
16595
  WIDGET_SLUGS,
15376
16596
  WORKFLOW_IMPLICIT_USE_SCOPE,
@@ -15387,7 +16607,7 @@ var GravityRailClient = class {
15387
16607
  areDependenciesSatisfied,
15388
16608
  asIdentifiedMemberContactConflict,
15389
16609
  bindAccessGrantsMethods,
15390
- bindActivityTimelineMethods,
16610
+ bindActivityMethods,
15391
16611
  bindAgentTasksMethods,
15392
16612
  bindAgentsMethods,
15393
16613
  bindAppsMethods,
@@ -15405,6 +16625,7 @@ var GravityRailClient = class {
15405
16625
  bindExperimentsMethods,
15406
16626
  bindFilesMethods,
15407
16627
  bindIntegrationsMethods,
16628
+ bindInterventionRequestsMethods,
15408
16629
  bindJourneysMethods,
15409
16630
  bindMembersMethods,
15410
16631
  bindMetricsMethods,