@gravity-rail/sdk 0.36.1 → 0.42.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 (57) hide show
  1. package/README.md +46 -23
  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/{chat-interaction-DqjEfj7G.d.ts → chat-interaction-BBBeSKGl.d.cts} +9056 -6127
  7. package/dist/{chat-interaction-CbkSPz3m.d.cts → chat-interaction-C9dD0qbD.d.ts} +9056 -6127
  8. package/dist/{chunk-P2E6LU7I.js → chunk-67QXTQVL.js} +1 -26
  9. package/dist/chunk-67QXTQVL.js.map +1 -0
  10. package/dist/chunk-6KPGCPGW.js +48 -0
  11. package/dist/chunk-6KPGCPGW.js.map +1 -0
  12. package/dist/{chunk-HRUMZ46V.js → chunk-72SWNLVD.js} +2 -1
  13. package/dist/chunk-72SWNLVD.js.map +1 -0
  14. package/dist/{chunk-R6S5RXW5.js → chunk-JTOMGNUO.js} +1246 -212
  15. package/dist/chunk-JTOMGNUO.js.map +1 -0
  16. package/dist/helpers.cjs +47 -0
  17. package/dist/helpers.cjs.map +1 -1
  18. package/dist/helpers.d.cts +4 -3
  19. package/dist/helpers.d.ts +4 -3
  20. package/dist/helpers.js +7 -1
  21. package/dist/helpers.js.map +1 -1
  22. package/dist/index.cjs +1368 -341
  23. package/dist/index.cjs.map +1 -1
  24. package/dist/index.d.cts +13 -35
  25. package/dist/index.d.ts +13 -35
  26. package/dist/index.js +117 -116
  27. package/dist/index.js.map +1 -1
  28. package/dist/internal.cjs +1277 -243
  29. package/dist/internal.cjs.map +1 -1
  30. package/dist/internal.d.cts +324 -79
  31. package/dist/internal.d.ts +324 -79
  32. package/dist/internal.js +61 -15
  33. package/dist/internal.js.map +1 -1
  34. package/dist/member-import-BXReoljG.d.cts +46 -0
  35. package/dist/member-import-jjfQHlWl.d.ts +46 -0
  36. package/dist/realtime.cjs +91 -20
  37. package/dist/realtime.cjs.map +1 -1
  38. package/dist/realtime.d.cts +34 -9
  39. package/dist/realtime.d.ts +34 -9
  40. package/dist/realtime.js +90 -20
  41. package/dist/realtime.js.map +1 -1
  42. package/dist/{revision-state-CSQ7J3ZU.d.cts → revision-state-Bp7WKk6z.d.cts} +270 -54
  43. package/dist/{revision-state-92LHz1jQ.d.ts → revision-state-QkNQXWJC.d.ts} +270 -54
  44. package/dist/schemas.cjs +58 -81
  45. package/dist/schemas.cjs.map +1 -1
  46. package/dist/schemas.d.cts +88 -225
  47. package/dist/schemas.d.ts +88 -225
  48. package/dist/schemas.js +58 -76
  49. package/dist/schemas.js.map +1 -1
  50. package/dist/{tasks-CrF1qC4G.d.cts → tasks-BsLI-h11.d.cts} +3259 -2507
  51. package/dist/{tasks-CrF1qC4G.d.ts → tasks-BsLI-h11.d.ts} +3259 -2507
  52. package/dist/{types-0c6_NGU4.d.cts → types-DlfADjPR.d.cts} +17 -2
  53. package/dist/{types-0c6_NGU4.d.ts → types-DlfADjPR.d.ts} +17 -2
  54. package/package.json +9 -7
  55. package/dist/chunk-HRUMZ46V.js.map +0 -1
  56. package/dist/chunk-P2E6LU7I.js.map +0 -1
  57. package/dist/chunk-R6S5RXW5.js.map +0 -1
package/dist/internal.cjs CHANGED
@@ -74,7 +74,11 @@ __export(internal_exports, {
74
74
  ConfluenceApi: () => ConfluenceApi,
75
75
  ConnectionSyncApi: () => ConnectionSyncApi,
76
76
  ConsentMethod: () => ConsentMethod,
77
+ CreateMemberContactPointRequestContactType: () => CreateMemberContactPointRequestContactType,
78
+ CreateMemberContactPointRequestPurpose: () => CreateMemberContactPointRequestPurpose,
79
+ CreateMemberContactPointRequestSharing: () => CreateMemberContactPointRequestSharing,
77
80
  CriterionType: () => CriterionType,
81
+ CrmActivityKind: () => CrmActivityKind,
78
82
  CustomToolkitsApi: () => CustomToolkitsApi,
79
83
  CustomerActivityClassifierDetectorName: () => CustomerActivityClassifierDetectorName,
80
84
  CustomerActivityClassifierLabel: () => CustomerActivityClassifierLabel,
@@ -110,6 +114,7 @@ __export(internal_exports, {
110
114
  FeatureCategory: () => FeatureCategory,
111
115
  FeatureVisibility: () => FeatureVisibility,
112
116
  FeaturesApi: () => FeaturesApi,
117
+ FeedCursorRejection: () => FeedCursorRejection,
113
118
  FhirClientType: () => FhirClientType,
114
119
  FhirConnectionState: () => FhirConnectionState,
115
120
  FhirConnectionsApi: () => FhirConnectionsApi,
@@ -208,6 +213,12 @@ __export(internal_exports, {
208
213
  ReportsApi: () => ReportsApi,
209
214
  ResellersApi: () => ResellersApi,
210
215
  Resource: () => Resource,
216
+ RevisionHistorySegment: () => RevisionHistorySegment,
217
+ RoutingActionType: () => RoutingActionType,
218
+ RoutingAudience: () => RoutingAudience,
219
+ RoutingChannel: () => RoutingChannel,
220
+ RoutingTimeWindow: () => RoutingTimeWindow,
221
+ RunHealthCategory: () => RunHealthCategory,
211
222
  SCOPES: () => SCOPES,
212
223
  SCOPE_PRESETS: () => SCOPE_PRESETS,
213
224
  SMS_DELIVERY_FAILURE_STATUSES: () => SMS_DELIVERY_FAILURE_STATUSES,
@@ -216,9 +227,17 @@ __export(internal_exports, {
216
227
  STT_MODEL_DEEPGRAM_FLUX_MULTI_SELFHOST: () => STT_MODEL_DEEPGRAM_FLUX_MULTI_SELFHOST,
217
228
  STT_MODEL_DEEPGRAM_FLUX_SELFHOST: () => STT_MODEL_DEEPGRAM_FLUX_SELFHOST,
218
229
  SalesforceApi: () => SalesforceApi,
230
+ ScenarioHealthCaption: () => ScenarioHealthCaption,
231
+ ScenarioHealthHeadline: () => ScenarioHealthHeadline,
232
+ ScenarioHealthSampleNote: () => ScenarioHealthSampleNote,
233
+ ScenarioHealthState: () => ScenarioHealthState,
234
+ ScenarioRunBlocker: () => ScenarioRunBlocker,
219
235
  Scope: () => Scope,
220
236
  ScopeCategory: () => ScopeCategory,
221
237
  ScopeManager: () => ScopeManager,
238
+ SendingNextStep: () => SendingNextStep,
239
+ SendingStopState: () => SendingStopState,
240
+ SessionKind: () => SessionKind,
222
241
  SiteDnsRecordType: () => SiteDnsRecordType,
223
242
  SitesApi: () => SitesApi,
224
243
  SlackAppsApi: () => SlackAppsApi,
@@ -241,12 +260,12 @@ __export(internal_exports, {
241
260
  UiPromptPresentedKindValues: () => UiPromptPresentedKind,
242
261
  UiPromptResponseKindValues: () => UiPromptResponseKind,
243
262
  UiPromptResponseStatusValues: () => UiPromptResponseStatus,
263
+ UpdateMemberContactPointRequestContactType: () => UpdateMemberContactPointRequestContactType,
264
+ UpdateMemberContactPointRequestPurpose: () => UpdateMemberContactPointRequestPurpose,
265
+ UpdateMemberContactPointRequestSharing: () => UpdateMemberContactPointRequestSharing,
244
266
  VoiceApi: () => VoiceApi,
245
267
  WIDGET_SLUGS: () => WIDGET_SLUGS,
246
- WORKFLOW_IMPLICIT_USE_SCOPE: () => WORKFLOW_IMPLICIT_USE_SCOPE,
247
- WorkflowAccessWarningResourceType: () => WorkflowAccessWarningResourceType,
248
268
  WorkflowNotesApi: () => WorkflowNotesApi,
249
- WorkflowResourceType: () => WorkflowAccessWarningResourceType,
250
269
  WorkflowRoutingMode: () => WorkflowRoutingMode,
251
270
  WorkflowsApi: () => WorkflowsApi,
252
271
  WorkspaceFeature: () => WorkspaceFeature,
@@ -263,6 +282,7 @@ __export(internal_exports, {
263
282
  bindAppsMethods: () => bindAppsMethods,
264
283
  bindAuthMethods: () => bindAuthMethods,
265
284
  bindBillingMethods: () => bindBillingMethods,
285
+ bindBundlesMethods: () => bindBundlesMethods,
266
286
  bindCalendarsMethods: () => bindCalendarsMethods,
267
287
  bindCallsMethods: () => bindCallsMethods,
268
288
  bindChatsMethods: () => bindChatsMethods,
@@ -274,6 +294,7 @@ __export(internal_exports, {
274
294
  bindEventsMethods: () => bindEventsMethods,
275
295
  bindExperimentsMethods: () => bindExperimentsMethods,
276
296
  bindFilesMethods: () => bindFilesMethods,
297
+ bindInstallationsMethods: () => bindInstallationsMethods,
277
298
  bindIntegrationsMethods: () => bindIntegrationsMethods,
278
299
  bindInterventionRequestsMethods: () => bindInterventionRequestsMethods,
279
300
  bindJourneysMethods: () => bindJourneysMethods,
@@ -289,6 +310,7 @@ __export(internal_exports, {
289
310
  bindQualificationsMethods: () => bindQualificationsMethods,
290
311
  bindQueriesMethods: () => bindQueriesMethods,
291
312
  bindResellersMethods: () => bindResellersMethods,
313
+ bindRoutingRulesMethods: () => bindRoutingRulesMethods,
292
314
  bindSitesMethods: () => bindSitesMethods,
293
315
  bindSupportRequestMethods: () => bindSupportRequestMethods,
294
316
  bindTasksMethods: () => bindTasksMethods,
@@ -330,9 +352,6 @@ __export(internal_exports, {
330
352
  parseExperimentStatCount: () => parseExperimentStatCount,
331
353
  parseOrgAuthChallenge: () => parseOrgAuthChallenge,
332
354
  requiresAssistantParticipant: () => requiresAssistantParticipant,
333
- roleCanUseWorkflow: () => roleCanUseWorkflow,
334
- roleImplicitWorkflowUseScope: () => roleImplicitWorkflowUseScope,
335
- roleWorkflowAccess: () => roleWorkflowAccess,
336
355
  usesBuiltinAssistant: () => usesBuiltinAssistant,
337
356
  validateFeatureDependencies: () => validateFeatureDependencies
338
357
  });
@@ -379,21 +398,6 @@ function encodePermissions(permissions) {
379
398
  if (permissions.delete) accessMode |= PERMISSION_DELETE;
380
399
  return accessMode;
381
400
  }
382
- var WORKFLOW_IMPLICIT_USE_SCOPE = "workflows:admin";
383
- function roleImplicitWorkflowUseScope(role) {
384
- return (role.grantedScopes ?? []).includes(WORKFLOW_IMPLICIT_USE_SCOPE) ? WORKFLOW_IMPLICIT_USE_SCOPE : null;
385
- }
386
- function roleWorkflowAccess(role, workflowId) {
387
- const viaScope = roleImplicitWorkflowUseScope(role);
388
- if (viaScope) {
389
- return { accessMode: PERMISSION_USE | PERMISSION_EDIT, viaScope };
390
- }
391
- const entry = (role.workflowAccess ?? []).find((wa) => wa.workflowId === workflowId);
392
- return { accessMode: entry?.accessMode ?? PERMISSION_NONE, viaScope: null };
393
- }
394
- function roleCanUseWorkflow(role, workflowId) {
395
- return (roleWorkflowAccess(role, workflowId).accessMode & PERMISSION_USE) !== 0;
396
- }
397
401
  var Scope = /* @__PURE__ */ ((Scope2) => {
398
402
  Scope2["WORKSPACE_READ"] = "workspace:read";
399
403
  Scope2["WORKSPACE_WRITE"] = "workspace:write";
@@ -462,6 +466,7 @@ var Scope = /* @__PURE__ */ ((Scope2) => {
462
466
  Scope2["LABELS_READ"] = "labels:read";
463
467
  Scope2["LABELS_WRITE"] = "labels:write";
464
468
  Scope2["ANALYTICS_READ"] = "analytics:read";
469
+ Scope2["ANONYMOUS_SUBMISSIONS_READ"] = "anonymous_submissions:read";
465
470
  Scope2["OPERATOR_READ"] = "operator:read";
466
471
  Scope2["OPERATOR_WRITE"] = "operator:write";
467
472
  Scope2["EXPORT_READ"] = "export:read";
@@ -485,6 +490,8 @@ var BulkMemberResultStatus = {
485
490
  skipped: "skipped"
486
491
  };
487
492
  var MemberImportMatchInfoMatchType = {
493
+ id: "id",
494
+ uuid: "uuid",
488
495
  external_id: "external_id",
489
496
  email: "email",
490
497
  phone: "phone",
@@ -506,6 +513,36 @@ var MergeMemberRolesRequestAccessStrategy = {
506
513
  target_only: "target_only"
507
514
  };
508
515
 
516
+ // src/types/generated/member_contact_point.ts
517
+ var CreateMemberContactPointRequestContactType = {
518
+ phone: "phone",
519
+ email: "email"
520
+ };
521
+ var CreateMemberContactPointRequestPurpose = {
522
+ general: "general",
523
+ notification: "notification",
524
+ billing: "billing"
525
+ };
526
+ var CreateMemberContactPointRequestSharing = {
527
+ shared: "shared",
528
+ individual: "individual",
529
+ unknown: "unknown"
530
+ };
531
+ var UpdateMemberContactPointRequestContactType = {
532
+ phone: "phone",
533
+ email: "email"
534
+ };
535
+ var UpdateMemberContactPointRequestPurpose = {
536
+ general: "general",
537
+ notification: "notification",
538
+ billing: "billing"
539
+ };
540
+ var UpdateMemberContactPointRequestSharing = {
541
+ shared: "shared",
542
+ individual: "individual",
543
+ unknown: "unknown"
544
+ };
545
+
509
546
  // src/types/member-types.ts
510
547
  var MemberType = /* @__PURE__ */ ((MemberType2) => {
511
548
  MemberType2["ANONYMOUS"] = "anonymous";
@@ -592,6 +629,7 @@ var EventRuleEventType = /* @__PURE__ */ ((EventRuleEventType2) => {
592
629
  EventRuleEventType2["CHAT_CREATED"] = "chat:created";
593
630
  EventRuleEventType2["CHAT_SUMMARY"] = "chat:summary";
594
631
  EventRuleEventType2["MESSAGE_CREATED"] = "message:created";
632
+ EventRuleEventType2["LINK_CLICKED"] = "link:clicked";
595
633
  EventRuleEventType2["CHAT_CALLBACK"] = "chat:callback";
596
634
  EventRuleEventType2["MEMBER_UPDATED"] = "member:updated";
597
635
  EventRuleEventType2["ROUTINE_TRIGGERED"] = "routine:triggered";
@@ -655,6 +693,20 @@ function eventRuleActionParams(params) {
655
693
  }
656
694
  var MASKED_SECRET_SENTINEL = "__SECRET_SET__";
657
695
 
696
+ // src/types/generated/credit_stop_service.ts
697
+ var SendingNextStep = {
698
+ add_credits: "add_credits",
699
+ subscribe: "subscribe",
700
+ contact_billing_owner: "contact_billing_owner"
701
+ };
702
+ var SendingStopState = {
703
+ ok: "ok",
704
+ credits_suspended: "credits_suspended",
705
+ out_of_credits: "out_of_credits",
706
+ operator_suspension: "operator_suspension",
707
+ billing_unresolved: "billing_unresolved"
708
+ };
709
+
658
710
  // src/types/billing-types.ts
659
711
  var WorkspaceFeature = /* @__PURE__ */ ((WorkspaceFeature2) => {
660
712
  WorkspaceFeature2["PHONE"] = "phone";
@@ -670,7 +722,6 @@ var WorkspaceFeature = /* @__PURE__ */ ((WorkspaceFeature2) => {
670
722
  WorkspaceFeature2["WEB_SEARCH"] = "web_search";
671
723
  WorkspaceFeature2["CALENDAR"] = "calendar";
672
724
  WorkspaceFeature2["JOURNEY_V2_EDITOR"] = "journey_v2_editor";
673
- WorkspaceFeature2["EXPERIMENTS"] = "experiments";
674
725
  WorkspaceFeature2["MAILBOX_USER_INPUT"] = "mailbox_user_input";
675
726
  WorkspaceFeature2["FORKED_TRAJECTORIES"] = "forked_trajectories";
676
727
  WorkspaceFeature2["GMAIL"] = "gmail";
@@ -691,6 +742,7 @@ var WorkspaceFeature = /* @__PURE__ */ ((WorkspaceFeature2) => {
691
742
  WorkspaceFeature2["IMAGE_GENERATION"] = "image_generation";
692
743
  WorkspaceFeature2["CHARLESTON_NEPHROLOGY_PMD_PAGING"] = "charleston_nephrology_pmd_paging";
693
744
  WorkspaceFeature2["PATIENTSYNC_TRANSFER"] = "patientsync_transfer";
745
+ WorkspaceFeature2["COSAN_PATHWAYS_SCHEDULING"] = "cosan_pathways_scheduling";
694
746
  return WorkspaceFeature2;
695
747
  })(WorkspaceFeature || {});
696
748
  var MemberFeature = /* @__PURE__ */ ((MemberFeature2) => {
@@ -822,6 +874,7 @@ var IndexStatus = /* @__PURE__ */ ((IndexStatus2) => {
822
874
  var DataTypeRecordScope = /* @__PURE__ */ ((DataTypeRecordScope2) => {
823
875
  DataTypeRecordScope2["WORKSPACE"] = "workspace";
824
876
  DataTypeRecordScope2["MEMBER"] = "member";
877
+ DataTypeRecordScope2["ANONYMOUS"] = "anonymous";
825
878
  return DataTypeRecordScope2;
826
879
  })(DataTypeRecordScope || {});
827
880
  var DataSensitivity = /* @__PURE__ */ ((DataSensitivity2) => {
@@ -853,6 +906,7 @@ var ModelProvider = {
853
906
  deepgram: "deepgram",
854
907
  xai: "xai",
855
908
  fireworks: "fireworks",
909
+ vercel: "vercel",
856
910
  custom: "custom"
857
911
  };
858
912
  var ModelType = {
@@ -953,7 +1007,26 @@ var FhirClientType = /* @__PURE__ */ ((FhirClientType2) => {
953
1007
  return FhirClientType2;
954
1008
  })(FhirClientType || {});
955
1009
 
1010
+ // src/types/app-connection-types.ts
1011
+ var CrmActivityKind = /* @__PURE__ */ ((CrmActivityKind2) => {
1012
+ CrmActivityKind2["MESSAGE"] = "message";
1013
+ CrmActivityKind2["SUMMARY"] = "summary";
1014
+ CrmActivityKind2["CHAT_STARTED"] = "chat_started";
1015
+ CrmActivityKind2["CALL_STARTED"] = "call_started";
1016
+ CrmActivityKind2["CALL_ENDED"] = "call_ended";
1017
+ return CrmActivityKind2;
1018
+ })(CrmActivityKind || {});
1019
+
956
1020
  // src/types/generated/qualification.ts
1021
+ var RunHealthCategory = {
1022
+ passed: "passed",
1023
+ failed: "failed",
1024
+ running: "running",
1025
+ not_applicable: "not_applicable",
1026
+ awaiting_evaluation: "awaiting_evaluation",
1027
+ ungradeable: "ungradeable",
1028
+ incomplete: "incomplete"
1029
+ };
957
1030
  var TestChatRunLane = {
958
1031
  text: "text",
959
1032
  web_realtime: "web_realtime",
@@ -971,6 +1044,44 @@ var TestChatRunOutcome = {
971
1044
  instrument_failure: "instrument_failure"
972
1045
  };
973
1046
 
1047
+ // src/types/generated/qualification_health_service.ts
1048
+ var ScenarioHealthCaption = {
1049
+ recent_passes: "recent_passes",
1050
+ pass_ratio: "pass_ratio",
1051
+ could_not_grade: "could_not_grade",
1052
+ awaiting_evaluation: "awaiting_evaluation",
1053
+ running: "running",
1054
+ not_run_since_test_change: "not_run_since_test_change",
1055
+ not_run_on_revision: "not_run_on_revision",
1056
+ never_run: "never_run"
1057
+ };
1058
+ var ScenarioHealthHeadline = {
1059
+ needs_attention: "needs_attention",
1060
+ no_results: "no_results",
1061
+ all_passing: "all_passing",
1062
+ no_scenarios: "no_scenarios"
1063
+ };
1064
+ var ScenarioHealthSampleNote = {
1065
+ low_sample: "low_sample"
1066
+ };
1067
+ var ScenarioHealthState = {
1068
+ failing: "failing",
1069
+ flaky: "flaky",
1070
+ no_results: "no_results",
1071
+ passing: "passing"
1072
+ };
1073
+
1074
+ // src/types/generated/qualification_health_summary.ts
1075
+ var RevisionHistorySegment = {
1076
+ before_test_change: "before_test_change"
1077
+ };
1078
+
1079
+ // src/types/generated/qualification_run_identity.ts
1080
+ var ScenarioRunBlocker = {
1081
+ missing_persona: "missing_persona",
1082
+ archived_persona: "archived_persona"
1083
+ };
1084
+
974
1085
  // src/types/qualification-types.ts
975
1086
  var CriterionType = /* @__PURE__ */ ((CriterionType2) => {
976
1087
  CriterionType2["EXPRESSION"] = "expression";
@@ -1265,8 +1376,6 @@ var CONFIG_HEALTH_FACADE_CHECK_SLUGS = [
1265
1376
  "workflow.config",
1266
1377
  "journey.authoring",
1267
1378
  "journey.v2_validation",
1268
- "workflow.access",
1269
- "routine.workflow_access",
1270
1379
  "workspace.validation"
1271
1380
  ];
1272
1381
  function isConfigHealthFacadeCheckSlug(value) {
@@ -1319,9 +1428,11 @@ var AbilityTypeSlugs = {
1319
1428
  GOOGLE_DRIVE: "integration:google_drive",
1320
1429
  GOOGLE_SHEETS: "integration:google_sheets",
1321
1430
  CHARLESTON_PMD_PAGING: "integration:charleston_pmd_paging",
1431
+ COSAN_PATHWAYS_SCHEDULING: "integration:cosan_pathways_scheduling",
1322
1432
  // Communication
1323
1433
  PHONE_CALL_TOOLS: "communication:phone_call_tools",
1324
1434
  SEND_SMS: "communication:send_sms",
1435
+ SEND_EMAIL: "communication:send_email",
1325
1436
  SEND_WHATSAPP: "communication:send_whatsapp",
1326
1437
  MEMBER_ACCESS: "communication:member_access",
1327
1438
  AUDIO_PLAYBACK: "communication:audio_playback",
@@ -1336,6 +1447,8 @@ var AbilityTypeSlugs = {
1336
1447
  MANAGE_WORKSPACE: "delegation:manage_workspace",
1337
1448
  // Workflow
1338
1449
  WORKFLOW_RUN: "workflow:run",
1450
+ // Access
1451
+ MEMBER_ROLE_GATE: "access:member_role_gate",
1339
1452
  // Commerce
1340
1453
  RESELLER: "commerce:reseller",
1341
1454
  // System (auto-injected, hidden from users)
@@ -1363,6 +1476,12 @@ var PromoCodeStatus = {
1363
1476
  exhausted: "exhausted"
1364
1477
  };
1365
1478
 
1479
+ // src/types/generated/session.ts
1480
+ var SessionKind = {
1481
+ account: "account",
1482
+ site: "site"
1483
+ };
1484
+
1366
1485
  // src/types/query-engine-types.ts
1367
1486
  var QUERY_VALUELESS_OPS = /* @__PURE__ */ new Set([
1368
1487
  "isEmpty",
@@ -1411,6 +1530,14 @@ var ActivityWindowBasis = {
1411
1530
  absolute: "absolute",
1412
1531
  workspace_local: "workspace_local"
1413
1532
  };
1533
+ var FeedCursorRejection = {
1534
+ malformed: "malformed",
1535
+ signature: "signature",
1536
+ version: "version",
1537
+ expired: "expired",
1538
+ scope_mismatch: "scope_mismatch",
1539
+ query_mismatch: "query_mismatch"
1540
+ };
1414
1541
 
1415
1542
  // src/types/generated/family.ts
1416
1543
  var ActivityEventFamily = {
@@ -1452,8 +1579,10 @@ var CustomerActivityClassifierLabel = {
1452
1579
  transcription_quality: "transcription_quality",
1453
1580
  repetitive_loop: "repetitive_loop",
1454
1581
  manager_no_response: "manager_no_response",
1582
+ manager_incomplete_task: "manager_incomplete_task",
1455
1583
  docs_or_skill_gap: "docs_or_skill_gap",
1456
- discovery_thrash: "discovery_thrash"
1584
+ discovery_thrash: "discovery_thrash",
1585
+ manager_language_mismatch: "manager_language_mismatch"
1457
1586
  };
1458
1587
  var CustomerActivityEventSource = {
1459
1588
  system: "system",
@@ -1846,12 +1975,6 @@ var AbilityConfigIssueSeverity = {
1846
1975
  warning: "warning",
1847
1976
  error: "error"
1848
1977
  };
1849
- var WorkflowAccessWarningResourceType = {
1850
- form: "form",
1851
- file: "file",
1852
- folder: "folder",
1853
- calendar: "calendar"
1854
- };
1855
1978
 
1856
1979
  // src/types/generated/workflow.ts
1857
1980
  var WorkflowRoutingMode = {
@@ -1878,12 +2001,21 @@ var ImportReadinessIssueCode = {
1878
2001
  phone_not_provisioned: "phone_not_provisioned",
1879
2002
  phone_missing_default_workflow: "phone_missing_default_workflow",
1880
2003
  inbox_missing_default_workflow: "inbox_missing_default_workflow",
1881
- workflow_missing_default_phone: "workflow_missing_default_phone"
2004
+ workflow_missing_default_phone: "workflow_missing_default_phone",
2005
+ workflow_missing_default_inbox: "workflow_missing_default_inbox",
2006
+ routine_webhook_handoff_unverified: "routine_webhook_handoff_unverified",
2007
+ app_connection_not_connected: "app_connection_not_connected",
2008
+ site_form_migration_pending: "site_form_migration_pending",
2009
+ site_form_binding_invalid: "site_form_binding_invalid",
2010
+ site_theme_setting_inherited: "site_theme_setting_inherited"
1882
2011
  };
1883
2012
  var ImportReadinessIssueResourceType = {
1884
2013
  phone: "phone",
1885
2014
  inbox: "inbox",
1886
- workflow: "workflow"
2015
+ workflow: "workflow",
2016
+ routine: "routine",
2017
+ app_connection: "app_connection",
2018
+ site: "site"
1887
2019
  };
1888
2020
  var ImportSkippedRuleResourceGroupResourceType = {
1889
2021
  phone: "phone",
@@ -1905,7 +2037,8 @@ var ImportSkippedRuleResponseParentKind = {
1905
2037
  var ImportSkippedRuleResponseReasonCode = {
1906
2038
  missing_binding: "missing_binding",
1907
2039
  invalid_event_rule_cel: "invalid_event_rule_cel",
1908
- unresolved_journey_scope: "unresolved_journey_scope"
2040
+ unresolved_journey_scope: "unresolved_journey_scope",
2041
+ missing_source_workflow: "missing_source_workflow"
1909
2042
  };
1910
2043
  var ImportSkippedRuleResponseStatus = {
1911
2044
  outstanding: "outstanding",
@@ -1913,6 +2046,33 @@ var ImportSkippedRuleResponseStatus = {
1913
2046
  dismissed: "dismissed"
1914
2047
  };
1915
2048
 
2049
+ // src/types/generated/communication.ts
2050
+ var RoutingActionType = {
2051
+ answer_ai: "answer_ai",
2052
+ answer_human: "answer_human",
2053
+ answer_owner: "answer_owner",
2054
+ voicemail: "voicemail",
2055
+ play_message: "play_message",
2056
+ ignore: "ignore",
2057
+ signup: "signup"
2058
+ };
2059
+ var RoutingAudience = {
2060
+ anyone: "anyone",
2061
+ anonymous: "anonymous",
2062
+ members: "members"
2063
+ };
2064
+ var RoutingChannel = {
2065
+ pstn: "pstn",
2066
+ messaging: "messaging",
2067
+ email: "email"
2068
+ };
2069
+ var RoutingTimeWindow = {
2070
+ always: "always",
2071
+ business_hours: "business_hours",
2072
+ non_business_hours: "non_business_hours",
2073
+ custom: "custom"
2074
+ };
2075
+
1916
2076
  // src/app-context.ts
1917
2077
  function formatAppContextAsMarkdown(context) {
1918
2078
  if (!context) {
@@ -2100,14 +2260,14 @@ function isChatType(value) {
2100
2260
  }
2101
2261
 
2102
2262
  // src/constants/models.ts
2103
- var DEFAULT_CHAT_MODEL = "aws:bedrock:claude-4-5-haiku";
2104
- var DEFAULT_AGENT_CHAT_MODEL = "openai:chat:gpt-5.6-luna";
2263
+ var DEFAULT_CHAT_MODEL = "openai:chat:gpt-6-luna";
2264
+ var DEFAULT_AGENT_CHAT_MODEL = "openai:chat:gpt-6-luna";
2105
2265
  var DEFAULT_AGENT_REALTIME_MODEL = "xai:realtime:voice-agent-2";
2106
2266
  var DEFAULT_AGENT_REALTIME_MODEL_CONFIG = {
2107
2267
  ttsModel: "native",
2108
2268
  voiceModel: "xai:voice:cosmo"
2109
2269
  };
2110
- var DEFAULT_VOICE_INFERENCE_MODEL = "openai:chat:gpt-5.6-luna";
2270
+ var DEFAULT_VOICE_INFERENCE_MODEL = "openai:chat:gpt-6-luna";
2111
2271
  var DEFAULT_CUSTOM_VOICE_MODEL = "xai:voice:lux";
2112
2272
 
2113
2273
  // src/scopes.ts
@@ -2135,6 +2295,7 @@ var ScopeCategory = /* @__PURE__ */ ((ScopeCategory2) => {
2135
2295
  ScopeCategory2["APPS"] = "apps";
2136
2296
  ScopeCategory2["LABELS"] = "labels";
2137
2297
  ScopeCategory2["ANALYTICS"] = "analytics";
2298
+ ScopeCategory2["ANONYMOUS_SUBMISSIONS"] = "anonymous_submissions";
2138
2299
  ScopeCategory2["OPERATOR"] = "operator";
2139
2300
  ScopeCategory2["EXPORT"] = "export";
2140
2301
  ScopeCategory2["ORG"] = "org";
@@ -2597,6 +2758,14 @@ var SCOPES = {
2597
2758
  description: "View analytics and reports"
2598
2759
  },
2599
2760
  // =========================================================================
2761
+ // ANONYMOUS FORM SUBMISSIONS (read-only: submissions are immutable)
2762
+ // =========================================================================
2763
+ "anonymous_submissions:read": {
2764
+ name: "anonymous_submissions:read",
2765
+ category: "anonymous_submissions" /* ANONYMOUS_SUBMISSIONS */,
2766
+ description: "View what anonymous visitors submitted on anonymous Forms"
2767
+ },
2768
+ // =========================================================================
2600
2769
  // EXPORT
2601
2770
  // =========================================================================
2602
2771
  "export:read": {
@@ -2879,7 +3048,6 @@ var BaseApiClient = class {
2879
3048
  enhancedAuthInProgress = null;
2880
3049
  orgAuthHandler;
2881
3050
  orgAuthInProgress = null;
2882
- actingMemberUuid;
2883
3051
  orgSession;
2884
3052
  /**
2885
3053
  * The org_uuid that issued the current org auth credential. Tracked so we can detect
@@ -2919,21 +3087,6 @@ var BaseApiClient = class {
2919
3087
  updateApiKey(newApiKey) {
2920
3088
  this.apiKey = newApiKey;
2921
3089
  }
2922
- /**
2923
- * Set the acting member UUID for member identity switching.
2924
- * When set, all API requests will include the X-Acting-Member header.
2925
- * The backend will validate that the authenticated account owns this member
2926
- * and use it as the effective identity for the request.
2927
- */
2928
- setActingMember(memberUuid) {
2929
- this.actingMemberUuid = memberUuid;
2930
- }
2931
- /**
2932
- * Get the current acting member UUID.
2933
- */
2934
- getActingMember() {
2935
- return this.actingMemberUuid;
2936
- }
2937
3090
  /**
2938
3091
  * Set the opaque org session credential for cross-domain requests.
2939
3092
  * Opaque gr_sess_ values use X-Org-Session. Legacy orgToken JWE values still
@@ -2971,9 +3124,6 @@ var BaseApiClient = class {
2971
3124
  headers.set("Authorization", `Bearer ${requestToken}`);
2972
3125
  }
2973
3126
  }
2974
- if (this.actingMemberUuid) {
2975
- headers.set("X-Acting-Member", this.actingMemberUuid);
2976
- }
2977
3127
  setOrgAuthHeader(headers, this.orgSession);
2978
3128
  const fullUrl = `${this.baseUrl}/api/v2/${endpoint}`;
2979
3129
  const response = await this.fetchFunction(fullUrl, {
@@ -3125,9 +3275,6 @@ ${formattedErrors}`, response.status);
3125
3275
  headers.set("Authorization", `Bearer ${requestToken}`);
3126
3276
  }
3127
3277
  }
3128
- if (this.actingMemberUuid) {
3129
- headers.set("X-Acting-Member", this.actingMemberUuid);
3130
- }
3131
3278
  setOrgAuthHeader(headers, this.orgSession);
3132
3279
  const response = await this.fetchFunction(`${this.baseUrl}/api/v2/${endpoint}`, {
3133
3280
  ...options,
@@ -3237,9 +3384,6 @@ ${formattedErrors}`, response.status);
3237
3384
  headers.set("Authorization", `Bearer ${requestToken}`);
3238
3385
  }
3239
3386
  }
3240
- if (this.actingMemberUuid) {
3241
- headers.set("X-Acting-Member", this.actingMemberUuid);
3242
- }
3243
3387
  setOrgAuthHeader(headers, this.orgSession);
3244
3388
  const fullUrl = `${this.baseUrl}/${path}`;
3245
3389
  const response = await this.fetchFunction(fullUrl, {
@@ -3335,6 +3479,303 @@ var AbilitiesApi = class extends BaseApiClient {
3335
3479
  }
3336
3480
  };
3337
3481
 
3482
+ // src/api/resource-workflows.ts
3483
+ function resourceWorkflowsPath(wid, ...segments) {
3484
+ const tail = segments.map((segment) => encodeURIComponent(String(segment))).join("/");
3485
+ const base = `w/${encodeURIComponent(wid)}/resource-workflows`;
3486
+ return tail ? `${base}/${tail}` : base;
3487
+ }
3488
+ var ResourceWorkflowsApi = class extends BaseApiClient {
3489
+ /** One Workflow's summary, for a viewer that can see it. */
3490
+ async getResourceWorkflow(wid, workflowUuid) {
3491
+ return this.fetch(resourceWorkflowsPath(wid, workflowUuid));
3492
+ }
3493
+ /**
3494
+ * One published revision.
3495
+ *
3496
+ * The response is a union: the owner (or a `full` grantee) receives the
3497
+ * complete `ResourceWorkflowGraphResponse`, while a bounded grantee receives
3498
+ * the `ResourceWorkflowDisclosureResponse` envelope. Branch on `publishedAt`
3499
+ * being present — never assume the full shape. A retained revision stays
3500
+ * readable here after a `stop_updates` revocation.
3501
+ */
3502
+ async getResourceWorkflowRevision(wid, workflowUuid, revisionUuid) {
3503
+ return this.fetch(
3504
+ resourceWorkflowsPath(wid, workflowUuid, "revisions", revisionUuid)
3505
+ );
3506
+ }
3507
+ /**
3508
+ * List published Workflows owned by or shared with this workspace.
3509
+ *
3510
+ * The Bundle draft editor reads `publishedRevisionUuid` from each summary to
3511
+ * pin a Workflow item; archived Workflows are excluded unless asked for.
3512
+ */
3513
+ async listResourceWorkflows(wid, params) {
3514
+ const query = new URLSearchParams();
3515
+ if (params?.page !== void 0) query.set("page", String(params.page));
3516
+ if (params?.pageSize !== void 0) query.set("pageSize", String(params.pageSize));
3517
+ if (params?.includeArchived !== void 0) {
3518
+ query.set("includeArchived", String(params.includeArchived));
3519
+ }
3520
+ const qs = query.toString();
3521
+ return this.fetch(
3522
+ `w/${encodeURIComponent(wid)}/resource-workflows${qs ? `?${qs}` : ""}`
3523
+ );
3524
+ }
3525
+ };
3526
+
3527
+ // src/api/bundles.ts
3528
+ function bundlesPath(wid, ...segments) {
3529
+ const tail = segments.map((segment) => encodeURIComponent(String(segment))).join("/");
3530
+ const base = `w/${encodeURIComponent(wid)}/bundles`;
3531
+ return tail ? `${base}/${tail}` : base;
3532
+ }
3533
+ function pageQuery(params) {
3534
+ const query = new URLSearchParams();
3535
+ if (params?.page !== void 0) query.set("page", String(params.page));
3536
+ if (params?.pageSize !== void 0) query.set("pageSize", String(params.pageSize));
3537
+ const qs = query.toString();
3538
+ return qs ? `?${qs}` : "";
3539
+ }
3540
+ var BundlesApi = class extends BaseApiClient {
3541
+ /** Bundles shared with everyone. Needs no session. */
3542
+ async listPublicBundles(params) {
3543
+ return this.fetch(`bundles/public${pageQuery(params)}`);
3544
+ }
3545
+ /** The outline of one Bundle shared with everyone. Needs no session; 404 otherwise. */
3546
+ async getPublicBundle(bundleUuid) {
3547
+ return this.fetch(`bundles/${encodeURIComponent(bundleUuid)}/public`);
3548
+ }
3549
+ /** Read an authorized Bundle by UUID. */
3550
+ async getBundle(wid, bundleUuid) {
3551
+ return this.fetch(bundlesPath(wid, bundleUuid));
3552
+ }
3553
+ async updateBundle(wid, bundleUuid, data) {
3554
+ return this.fetch(
3555
+ `w/${encodeURIComponent(wid)}/bundles/${encodeURIComponent(bundleUuid)}`,
3556
+ {
3557
+ method: "PATCH",
3558
+ body: JSON.stringify(data)
3559
+ }
3560
+ );
3561
+ }
3562
+ async listBundleInstallations(wid, bundleUuid) {
3563
+ return this.fetch(
3564
+ `w/${encodeURIComponent(wid)}/bundles/${encodeURIComponent(bundleUuid)}/installations`
3565
+ );
3566
+ }
3567
+ /**
3568
+ * Bundles visible to this workspace through ownership, a live grant, or
3569
+ * an administrator of the owning organization.
3570
+ */
3571
+ async listBundles(wid, params) {
3572
+ return this.fetch(`${bundlesPath(wid)}${pageQuery(params)}`);
3573
+ }
3574
+ /**
3575
+ * This workspace's Workflows for the Bundle picker. `eligible` pins
3576
+ * `revisionUuid` (the active revision when published, else the newest
3577
+ * published one); `unpublished` has nothing to pin. `dependenciesChecked` is
3578
+ * false until a Bundle add has stored the revision's dependencies; that add
3579
+ * surfaces any refusal as a 409 `workflow_not_shareable`. Requires
3580
+ * `workflows:admin`.
3581
+ */
3582
+ async listBundleWorkflowCandidates(wid) {
3583
+ return this.fetch(bundlesPath(wid, "workflow-candidates"));
3584
+ }
3585
+ /** Create an empty Bundle owned by this workspace. */
3586
+ async createBundle(wid, data) {
3587
+ return this.fetch(bundlesPath(wid), {
3588
+ method: "POST",
3589
+ body: JSON.stringify(data)
3590
+ });
3591
+ }
3592
+ /**
3593
+ * The unpublished draft for the owning workspace. A grantee is refused with
3594
+ * 404: `version_detail` checks
3595
+ * `root.workspace_uuid != viewer.workspace_uuid` for the null version
3596
+ * (`lib/db/resources/bundles.py`), after the grantee-inclusive predicate has
3597
+ * already admitted them to the Bundle itself.
3598
+ *
3599
+ * After publication, the next draft contains a copy of the published items.
3600
+ * The owner receives it with 200; a grantee receives 404.
3601
+ */
3602
+ async getBundleDraft(wid, bundleUuid) {
3603
+ return this.fetch(bundlesPath(wid, bundleUuid, "draft"));
3604
+ }
3605
+ /** Replace the whole draft item list. 409 when `expectedGeneration` is stale. */
3606
+ async replaceBundleDraft(wid, bundleUuid, data) {
3607
+ return this.fetch(bundlesPath(wid, bundleUuid, "draft"), {
3608
+ method: "PUT",
3609
+ body: JSON.stringify(data)
3610
+ });
3611
+ }
3612
+ /** Cut a new immutable version from the draft. 409 when `expectedGeneration` is stale. */
3613
+ async publishBundle(wid, bundleUuid, data) {
3614
+ return this.fetch(bundlesPath(wid, bundleUuid, "publish"), {
3615
+ method: "POST",
3616
+ body: JSON.stringify(data)
3617
+ });
3618
+ }
3619
+ /** Published versions, newest first. */
3620
+ async listBundleVersions(wid, bundleUuid, params) {
3621
+ return this.fetch(
3622
+ `${bundlesPath(wid, bundleUuid, "versions")}${pageQuery(params)}`
3623
+ );
3624
+ }
3625
+ /** One published version, with its items, declared settings and open slots. */
3626
+ async getBundleVersion(wid, bundleUuid, version) {
3627
+ return this.fetch(bundlesPath(wid, bundleUuid, "versions", version));
3628
+ }
3629
+ /** Who this Bundle is currently granted to. */
3630
+ async listBundleGrants(wid, bundleUuid) {
3631
+ return this.fetch(bundlesPath(wid, bundleUuid, "grants"));
3632
+ }
3633
+ /**
3634
+ * Share throughout the publisher's organization with organization-admin authority,
3635
+ * or with everyone (`granteeType: "global"`) as a superuser. Workspace-specific
3636
+ * grants are refused.
3637
+ */
3638
+ async grantBundle(wid, bundleUuid, data) {
3639
+ return this.fetch(bundlesPath(wid, bundleUuid, "grants"), {
3640
+ method: "POST",
3641
+ body: JSON.stringify(data)
3642
+ });
3643
+ }
3644
+ /** Revoke one grant by id. */
3645
+ async revokeBundleGrant(wid, bundleUuid, grantId) {
3646
+ return this.fetch(bundlesPath(wid, bundleUuid, "grants", grantId), {
3647
+ method: "DELETE"
3648
+ });
3649
+ }
3650
+ };
3651
+
3652
+ // src/api/installations.ts
3653
+ function installationsPath(wid, ...segments) {
3654
+ const tail = segments.map((segment) => encodeURIComponent(String(segment))).join("/");
3655
+ const base = `w/${encodeURIComponent(wid)}/installations`;
3656
+ return tail ? `${base}/${tail}` : base;
3657
+ }
3658
+ var InstallationsApi = class extends BaseApiClient {
3659
+ /** Inspect one published release and its selected example dependencies. */
3660
+ async preflightBundleInstallation(wid, bundleUuid, data) {
3661
+ return this.fetch(
3662
+ `w/${encodeURIComponent(wid)}/bundles/${encodeURIComponent(bundleUuid)}/installation-preflight`,
3663
+ { method: "POST", body: JSON.stringify(data) }
3664
+ );
3665
+ }
3666
+ /**
3667
+ * Install a published Bundle version into this workspace.
3668
+ *
3669
+ * A key in `bindings` that this version has no slot or Form item for is
3670
+ * refused; a **missing** required slot is not.
3671
+ */
3672
+ async installBundle(wid, bundleUuid, data) {
3673
+ return this.fetch(
3674
+ `w/${encodeURIComponent(wid)}/bundles/${encodeURIComponent(bundleUuid)}/installations`,
3675
+ { method: "POST", body: JSON.stringify(data) }
3676
+ );
3677
+ }
3678
+ /** Every installation this workspace holds, oldest first. */
3679
+ async listInstallations(wid) {
3680
+ return this.fetch(installationsPath(wid));
3681
+ }
3682
+ async getInstallation(wid, installationUuid) {
3683
+ return this.fetch(installationsPath(wid, installationUuid));
3684
+ }
3685
+ /**
3686
+ * Open slots, bindings whose target no longer resolves, Forms that drifted
3687
+ * from their recipe, missing or changed Workflow dependencies, and archived
3688
+ * items. Computed on read, never stored.
3689
+ */
3690
+ async getInstallationReadiness(wid, installationUuid) {
3691
+ return this.fetch(
3692
+ installationsPath(wid, installationUuid, "readiness")
3693
+ );
3694
+ }
3695
+ /**
3696
+ * What moving to version `to` would change: per-item differences, the slots
3697
+ * that would still be unbound, and the release notes of every version in
3698
+ * between. `to` must be newer than the version the installation holds.
3699
+ */
3700
+ async previewInstallationUpgrade(wid, installationUuid, to) {
3701
+ const query = new URLSearchParams({ to: String(to) });
3702
+ return this.fetch(
3703
+ `${installationsPath(wid, installationUuid, "upgrade-preview")}?${query.toString()}`
3704
+ );
3705
+ }
3706
+ /**
3707
+ * Move the installation onto a newer published version. The version it
3708
+ * already holds, and any earlier one, are refused with 409.
3709
+ */
3710
+ async upgradeInstallation(wid, installationUuid, data) {
3711
+ return this.fetch(installationsPath(wid, installationUuid, "upgrade"), {
3712
+ method: "POST",
3713
+ body: JSON.stringify(data)
3714
+ });
3715
+ }
3716
+ /** Recreate one deleted Form from the version already installed. */
3717
+ async restoreInstallationForm(wid, installationUuid, data) {
3718
+ return this.fetch(
3719
+ installationsPath(wid, installationUuid, "restore-form"),
3720
+ {
3721
+ method: "POST",
3722
+ body: JSON.stringify(data)
3723
+ }
3724
+ );
3725
+ }
3726
+ /** Recreate missing dependency resources for an installed Workflow. */
3727
+ async restoreInstallationWorkflowResources(wid, installationUuid, data) {
3728
+ return this.fetch(
3729
+ installationsPath(wid, installationUuid, "restore-workflow-resources"),
3730
+ { method: "POST", body: JSON.stringify(data) }
3731
+ );
3732
+ }
3733
+ /** `pinned` holds the installed version; `auto` follows each publication. */
3734
+ async setInstallationPolicy(wid, installationUuid, data) {
3735
+ return this.fetch(installationsPath(wid, installationUuid), {
3736
+ method: "PATCH",
3737
+ body: JSON.stringify(data)
3738
+ });
3739
+ }
3740
+ /** Stop future Bundle updates while keeping the workspace's installed content. */
3741
+ async unsubscribeInstallation(wid, installationUuid) {
3742
+ return this.fetch(
3743
+ installationsPath(wid, installationUuid, "unsubscribe"),
3744
+ { method: "POST", body: JSON.stringify({}) }
3745
+ );
3746
+ }
3747
+ /** Fill open slots. A slot that already carries a target is refused with 409. */
3748
+ async bindInstallationSlots(wid, installationUuid, data) {
3749
+ return this.fetch(
3750
+ installationsPath(wid, installationUuid, "bindings"),
3751
+ { method: "POST", body: JSON.stringify(data) }
3752
+ );
3753
+ }
3754
+ /**
3755
+ * Settle an installation left `pending` by an interrupted operation.
3756
+ *
3757
+ * The body is empty and required: a bodyless cookie-auth POST is forgeable
3758
+ * by a cross-site form, so the route demands JSON.
3759
+ */
3760
+ async reconcileInstallation(wid, installationUuid) {
3761
+ return this.fetch(
3762
+ installationsPath(wid, installationUuid, "reconcile"),
3763
+ { method: "POST", body: JSON.stringify({}) }
3764
+ );
3765
+ }
3766
+ /**
3767
+ * The settings a compiled theme declares, for labelling a Site item's slots
3768
+ * before any Site exists. 404 for an unknown slug and for `source-site`,
3769
+ * whose schema is a per-workspace build artifact rather than a catalog one.
3770
+ * Requires `sites:read`; no Bundle installation authority is needed.
3771
+ */
3772
+ async getThemeSettingsSchema(wid, slug) {
3773
+ return this.fetch(
3774
+ `w/${encodeURIComponent(wid)}/themes/${encodeURIComponent(slug)}/settings-schema`
3775
+ );
3776
+ }
3777
+ };
3778
+
3338
3779
  // src/api/access-grants.ts
3339
3780
  var AccessGrantsApi = class extends BaseApiClient {
3340
3781
  /** List access grants received by the current member. */
@@ -3467,7 +3908,6 @@ var AgentsApi = class extends BaseApiClient {
3467
3908
  if (options.search) params.append("search", options.search);
3468
3909
  if (options.includeArchived)
3469
3910
  params.append("includeArchived", options.includeArchived.toString());
3470
- if (options.owner) params.append("owner", options.owner);
3471
3911
  return this.fetch(
3472
3912
  `w/${wid}/agents${params.toString() ? `?${params.toString()}` : ""}`
3473
3913
  );
@@ -3523,6 +3963,18 @@ var AIModelsApi = class extends BaseApiClient {
3523
3963
  const url = queryString ? `ai-models/chat?${queryString}` : "ai-models/chat";
3524
3964
  return this.fetch(url);
3525
3965
  }
3966
+ /**
3967
+ * Get the models a member may pick for the Workspace Manager, in display
3968
+ * order. Only models this deployment can serve are listed.
3969
+ *
3970
+ * `tokenMultiplier` is each model's input + output price per token relative
3971
+ * to `baselineModelId`; `defaultModelId` is what the Manager runs with no
3972
+ * pick. Send a pick on a Manager chat as `AppContext.managerModel` /
3973
+ * `managerReasoningEffort`.
3974
+ */
3975
+ async getManagerModels() {
3976
+ return this.fetch("ai-models/manager");
3977
+ }
3526
3978
  /**
3527
3979
  * Get available realtime AI models
3528
3980
  */
@@ -3974,6 +4426,19 @@ var AuthApi = class extends BaseApiClient {
3974
4426
  body: JSON.stringify(request)
3975
4427
  });
3976
4428
  }
4429
+ /**
4430
+ * Mint a single-use, account-bound realtime login token (`gr_wst_`) with
4431
+ * this client's credential. Call once per realtime connect attempt; the
4432
+ * token is spent on first use and expires in seconds. Only the full browser
4433
+ * session may mint one — an API key is refused.
4434
+ */
4435
+ async createRealtimeLoginToken() {
4436
+ return this.fetch("auth/realtime/ws-token", {
4437
+ method: "POST",
4438
+ // The route requires a JSON body (its CSRF barrier); it reads nothing from it.
4439
+ body: JSON.stringify({})
4440
+ });
4441
+ }
3977
4442
  /** Get the organization and workspace mapping for a custom domain. */
3978
4443
  async getDomainMapping(customDomain) {
3979
4444
  return this.fetch(`s/mapping/${customDomain}`);
@@ -4633,6 +5098,26 @@ var ChatsApi = class extends BaseApiClient {
4633
5098
  async getChat(wid, id) {
4634
5099
  return this.fetch(`w/${wid}/chats/${id}`);
4635
5100
  }
5101
+ /**
5102
+ * Get a single chat by UUID.
5103
+ *
5104
+ * The uuid-addressed twin of `getChat`: same access check (own chat,
5105
+ * otherwise `chats:read`), same body; a chat the caller may not read is a
5106
+ * 404. Activity events and org webhooks name a chat by `uuid` only.
5107
+ */
5108
+ async getChatByUuid(wid, uuid) {
5109
+ return this.fetch(`w/${wid}/chats/by-uuid/${uuid}`);
5110
+ }
5111
+ async saveChatBrowserStorage(wid, chatId) {
5112
+ await this.fetchRaw(`w/${wid}/chats/${chatId}/browser/storage/save`, {
5113
+ method: "POST",
5114
+ keepalive: true,
5115
+ body: JSON.stringify({})
5116
+ });
5117
+ }
5118
+ async clearChatBrowserStorage(wid, chatId) {
5119
+ await this.fetchRaw(`w/${wid}/chats/${chatId}/browser/storage`, { method: "DELETE" });
5120
+ }
4636
5121
  /**
4637
5122
  * Get a short-lived, interactive AgentCore browser view for this Chat.
4638
5123
  *
@@ -5239,10 +5724,18 @@ var DashboardsApi = class extends BaseApiClient {
5239
5724
  `w/${wid}/dashboards/stats/channels${query ? `?${query}` : ""}`
5240
5725
  );
5241
5726
  }
5242
- /** Assignment status rollup per root workflow. */
5243
- async getDashboardWorkflowAssignmentStats(wid) {
5727
+ /**
5728
+ * Assignment status rollup per root workflow.
5729
+ *
5730
+ * `hours` windows the rollup to runs STARTED within the last N hours.
5731
+ * Omit it (or pass null) for the all-time rollup.
5732
+ */
5733
+ async getDashboardWorkflowAssignmentStats(wid, options) {
5734
+ const params = new URLSearchParams();
5735
+ if (options?.hours != null) params.append("hours", options.hours.toString());
5736
+ const query = params.toString();
5244
5737
  return this.fetch(
5245
- `w/${wid}/dashboards/stats/workflow-assignments`
5738
+ `w/${wid}/dashboards/stats/workflow-assignments${query ? `?${query}` : ""}`
5246
5739
  );
5247
5740
  }
5248
5741
  /**
@@ -5384,6 +5877,26 @@ var DataTypesApi = class extends BaseApiClient {
5384
5877
  `w/${wid}/data-types/${dataTypeId}/records${params?.toString() ? `?${params.toString()}` : ""}`
5385
5878
  );
5386
5879
  }
5880
+ /**
5881
+ * List an anonymous Form's submissions, newest first. Requires
5882
+ * `anonymous_submissions:read`. Submissions are immutable: there is no
5883
+ * update or delete method.
5884
+ */
5885
+ async listAnonymousFormSubmissions(wid, dataTypeId, options) {
5886
+ const params = new URLSearchParams();
5887
+ if (options?.page) params.append("page", options.page.toString());
5888
+ if (options?.pageSize) params.append("page_size", options.pageSize.toString());
5889
+ const qs = params.toString();
5890
+ return this.fetch(
5891
+ `w/${wid}/data-types/${dataTypeId}/anonymous-submissions${qs ? `?${qs}` : ""}`
5892
+ );
5893
+ }
5894
+ /** Get one anonymous Form submission by its uuid. Requires `anonymous_submissions:read`. */
5895
+ async getAnonymousFormSubmission(wid, dataTypeId, submissionUuid) {
5896
+ return this.fetch(
5897
+ `w/${wid}/data-types/${dataTypeId}/anonymous-submissions/${encodeURIComponent(submissionUuid)}`
5898
+ );
5899
+ }
5387
5900
  // Data-record filter APIs (saved Query IR predicates per form)
5388
5901
  /** List saved data-record filters, optionally scoped to one DataType. */
5389
5902
  async getDataRecordFilters(wid, options) {
@@ -5426,6 +5939,15 @@ var DataTypesApi = class extends BaseApiClient {
5426
5939
  async getDataRecord(wid, recordId) {
5427
5940
  return this.fetch(`w/${wid}/data-types/records/${recordId}`);
5428
5941
  }
5942
+ /**
5943
+ * Get a single data record by UUID.
5944
+ *
5945
+ * The uuid-addressed twin of `getDataRecord`: same access check, same body.
5946
+ * Activity events and org webhooks name a record by `uuid` only.
5947
+ */
5948
+ async getDataRecordByUuid(wid, uuid) {
5949
+ return this.fetch(`w/${wid}/data-types/records/by-uuid/${uuid}`);
5950
+ }
5429
5951
  /** Create a new data record under the specified data type. */
5430
5952
  async createDataRecord(wid, dataTypeId, record) {
5431
5953
  return this.fetch(`w/${wid}/data-types/${dataTypeId}/records`, {
@@ -5970,20 +6492,6 @@ var EventsApi = class extends BaseApiClient {
5970
6492
  body: JSON.stringify(request)
5971
6493
  });
5972
6494
  }
5973
- /**
5974
- * Preview which target-audience roles lack Workflow USE for the Workflows a
5975
- * draft Routine would start. Non-persisting, non-blocking authoring assist —
5976
- * returns warnings only (role/Workflow names + IDs; no Member data).
5977
- */
5978
- async previewRoutineWorkflowAccess(wid, request) {
5979
- return this.fetch(
5980
- `w/${wid}/routines/preview-workflow-access`,
5981
- {
5982
- method: "POST",
5983
- body: JSON.stringify(request)
5984
- }
5985
- );
5986
- }
5987
6495
  /**
5988
6496
  * Preview what would stop a draft Routine placing its scheduled outbound
5989
6497
  * calls — the Member voice opt-out, a missing member phone, or a
@@ -6682,6 +7190,19 @@ var FilesApi = class extends BaseApiClient {
6682
7190
  if (folderId != null) params.append("folderId", String(folderId));
6683
7191
  return this.fetch(`w/${wid}/files/resolve-path?${params.toString()}`);
6684
7192
  }
7193
+ /**
7194
+ * Download one file's bytes via GET ``.../files/{id}/contents/{filename}``.
7195
+ *
7196
+ * Uses this client's base URL (FastAPI on the app, same-origin ``/api/v2``
7197
+ * on scoped site sessions) so the payload does not transit the Next.js
7198
+ * ``/api/w/.../files/...`` Lambda proxy, which 500s above the 6MB sync cap.
7199
+ */
7200
+ async downloadFileContents(wid, id, filename) {
7201
+ const response = await this.fetchRaw(
7202
+ `w/${wid}/files/${id}/contents/${encodeURIComponent(filename)}`
7203
+ );
7204
+ return response.blob();
7205
+ }
6685
7206
  /**
6686
7207
  * Download the given files + folders (folders recursively) as a single ZIP.
6687
7208
  * Returns the raw archive bytes for the caller to save.
@@ -7433,7 +7954,21 @@ function throwMemberImportError(errorBody, fallback) {
7433
7954
  }
7434
7955
  throw new Error(typeof detail === "string" ? detail : fallback);
7435
7956
  }
7957
+ function memberImportUpload(file, roleId, options) {
7958
+ const body = new FormData();
7959
+ const filename = "name" in file && typeof file.name === "string" ? file.name : "members.csv";
7960
+ body.append("file", file, filename);
7961
+ if (options?.resolutions !== void 0) {
7962
+ body.append("resolutions", JSON.stringify(options.resolutions));
7963
+ }
7964
+ const params = new URLSearchParams({ new_member_role_id: String(roleId) });
7965
+ if (options?.autoPromoteUniqueContacts !== void 0) {
7966
+ params.set("auto_promote_unique_contacts", String(options.autoPromoteUniqueContacts));
7967
+ }
7968
+ return { body, params };
7969
+ }
7436
7970
  var MembersApi = class extends BaseApiClient {
7971
+ memberImportPlans = /* @__PURE__ */ new WeakMap();
7437
7972
  /** Get the currently authenticated member for a workspace. */
7438
7973
  async getCurrentMember(wid) {
7439
7974
  return this.fetch(`w/${wid}/me`);
@@ -7486,33 +8021,6 @@ var MembersApi = class extends BaseApiClient {
7486
8021
  `w/${wid}/me/records?${params.toString()}`
7487
8022
  );
7488
8023
  }
7489
- /**
7490
- * Get all members owned by the current member in this workspace.
7491
- * Returns the authenticated member plus any members they own (via owner_id).
7492
- * Used by the member switcher to show available identities.
7493
- */
7494
- async getOwnedMembers(wid) {
7495
- return this.fetch(`w/${wid}/members/owned`);
7496
- }
7497
- /**
7498
- * Switch to a different member identity owned by the current member.
7499
- * Sets the actingAsMemberUuid cookie for subsequent requests.
7500
- * Uses UUID (not ID) to prevent cross-workspace identity confusion.
7501
- */
7502
- async switchMember(wid, memberUuid) {
7503
- return this.fetch(`w/${wid}/members/switch`, {
7504
- method: "POST",
7505
- body: JSON.stringify({ memberUuid })
7506
- });
7507
- }
7508
- /**
7509
- * Clear the member switch and return to the authenticated member.
7510
- */
7511
- async clearMemberSwitch(wid) {
7512
- return this.fetch(`w/${wid}/members/switch`, {
7513
- method: "DELETE"
7514
- });
7515
- }
7516
8024
  /** Update the currently authenticated member's profile. */
7517
8025
  async updateCurrentMember(wid, member) {
7518
8026
  return this.fetch(`w/${wid}/me`, {
@@ -7552,6 +8060,16 @@ var MembersApi = class extends BaseApiClient {
7552
8060
  async getWorkspaceMember(wid, memberId) {
7553
8061
  return this.fetch(`w/${wid}/members/${memberId}`);
7554
8062
  }
8063
+ /**
8064
+ * Get a single workspace member by UUID.
8065
+ *
8066
+ * The uuid-addressed twin of `getWorkspaceMember`: same access check (self,
8067
+ * otherwise `members:read`), same body. Activity events and org webhooks
8068
+ * name a member by `uuid` only.
8069
+ */
8070
+ async getMemberByUuid(wid, uuid) {
8071
+ return this.fetch(`w/${wid}/members/by-uuid/${uuid}`);
8072
+ }
7555
8073
  /**
7556
8074
  * Get one member of an org's workspace, under `org:read`.
7557
8075
  *
@@ -7603,6 +8121,53 @@ var MembersApi = class extends BaseApiClient {
7603
8121
  method: "POST"
7604
8122
  });
7605
8123
  }
8124
+ /**
8125
+ * Update a workspace member addressed by its external id.
8126
+ *
8127
+ * The external-id twin of `updateMember`: for an integrator that keys on its
8128
+ * own `externalId` and never stores our numeric member id. Same authorization
8129
+ * (`members:write`) and same body as `updateMember`.
8130
+ */
8131
+ async updateMemberByExternalId(wid, externalId, data) {
8132
+ return this.fetch(
8133
+ `w/${wid}/members/by-external-id/${encodeURIComponent(externalId)}`,
8134
+ {
8135
+ method: "PUT",
8136
+ body: JSON.stringify(data)
8137
+ }
8138
+ );
8139
+ }
8140
+ /**
8141
+ * Archive a workspace member addressed by its external id.
8142
+ *
8143
+ * The external-id twin of `archiveMember`; same authorization
8144
+ * (`members:write` + `members:admin`) and same body.
8145
+ */
8146
+ async archiveMemberByExternalId(wid, externalId) {
8147
+ return this.fetch(
8148
+ `w/${wid}/members/by-external-id/${encodeURIComponent(externalId)}/archive`,
8149
+ {
8150
+ method: "POST",
8151
+ // Required empty JSON body is the route's CSRF barrier (GRA-6284).
8152
+ body: JSON.stringify({})
8153
+ }
8154
+ );
8155
+ }
8156
+ /**
8157
+ * Unarchive a workspace member addressed by its external id.
8158
+ *
8159
+ * The external-id twin of `unarchiveMember`; same authorization and body.
8160
+ */
8161
+ async unarchiveMemberByExternalId(wid, externalId) {
8162
+ return this.fetch(
8163
+ `w/${wid}/members/by-external-id/${encodeURIComponent(externalId)}/unarchive`,
8164
+ {
8165
+ method: "POST",
8166
+ // Required empty JSON body is the route's CSRF barrier (GRA-6284).
8167
+ body: JSON.stringify({})
8168
+ }
8169
+ );
8170
+ }
7606
8171
  /**
7607
8172
  * Send the member an SMS asking them to confirm their phone number. When they
7608
8173
  * reply, a trusted phone auth binding is created so they can use SMS as
@@ -7744,16 +8309,13 @@ var MembersApi = class extends BaseApiClient {
7744
8309
  * operator can decide whether to skip or explicitly overwrite before
7745
8310
  * committing. Requires MEMBERS_ADMIN and is bulk-PHI audited server-side.
7746
8311
  */
7747
- async previewImportMembers(wid, file, newMemberRoleId) {
7748
- const formData = new FormData();
7749
- formData.append("file", file);
7750
- const params = new URLSearchParams();
7751
- params.append("new_member_role_id", newMemberRoleId.toString());
8312
+ async previewImportMembers(wid, file, newMemberRoleId, options) {
8313
+ const { body, params } = memberImportUpload(file, newMemberRoleId, options);
7752
8314
  const response = await this.fetchRaw(
7753
8315
  `w/${wid}/members/import/preview?${params.toString()}`,
7754
8316
  {
7755
8317
  method: "POST",
7756
- body: formData
8318
+ body
7757
8319
  },
7758
8320
  [400, 413]
7759
8321
  );
@@ -7761,7 +8323,19 @@ var MembersApi = class extends BaseApiClient {
7761
8323
  const error = await response.json().catch(() => ({}));
7762
8324
  throwMemberImportError(error, "Import preview failed");
7763
8325
  }
7764
- return response.json();
8326
+ const preview = await response.json();
8327
+ if (preview.previewPlanToken) {
8328
+ this.memberImportPlans.set(file, {
8329
+ wid,
8330
+ role: newMemberRoleId,
8331
+ autoPromote: options?.autoPromoteUniqueContacts ?? true,
8332
+ token: preview.previewPlanToken,
8333
+ cachedAt: Date.now()
8334
+ });
8335
+ } else {
8336
+ this.memberImportPlans.delete(file);
8337
+ }
8338
+ return preview;
7765
8339
  }
7766
8340
  /**
7767
8341
  * Import members from a CSV file, streaming progress updates via callback.
@@ -7771,10 +8345,11 @@ var MembersApi = class extends BaseApiClient {
7771
8345
  * Send 'overwrite_identity_fields' only after the operator confirms a preview.
7772
8346
  */
7773
8347
  async importMembers(wid, file, newMemberRoleId, onProgress, options) {
7774
- const formData = new FormData();
7775
- formData.append("file", file);
7776
- const params = new URLSearchParams();
7777
- params.append("new_member_role_id", newMemberRoleId.toString());
8348
+ const { body, params } = memberImportUpload(file, newMemberRoleId, options);
8349
+ const cachedPlan = this.memberImportPlans.get(file);
8350
+ const autoPromote = options?.autoPromoteUniqueContacts ?? true;
8351
+ const previewPlanToken = options?.previewPlanToken ?? (cachedPlan?.wid === wid && cachedPlan.role === newMemberRoleId && cachedPlan.autoPromote === autoPromote && Date.now() - cachedPlan.cachedAt < 55 * 60 * 1e3 ? cachedPlan.token : (await this.previewImportMembers(wid, file, newMemberRoleId, options)).previewPlanToken);
8352
+ if (previewPlanToken) body.append("previewPlanToken", previewPlanToken);
7778
8353
  if (options?.identityConflictPolicy) {
7779
8354
  params.append("identity_conflict_policy", options.identityConflictPolicy);
7780
8355
  }
@@ -7782,7 +8357,7 @@ var MembersApi = class extends BaseApiClient {
7782
8357
  `w/${wid}/members/import?${params.toString()}`,
7783
8358
  {
7784
8359
  method: "POST",
7785
- body: formData
8360
+ body
7786
8361
  },
7787
8362
  [400, 413]
7788
8363
  );
@@ -7790,34 +8365,48 @@ var MembersApi = class extends BaseApiClient {
7790
8365
  const error = await response.json().catch(() => ({}));
7791
8366
  throwMemberImportError(error, "Import failed");
7792
8367
  }
7793
- if (onProgress && response.body) {
7794
- const reader = response.body.getReader();
7795
- const decoder = new TextDecoder();
7796
- let buffer = "";
8368
+ if (!response.body) throw new Error("Member import response has no progress stream");
8369
+ const reader = response.body.getReader();
8370
+ const decoder = new TextDecoder();
8371
+ let buffer = "";
8372
+ let result;
8373
+ let hadError = false;
8374
+ const consume = (line) => {
8375
+ if (!line.trim()) return;
8376
+ let event;
8377
+ try {
8378
+ event = JSON.parse(line);
8379
+ } catch {
8380
+ throw new Error("Invalid member import progress event");
8381
+ }
8382
+ if (event.type === "complete") result = event;
8383
+ if (event.type === "error") hadError = true;
8384
+ onProgress?.(event);
8385
+ };
8386
+ try {
7797
8387
  while (true) {
7798
8388
  const { done, value } = await reader.read();
7799
8389
  if (done) break;
7800
8390
  buffer += decoder.decode(value, { stream: true });
7801
8391
  const lines = buffer.split("\n");
7802
8392
  buffer = lines.pop() ?? "";
7803
- for (const line of lines) {
7804
- const trimmed = line.trim();
7805
- if (!trimmed) continue;
7806
- try {
7807
- onProgress(JSON.parse(trimmed));
7808
- } catch {
7809
- }
7810
- }
7811
- }
7812
- const tail = buffer.trim();
7813
- if (tail) {
7814
- try {
7815
- onProgress(JSON.parse(tail));
7816
- } catch {
7817
- }
8393
+ for (const line of lines) consume(line);
7818
8394
  }
8395
+ buffer += decoder.decode();
8396
+ consume(buffer);
8397
+ } catch (error) {
8398
+ await reader.cancel().catch(() => void 0);
8399
+ throw error;
8400
+ } finally {
8401
+ reader.releaseLock();
7819
8402
  }
7820
- return { success: true };
8403
+ if (!result) {
8404
+ throw new Error("Member import ended before completion; inspect members before retrying");
8405
+ }
8406
+ return {
8407
+ success: !hadError && (result.failed ?? 0) === 0 && (result.conflicted ?? 0) === 0,
8408
+ result
8409
+ };
7821
8410
  }
7822
8411
  /** Export members as a downloadable file with selected fields and data types. */
7823
8412
  async exportMembers(wid, selectedFields, selectedDataTypes, memberType) {
@@ -8473,6 +9062,21 @@ var MondayIntegrationApi = class extends BaseApiClient {
8473
9062
  method: "POST"
8474
9063
  });
8475
9064
  }
9065
+ /**
9066
+ * Managed-rule execution history for this connection (`GET /sync/logs`):
9067
+ * the connection's managed EventRule executions, newest first, with the
9068
+ * shared cursor pagination. Requires `apps:read`; works while the
9069
+ * connection is parked for re-authorization.
9070
+ */
9071
+ async getMondaySyncLogs(wid, params) {
9072
+ const query = new URLSearchParams();
9073
+ if (params?.pageSize) query.set("pageSize", String(params.pageSize));
9074
+ if (params?.cursor) query.set("cursor", params.cursor);
9075
+ const qs = query.toString() ? `?${query.toString()}` : "";
9076
+ return this.fetch(
9077
+ `w/${wid}/app-connections/monday/sync/logs${qs}`
9078
+ );
9079
+ }
8476
9080
  };
8477
9081
 
8478
9082
  // src/api/intervention-requests.ts
@@ -8630,6 +9234,10 @@ var OrgApi = class extends BaseApiClient {
8630
9234
  async getCurrentOrgMember(orgIdOrUuid) {
8631
9235
  return this.fetch(`o/${orgIdOrUuid}/me`);
8632
9236
  }
9237
+ /** Bundles this organization owns — read-only catalog for `/o/{uuid}/library`. */
9238
+ async listOrgBundles(orgIdOrUuid) {
9239
+ return this.fetch(`o/${orgIdOrUuid}/bundles`);
9240
+ }
8633
9241
  /**
8634
9242
  * Update the settings an org admin owns: name, slug and contact details.
8635
9243
  *
@@ -8671,6 +9279,12 @@ var OrgApi = class extends BaseApiClient {
8671
9279
  * `subscriptionId` is the org-scoped row — never pick the customer's
8672
9280
  * newest subscription from the list endpoint. One customer can bill many
8673
9281
  * organizations.
9282
+ *
9283
+ * Returns the generated `OrgBillingCustomerResponse` — the contract the
9284
+ * route actually emits, `audiences` included. The hand-written mirror that
9285
+ * used to live here listed four fields and silently dropped `audiences`,
9286
+ * so callers could not see the commercial roles they hold (GRA-8792).
9287
+ * Regenerate the shape (`yarn generate:types`) rather than re-declaring it.
8674
9288
  */
8675
9289
  async getOrgBillingCustomer(orgIdOrUuid) {
8676
9290
  return this.fetch(`o/${orgIdOrUuid}/billing-customer`);
@@ -8707,7 +9321,10 @@ var OrgApi = class extends BaseApiClient {
8707
9321
  return this.fetch(`o/${orgUuid}/members/check/${accountUuid}`);
8708
9322
  }
8709
9323
  /**
8710
- * Update an organization member's role.
9324
+ * Update an organization member's role and/or org-level display name.
9325
+ *
9326
+ * `name` is the org's own label for the member (the OrgMember row and the
9327
+ * linked OrgAccount); it does not change the person's global Account name.
8711
9328
  */
8712
9329
  async updateOrganizationMember(orgIdOrUuid, memberId, data) {
8713
9330
  return this.fetch(`o/${orgIdOrUuid}/members/${memberId}`, {
@@ -9082,12 +9699,6 @@ var OrgApi = class extends BaseApiClient {
9082
9699
  // ============================================================================
9083
9700
  // Organization A2P Brand Registration API
9084
9701
  // ============================================================================
9085
- /**
9086
- * Get the org's A2P brand registration status.
9087
- */
9088
- async getA2PStatus(orgUuid) {
9089
- return this.fetch(`o/${orgUuid}/phone-numbers/a2p/status`);
9090
- }
9091
9702
  /** Return fixed phone-number and outbound-messaging prices. */
9092
9703
  async getPhoneBillingPricing(orgUuid) {
9093
9704
  return this.fetch(`o/${orgUuid}/phone-numbers/pricing`);
@@ -9096,11 +9707,30 @@ var OrgApi = class extends BaseApiClient {
9096
9707
  * Start A2P brand registration under a legal entity. `legalEntityUuid`
9097
9708
  * is required — brands register per legal entity (Customer Profile);
9098
9709
  * there is no primary-entity fallback.
9710
+ *
9711
+ * `soleProprietorMobile` is the proprietor's own mobile number, the one the
9712
+ * carrier sends the A2P one-time-password verification to. Required when the
9713
+ * entity's registration shape is a sole proprietorship (see
9714
+ * `LegalEntitySummaryResponse.requiredBrandType`); ignored otherwise.
9715
+ *
9716
+ * Three constraints belong to the customer, so the caller must state them:
9717
+ * it has to be a US or Canadian **mobile**, it cannot be a number acquired
9718
+ * from a CPaaS provider (so never one we provisioned — the carrier rejects
9719
+ * it), and the carrier allows it a lifetime maximum of three uses across all
9720
+ * A2P brand registrations, counting those made through other vendors.
9721
+ *
9722
+ * It is forwarded to the registration workflow to reach the carrier as an
9723
+ * EndUser attribute and is never stored on our side.
9099
9724
  */
9100
- async startA2PRegistration(orgUuid, legalEntityUuid, brandName, brandUuid = null) {
9725
+ async startA2PRegistration(orgUuid, legalEntityUuid, brandName, brandUuid = null, soleProprietorMobile = null) {
9101
9726
  return this.fetch(`o/${orgUuid}/phone-numbers/a2p/start`, {
9102
9727
  method: "POST",
9103
- body: JSON.stringify({ legalEntityUuid, brandName, brandUuid })
9728
+ body: JSON.stringify({
9729
+ legalEntityUuid,
9730
+ brandName,
9731
+ brandUuid,
9732
+ soleProprietorMobile
9733
+ })
9104
9734
  });
9105
9735
  }
9106
9736
  /**
@@ -9128,6 +9758,25 @@ var OrgApi = class extends BaseApiClient {
9128
9758
  }
9129
9759
  );
9130
9760
  }
9761
+ /**
9762
+ * Which legal entity's voice trust products (CNAM, SHAKEN/STIR, Voice
9763
+ * Integrity) each of the org's numbers carries, read live from Twilio.
9764
+ */
9765
+ async getPhoneVoiceTrust(orgUuid) {
9766
+ return this.fetch(`o/${orgUuid}/phone-numbers/voice-trust`);
9767
+ }
9768
+ /**
9769
+ * Put a number on a legal entity's Customer Profile and approved voice
9770
+ * trust products, taking it off any other legal entity's first. The
9771
+ * entity's business profile must be approved (400 otherwise).
9772
+ */
9773
+ async attachPhoneVoiceTrust(orgUuid, providerPhoneUuid, legalEntityUuid) {
9774
+ const body = { providerPhoneUuid, legalEntityUuid };
9775
+ return this.fetch(`o/${orgUuid}/phone-numbers/voice-trust/attach`, {
9776
+ method: "POST",
9777
+ body: JSON.stringify(body)
9778
+ });
9779
+ }
9131
9780
  // ============================================================================
9132
9781
  // Organization Business Profile API (Twilio Trust Hub Secondary CP)
9133
9782
  // ============================================================================
@@ -9297,6 +9946,16 @@ var OrgApi = class extends BaseApiClient {
9297
9946
  }
9298
9947
  );
9299
9948
  }
9949
+ /**
9950
+ * Resubmit a campaign the carrier rejected, with the brand's current
9951
+ * campaign copy. Edits the campaign in place, so no second vetting fee.
9952
+ */
9953
+ async resubmitA2PCampaign(orgUuid, brandUuid) {
9954
+ return this.fetch(
9955
+ `o/${orgUuid}/a2p-brands/${brandUuid}/resubmit-campaign`,
9956
+ { method: "POST" }
9957
+ );
9958
+ }
9300
9959
  /**
9301
9960
  * Published Sites across the org's workspaces that can be linked as this
9302
9961
  * brand's enrollment (opt-in) surface. Org-authorized, so it works even when
@@ -9309,7 +9968,7 @@ var OrgApi = class extends BaseApiClient {
9309
9968
  }
9310
9969
  /**
9311
9970
  * Link the brand to a published enrollment Site (sets `site_uuid`). Returns
9312
- * the refreshed campaign config so the editor's link state updates inline.
9971
+ * the refreshed campaign config.
9313
9972
  */
9314
9973
  async linkA2PEnrollmentSite(orgUuid, brandUuid, data) {
9315
9974
  return this.fetch(
@@ -9322,9 +9981,9 @@ var OrgApi = class extends BaseApiClient {
9322
9981
  }
9323
9982
  /**
9324
9983
  * Provision (or reuse) a patient-enrollment Site for the brand and link it —
9325
- * the one-click path behind the SMS Consent tab. `workspaceUuid` is required
9326
- * only when the org has multiple workspaces. Returns the refreshed campaign
9327
- * config so the editor's link state updates inline. Idempotent.
9984
+ * the explicit counterpart to the automatic provisioning at brand
9985
+ * registration. `workspaceUuid` is required only when the org has multiple
9986
+ * workspaces. Returns the refreshed campaign config. Idempotent.
9328
9987
  */
9329
9988
  async provisionA2PEnrollmentSite(orgUuid, brandUuid, data = {}) {
9330
9989
  return this.fetch(
@@ -9343,34 +10002,42 @@ var OrgApi = class extends BaseApiClient {
9343
10002
  );
9344
10003
  }
9345
10004
  /**
9346
- * The brand's enrollment-form template URL (carries `?brand=…`, no
9347
- * credential). `url` is null until a Site is linked. Do not append a
9348
- * patient identifier to this URL — use {@link mintA2PBrandEnrollmentLink}
9349
- * to get a patient-ready link instead.
10005
+ * Stage one A2P opt-in evidence file: get a presigned POST to send the bytes
10006
+ * straight to storage. Nothing is recorded on the brand until
10007
+ * {@link registerA2PEvidenceUpload} reads the object back and normalizes it.
9350
10008
  */
9351
- async getA2PBrandEnrollmentUrl(orgUuid, brandUuid) {
10009
+ async createA2PEvidenceUploadUrl(orgUuid, brandUuid, data) {
9352
10010
  return this.fetch(
9353
- `o/${orgUuid}/a2p-brands/${brandUuid}/enrollment-url`
10011
+ `o/${orgUuid}/a2p-brands/${brandUuid}/evidence-attachments/upload-url`,
10012
+ {
10013
+ method: "POST",
10014
+ body: JSON.stringify(data)
10015
+ }
9354
10016
  );
9355
10017
  }
9356
10018
  /**
9357
- * Mint a patient-ready enrollment link for one patient.
9358
- *
9359
- * The returned URL carries a fresh, expiring, single-use `?grant=…` bound to
9360
- * the member that `externalId` resolves to. `externalId` (the patient's
9361
- * CRM/EHR identifier) travels in the request body, never the query string,
9362
- * so it stays out of access logs. When it matches no member, the
9363
- * credential-free template URL is returned rather than an error.
10019
+ * Normalize a staged evidence upload and record it on the brand. Returns the
10020
+ * refreshed campaign config, so the editor's evidence list updates without a
10021
+ * second round trip.
9364
10022
  */
9365
- async mintA2PBrandEnrollmentLink(orgUuid, brandUuid, externalId) {
10023
+ async registerA2PEvidenceUpload(orgUuid, brandUuid, data) {
9366
10024
  return this.fetch(
9367
- `o/${orgUuid}/a2p-brands/${brandUuid}/enrollment-url`,
10025
+ `o/${orgUuid}/a2p-brands/${brandUuid}/evidence-attachments`,
9368
10026
  {
9369
10027
  method: "POST",
9370
- body: JSON.stringify({ externalId })
10028
+ body: JSON.stringify(data)
9371
10029
  }
9372
10030
  );
9373
10031
  }
10032
+ /** Remove one uploaded evidence artifact. */
10033
+ async deleteA2PEvidenceUpload(orgUuid, brandUuid, attachmentUuid) {
10034
+ return this.fetch(
10035
+ `o/${orgUuid}/a2p-brands/${brandUuid}/evidence-attachments/${encodeURIComponent(
10036
+ attachmentUuid
10037
+ )}`,
10038
+ { method: "DELETE" }
10039
+ );
10040
+ }
9374
10041
  /**
9375
10042
  * List available member roles for a workspace in the organization.
9376
10043
  */
@@ -9395,6 +10062,9 @@ var OrgApi = class extends BaseApiClient {
9395
10062
  async listOrgWebhookEndpoints(orgIdOrUuid) {
9396
10063
  return this.fetch(`o/${orgIdOrUuid}/webhooks`);
9397
10064
  }
10065
+ async getOrgWebhookEndpoint(orgIdOrUuid, endpointUuid) {
10066
+ return this.fetch(`o/${orgIdOrUuid}/webhooks/${endpointUuid}`);
10067
+ }
9398
10068
  /**
9399
10069
  * The subscribable event-type vocabulary for the org UI's event-type
9400
10070
  * picker — exactly what the create/update validators accept, so the UI
@@ -9453,6 +10123,39 @@ var OrgApi = class extends BaseApiClient {
9453
10123
  }
9454
10124
  );
9455
10125
  }
10126
+ // =========================================================================
10127
+ // Organization API keys (GRA-9043)
10128
+ // =========================================================================
10129
+ /**
10130
+ * List every API key bound to this organization. Never carries the secret.
10131
+ *
10132
+ * Org-bound keys authenticate as an org-local principal, so one key reaches
10133
+ * every current workspace of the organization and every workspace created
10134
+ * later. Gated by `org:api_keys`, which `org:admin` holds transitively.
10135
+ */
10136
+ async listOrgApiKeys(orgIdOrUuid) {
10137
+ return this.fetch(`o/${orgIdOrUuid}/api-keys`);
10138
+ }
10139
+ /**
10140
+ * Mint an org-bound API key.
10141
+ *
10142
+ * The payload is the same client-only {@link ApiKeyFormData} the workspace
10143
+ * and account routes take — `{name, expiresInDays, scopes}`, no workspace
10144
+ * id: the mint location is what binds the key. The response carries `key`,
10145
+ * the plaintext secret, which is readable exactly once.
10146
+ */
10147
+ async createOrgApiKey(orgIdOrUuid, apiKey) {
10148
+ return this.fetch(`o/${orgIdOrUuid}/api-keys`, {
10149
+ method: "POST",
10150
+ body: JSON.stringify(apiKey)
10151
+ });
10152
+ }
10153
+ /** Revoke an org-bound API key by its id. */
10154
+ async revokeOrgApiKey(orgIdOrUuid, keyId) {
10155
+ return this.fetch(`o/${orgIdOrUuid}/api-keys/${keyId}`, {
10156
+ method: "DELETE"
10157
+ });
10158
+ }
9456
10159
  };
9457
10160
  function businessProfilePath(orgUuid, legalEntityUuid) {
9458
10161
  return legalEntityUuid ? `o/${orgUuid}/legal-entities/${legalEntityUuid}/business-profile` : `o/${orgUuid}/business-profile`;
@@ -10087,6 +10790,14 @@ var QualificationsApi = class extends BaseApiClient {
10087
10790
  });
10088
10791
  }
10089
10792
  // ===== Test chat runs =====
10793
+ /**
10794
+ * List a Workflow's test chat runs, newest first (default 50, max 500).
10795
+ *
10796
+ * `workflowRevisionId` narrows to that revision before the limit applies.
10797
+ * `includeEarlierRevisions` widens the window to earlier published
10798
+ * revisions and runs whose revision was deleted, and requires
10799
+ * `workflowRevisionId`. Omitting both keeps the unfiltered list.
10800
+ */
10090
10801
  async listTestChatRuns(wid, workflowId, params) {
10091
10802
  const query = new URLSearchParams();
10092
10803
  if (params?.scenarioId !== void 0) query.set("scenarioId", String(params.scenarioId));
@@ -10094,11 +10805,36 @@ var QualificationsApi = class extends BaseApiClient {
10094
10805
  query.set("assistantChatModelId", params.assistantChatModelId);
10095
10806
  }
10096
10807
  if (params?.limit !== void 0) query.set("limit", String(params.limit));
10808
+ if (params?.workflowRevisionId !== void 0) {
10809
+ query.set("workflow_revision_id", String(params.workflowRevisionId));
10810
+ }
10811
+ if (params?.includeEarlierRevisions !== void 0) {
10812
+ query.set("include_earlier_revisions", String(params.includeEarlierRevisions));
10813
+ }
10097
10814
  const qs = query.toString() ? `?${query.toString()}` : "";
10098
10815
  return this.fetch(
10099
10816
  `w/${wid}/qualifications/workflows/${workflowId}/test-chat-runs${qs}`
10100
10817
  );
10101
10818
  }
10819
+ /**
10820
+ * Exact scenario health for one revision of a Workflow: every active
10821
+ * scenario's server-decided state, caption, counts and per-revision pass
10822
+ * rates, plus the board headline. Scenarios arrive in board order.
10823
+ *
10824
+ * Omit `workflowRevisionId` for the server's current revision (the newest
10825
+ * with runs, the Draft counting as newest); the response names the
10826
+ * revision it describes and whether it is the current one.
10827
+ */
10828
+ async listScenarioHealthSummaries(wid, workflowId, params) {
10829
+ const query = new URLSearchParams();
10830
+ if (params?.workflowRevisionId !== void 0) {
10831
+ query.set("workflow_revision_id", String(params.workflowRevisionId));
10832
+ }
10833
+ const qs = query.toString() ? `?${query.toString()}` : "";
10834
+ return this.fetch(
10835
+ `w/${wid}/qualifications/workflows/${workflowId}/scenario-health-summaries${qs}`
10836
+ );
10837
+ }
10102
10838
  async getTestChatRun(wid, runId) {
10103
10839
  return this.fetch(`w/${wid}/qualifications/test-chat-runs/${runId}`);
10104
10840
  }
@@ -10194,6 +10930,69 @@ var ReportsApi = class extends BaseApiClient {
10194
10930
  }
10195
10931
  };
10196
10932
 
10933
+ // src/api/routing-rules.ts
10934
+ function appendFilters(params, filters) {
10935
+ if (!filters) return;
10936
+ if (filters.channel !== void 0) params.set("channel", filters.channel);
10937
+ if (filters.phoneNumberId !== void 0)
10938
+ params.set("phoneNumberId", String(filters.phoneNumberId));
10939
+ if (filters.inboxId !== void 0) params.set("inboxId", String(filters.inboxId));
10940
+ if (filters.page !== void 0) params.set("page", String(filters.page));
10941
+ if (filters.pageSize !== void 0) params.set("pageSize", String(filters.pageSize));
10942
+ }
10943
+ var RoutingRulesApi = class extends BaseApiClient {
10944
+ /** List one endpoint's rules. Requires the rule's endpoint read permission (`phones:read`, or `inboxes:read`). */
10945
+ async getRoutingRules(wid, filters) {
10946
+ const params = new URLSearchParams();
10947
+ appendFilters(params, filters);
10948
+ const query = params.toString();
10949
+ return this.fetch(
10950
+ `w/${wid}/routing${query ? `?${query}` : ""}`
10951
+ );
10952
+ }
10953
+ /** Read one rule. Requires the rule's endpoint read permission (`phones:read`, or `inboxes:read`). */
10954
+ async getRoutingRule(wid, ruleUuid) {
10955
+ return this.fetch(`w/${wid}/routing/${ruleUuid}`);
10956
+ }
10957
+ /** Create a rule. Requires the rule's endpoint write permission (`phones:write`, or `inboxes:write`). */
10958
+ async createRoutingRule(wid, data) {
10959
+ return this.fetch(`w/${wid}/routing`, {
10960
+ method: "POST",
10961
+ body: JSON.stringify(data)
10962
+ });
10963
+ }
10964
+ /** Update a rule. Requires the rule's endpoint write permission (`phones:write`, or `inboxes:write`). */
10965
+ async updateRoutingRule(wid, ruleUuid, data) {
10966
+ return this.fetch(`w/${wid}/routing/${ruleUuid}`, {
10967
+ method: "PATCH",
10968
+ body: JSON.stringify(data)
10969
+ });
10970
+ }
10971
+ /** Hard-delete a rule. Requires the rule's endpoint write permission (`phones:write`, or `inboxes:write`); the server audits deletion. */
10972
+ async deleteRoutingRule(wid, ruleUuid) {
10973
+ return this.fetch(`w/${wid}/routing/${ruleUuid}`, {
10974
+ method: "DELETE"
10975
+ });
10976
+ }
10977
+ /** Atomically reorder one endpoint/channel scope. Requires the rule's endpoint write permission (`phones:write`, or `inboxes:write`). */
10978
+ async reorderRoutingRules(wid, ruleUuids) {
10979
+ return this.fetch(`w/${wid}/routing/reorder`, {
10980
+ method: "POST",
10981
+ body: JSON.stringify({ ruleUuids })
10982
+ });
10983
+ }
10984
+ /**
10985
+ * Dry-run rule evaluation without placing or sending anything. Requires
10986
+ * the rule's endpoint read permission (`phones:read`, or `inboxes:read`); previewing a named Member also requires `members:read`.
10987
+ */
10988
+ async previewRoutingRule(wid, data) {
10989
+ return this.fetch(`w/${wid}/routing/preview`, {
10990
+ method: "POST",
10991
+ body: JSON.stringify(data)
10992
+ });
10993
+ }
10994
+ };
10995
+
10197
10996
  // src/api/salesforce.ts
10198
10997
  var SalesforceApi = class extends BaseApiClient {
10199
10998
  /**
@@ -10274,6 +11073,20 @@ var SalesforceApi = class extends BaseApiClient {
10274
11073
  body: JSON.stringify(data)
10275
11074
  });
10276
11075
  }
11076
+ /**
11077
+ * Start a durable run that links unlinked members by Salesforce Id / email
11078
+ * and hydrates them. One run per connection; a second start while one is
11079
+ * in flight is 409.
11080
+ */
11081
+ async linkUnlinkedSalesforceMembersByIdentity(wid) {
11082
+ return this.fetch(
11083
+ `w/${wid}/app-connections/salesforce/reconciliation/link-unlinked-by-identity`,
11084
+ {
11085
+ method: "POST",
11086
+ body: JSON.stringify({})
11087
+ }
11088
+ );
11089
+ }
10277
11090
  async unlinkMemberFromSalesforce(wid, memberId) {
10278
11091
  return this.fetch(`w/${wid}/app-connections/salesforce/reconciliation/unlink/${memberId}`, {
10279
11092
  method: "DELETE"
@@ -10355,6 +11168,21 @@ var SalesforceApi = class extends BaseApiClient {
10355
11168
  }
10356
11169
  );
10357
11170
  }
11171
+ /**
11172
+ * Managed-rule execution history for this connection (`GET /sync/logs`):
11173
+ * the connection's managed EventRule executions, newest first, with the
11174
+ * shared cursor pagination. Requires `apps:read`; works while the
11175
+ * connection is parked for re-authorization.
11176
+ */
11177
+ async getSalesforceSyncLogs(wid, params) {
11178
+ const query = new URLSearchParams();
11179
+ if (params?.pageSize) query.set("pageSize", String(params.pageSize));
11180
+ if (params?.cursor) query.set("cursor", params.cursor);
11181
+ const qs = query.toString() ? `?${query.toString()}` : "";
11182
+ return this.fetch(
11183
+ `w/${wid}/app-connections/salesforce/sync/logs${qs}`
11184
+ );
11185
+ }
10358
11186
  };
10359
11187
 
10360
11188
  // src/api/connection-sync.ts
@@ -10545,12 +11373,19 @@ var HubspotApi = class extends BaseApiClient {
10545
11373
  async getHubspotManagedRules(wid) {
10546
11374
  return this.fetch(`w/${wid}/app-connections/hubspot/managed-rules`);
10547
11375
  }
11376
+ /**
11377
+ * Managed-rule execution history for this connection (`GET /sync/logs`).
11378
+ * Rows are the shared rule-execution response (the same shape the Salesforce
11379
+ * and Monday twins return), with cursor pagination.
11380
+ */
10548
11381
  async getHubspotSyncLogs(wid, params) {
10549
11382
  const query = new URLSearchParams();
10550
11383
  if (params?.pageSize) query.set("pageSize", String(params.pageSize));
10551
11384
  if (params?.cursor) query.set("cursor", params.cursor);
10552
11385
  const qs = query.toString() ? `?${query.toString()}` : "";
10553
- return this.fetch(`w/${wid}/app-connections/hubspot/sync/logs${qs}`);
11386
+ return this.fetch(
11387
+ `w/${wid}/app-connections/hubspot/sync/logs${qs}`
11388
+ );
10554
11389
  }
10555
11390
  async getHubspotTransformPresets(wid) {
10556
11391
  return this.fetch(
@@ -11576,6 +12411,33 @@ var JourneysApi = class extends BaseApiClient {
11576
12411
  body: JSON.stringify(data)
11577
12412
  });
11578
12413
  }
12414
+ /**
12415
+ * Discard a saved editor draft, keeping the runnable definition.
12416
+ *
12417
+ * Body-less: a DELETE carries no document, only the resource to remove and
12418
+ * `expectedUpdatedAt` — the Journey's `updatedAt` as the caller loaded it —
12419
+ * proving they are removing the draft they were looking at. Encoded through
12420
+ * `URLSearchParams` because an ISO timestamp with a positive UTC offset
12421
+ * contains a `+`, which a raw template string would deliver to the server as
12422
+ * a space and turn into a revision conflict nobody can explain.
12423
+ *
12424
+ * Returns the AUTHORING projection (`Journey`) with `authoringDraft: null`
12425
+ * and the advanced `updatedAt`, so the caller can re-derive from the stored
12426
+ * definition without a second read.
12427
+ *
12428
+ * Refusals match the PUT's vocabulary: `journey_v2_definition_conflict`
12429
+ * (someone saved first — nothing was removed),
12430
+ * `journey_v2_structural_edit_not_allowed` (the Journey is live or archived)
12431
+ * and `journey_v2_execution_model_mismatch` (it is legacy). A Journey that
12432
+ * has no saved draft is a success, not an error — the state the caller asked
12433
+ * for is the state it is in.
12434
+ */
12435
+ async deleteJourneyDraft(wid, journeyId, expectedUpdatedAt) {
12436
+ const query = new URLSearchParams({ expectedUpdatedAt });
12437
+ return this.fetch(`w/${wid}/journeys/${journeyId}/draft?${query.toString()}`, {
12438
+ method: "DELETE"
12439
+ });
12440
+ }
11579
12441
  /**
11580
12442
  * List journeys, optionally including archived, paginated.
11581
12443
  *
@@ -11982,15 +12844,11 @@ var WorkflowsApi = class extends BaseApiClient {
11982
12844
  return this.fetch(`w/${wid}/workflows/${id}/diagram${query}`);
11983
12845
  }
11984
12846
  /**
11985
- * Get workflow thumbnail URL.
11986
- * For cross-domain setups, returns a same-origin proxy URL to ensure cookies are sent.
11987
- * For same-origin setups, returns the direct API URL.
12847
+ * The outline a Workflow's diagram is drawn from: its active Tasks, its
12848
+ * start Task, the moves between Tasks and its Ability types.
11988
12849
  */
11989
- getWorkflowThumbnailUrl(wid, id) {
11990
- if (this.isCrossDomain) {
11991
- return `/api/v2/w/${wid}/workflows/${id}/thumbnail`;
11992
- }
11993
- return `${this.baseUrl}/api/v2/w/${wid}/workflows/${id}/thumbnail`;
12850
+ async getWorkflowOutline(wid, id) {
12851
+ return this.fetch(`w/${wid}/workflows/${id}/outline`);
11994
12852
  }
11995
12853
  /** Create a new workflow in a workspace. */
11996
12854
  async createWorkflow(wid, workflow) {
@@ -12073,11 +12931,6 @@ var WorkflowsApi = class extends BaseApiClient {
12073
12931
  `w/${wid}/workflows/${workflowId}/tasks/${taskId}/chats?${params.toString()}`
12074
12932
  );
12075
12933
  }
12076
- async getWorkflowAccessValidation(wid, workflowId) {
12077
- return this.fetch(
12078
- `w/${wid}/workflows/${workflowId}/validate-access`
12079
- );
12080
- }
12081
12934
  async getWorkflowConfigValidation(wid, workflowId) {
12082
12935
  return this.fetch(
12083
12936
  `w/${wid}/workflows/${workflowId}/validate-config`
@@ -12960,17 +13813,17 @@ var WorkspacesApi = class extends BaseApiClient {
12960
13813
  body: JSON.stringify(payload)
12961
13814
  });
12962
13815
  }
12963
- /** List available themes for a workspace. */
13816
+ /**
13817
+ * List available themes for a workspace.
13818
+ *
13819
+ * Read-only: `…/themes` serves GET and nothing else. `Workspace.themes` is
13820
+ * an entitlement allowlist — which non-global themes this workspace may
13821
+ * select. There was never a `PUT …/themes` route; the
13822
+ * `updateWorkspaceThemes` method that targeted one always 405'd (GRA-8892).
13823
+ */
12964
13824
  async getWorkspaceThemes(wid) {
12965
13825
  return this.fetch(`w/${wid}/themes`);
12966
13826
  }
12967
- /** Update the active themes for a workspace. */
12968
- async updateWorkspaceThemes(wid, themes) {
12969
- return this.fetch(`w/${wid}/themes`, {
12970
- method: "PUT",
12971
- body: JSON.stringify({ themes })
12972
- });
12973
- }
12974
13827
  /**
12975
13828
  * Get all workspace-grantable scopes that can be assigned to member roles.
12976
13829
  *
@@ -13012,6 +13865,8 @@ function createApiModules(apiKey, baseUrl, customFetch) {
13012
13865
  assignments: new AssignmentsApi(apiKey, baseUrl, customFetch),
13013
13866
  auth: new AuthApi(apiKey, baseUrl, customFetch),
13014
13867
  builders: new BuildersApi(apiKey, baseUrl, customFetch),
13868
+ bundles: new BundlesApi(apiKey, baseUrl, customFetch),
13869
+ installations: new InstallationsApi(apiKey, baseUrl, customFetch),
13015
13870
  calendars: new CalendarsApi(apiKey, baseUrl, customFetch),
13016
13871
  calls: new CallsApi(apiKey, baseUrl, customFetch),
13017
13872
  cel: new CELApi(apiKey, baseUrl, customFetch),
@@ -13060,6 +13915,8 @@ function createApiModules(apiKey, baseUrl, customFetch) {
13060
13915
  metrics: new MetricsApi(apiKey, baseUrl, customFetch),
13061
13916
  queries: new QueriesApi(apiKey, baseUrl, customFetch),
13062
13917
  reports: new ReportsApi(apiKey, baseUrl, customFetch),
13918
+ resourceWorkflows: new ResourceWorkflowsApi(apiKey, baseUrl, customFetch),
13919
+ routingRules: new RoutingRulesApi(apiKey, baseUrl, customFetch),
13063
13920
  salesforce: new SalesforceApi(apiKey, baseUrl, customFetch),
13064
13921
  sites: new SitesApi(apiKey, baseUrl, customFetch),
13065
13922
  subscriptions: new SubscriptionsApi(apiKey, baseUrl, customFetch),
@@ -13089,6 +13946,7 @@ var WORKSPACE_METHOD_NAMES = [
13089
13946
  "archiveDataType",
13090
13947
  "archiveJourney",
13091
13948
  "archiveMember",
13949
+ "archiveMemberByExternalId",
13092
13950
  "archiveMemberRelationship",
13093
13951
  "archivePersona",
13094
13952
  "archivePhoneNumber",
@@ -13115,7 +13973,6 @@ var WORKSPACE_METHOD_NAMES = [
13115
13973
  "checkSiteSlugAvailability",
13116
13974
  "claimDevicePairing",
13117
13975
  "clearConnectionMemberExclusion",
13118
- "clearMemberSwitch",
13119
13976
  "clearTrackedLinkDestinations",
13120
13977
  "clickWorkspaceSupportRequestResource",
13121
13978
  "cloneDataType",
@@ -13138,6 +13995,9 @@ var WORKSPACE_METHOD_NAMES = [
13138
13995
  "createAgent",
13139
13996
  "createApiKey",
13140
13997
  "createAssignment",
13998
+ "bindInstallationSlots",
13999
+ "restoreInstallationForm",
14000
+ "createBundle",
13141
14001
  "createCalendar",
13142
14002
  "createCalendarEvent",
13143
14003
  "createCalendarEventType",
@@ -13186,6 +14046,7 @@ var WORKSPACE_METHOD_NAMES = [
13186
14046
  "createPhoneNumber",
13187
14047
  "createProduct",
13188
14048
  "createRoutine",
14049
+ "createRoutingRule",
13189
14050
  "createScenario",
13190
14051
  "createSignup",
13191
14052
  "createSite",
@@ -13236,6 +14097,7 @@ var WORKSPACE_METHOD_NAMES = [
13236
14097
  "deleteGoal",
13237
14098
  "deleteHubspot",
13238
14099
  "deleteInbox",
14100
+ "deleteJourneyDraft",
13239
14101
  "deleteJourneyNote",
13240
14102
  "deleteMcpServer",
13241
14103
  "deleteMember",
@@ -13253,6 +14115,7 @@ var WORKSPACE_METHOD_NAMES = [
13253
14115
  "deletePlatformApp",
13254
14116
  "deleteProduct",
13255
14117
  "deleteRoutine",
14118
+ "deleteRoutingRule",
13256
14119
  "deleteSalesforce",
13257
14120
  "deleteScenario",
13258
14121
  "deleteSite",
@@ -13285,6 +14148,7 @@ var WORKSPACE_METHOD_NAMES = [
13285
14148
  "dismissAllNotifications",
13286
14149
  "dismissNotification",
13287
14150
  "downloadEmailAttachment",
14151
+ "downloadFileContents",
13288
14152
  "downloadFilesZip",
13289
14153
  "downloadSiteSourceZip",
13290
14154
  "editWorkflowRevisionAsDraft",
@@ -13347,6 +14211,7 @@ var WORKSPACE_METHOD_NAMES = [
13347
14211
  "getAgentTasks",
13348
14212
  "getAgents",
13349
14213
  "getAnonymousResolution",
14214
+ "getAnonymousFormSubmission",
13350
14215
  "getAnonymousResolutions",
13351
14216
  "getApiKeys",
13352
14217
  "getArchiveBlockers",
@@ -13360,6 +14225,12 @@ var WORKSPACE_METHOD_NAMES = [
13360
14225
  "getAvailableActions",
13361
14226
  "getAvailablePhoneNumbers",
13362
14227
  "getAvailableSlots",
14228
+ "getInstallation",
14229
+ "getInstallationReadiness",
14230
+ "getThemeSettingsSchema",
14231
+ "getBundleDraft",
14232
+ "getBundle",
14233
+ "getBundleVersion",
13363
14234
  "getBusinessHoursStatus",
13364
14235
  "getCalendar",
13365
14236
  "getCalendarEvent",
@@ -13372,8 +14243,11 @@ var WORKSPACE_METHOD_NAMES = [
13372
14243
  "getCelContext",
13373
14244
  "getCharlestonTestDeliveryRecipients",
13374
14245
  "getChat",
14246
+ "getChatByUuid",
13375
14247
  "getChatAssignmentTasks",
13376
14248
  "getChatBrowserLiveView",
14249
+ "saveChatBrowserStorage",
14250
+ "clearChatBrowserStorage",
13377
14251
  "getChatCallbacks",
13378
14252
  "getChatEhrWritebackOutcomes",
13379
14253
  "getChatEmails",
@@ -13419,6 +14293,7 @@ var WORKSPACE_METHOD_NAMES = [
13419
14293
  "getDashboardWorkflowAssignmentStats",
13420
14294
  "getDashboards",
13421
14295
  "getDataRecord",
14296
+ "getDataRecordByUuid",
13422
14297
  "getDataRecordChanges",
13423
14298
  "getDataRecordFilter",
13424
14299
  "getDataRecordFilterCount",
@@ -13536,6 +14411,7 @@ var WORKSPACE_METHOD_NAMES = [
13536
14411
  "getMcpServerResources",
13537
14412
  "getMcpServerTools",
13538
14413
  "getMcpServers",
14414
+ "getMemberByUuid",
13539
14415
  "getMemberExperiments",
13540
14416
  "getMemberFieldDefinitions",
13541
14417
  "getMemberFields",
@@ -13567,6 +14443,7 @@ var WORKSPACE_METHOD_NAMES = [
13567
14443
  "getMondayConnectionStatus",
13568
14444
  "getMondayReconciliationMatches",
13569
14445
  "getMondaySyncConfig",
14446
+ "getMondaySyncLogs",
13570
14447
  "getMyCredentials",
13571
14448
  "getMyGivenGrants",
13572
14449
  "getMyReceivedGrants",
@@ -13577,7 +14454,6 @@ var WORKSPACE_METHOD_NAMES = [
13577
14454
  "getOperatorGroup",
13578
14455
  "getOperatorGroups",
13579
14456
  "getOrCreateQualificationForWorkflow",
13580
- "getOwnedMembers",
13581
14457
  "getPage",
13582
14458
  "getPageBySlug",
13583
14459
  "getPersona",
@@ -13607,11 +14483,14 @@ var WORKSPACE_METHOD_NAMES = [
13607
14483
  "getRoutineConfigEvents",
13608
14484
  "getRoutineRuns",
13609
14485
  "getRoutines",
14486
+ "getRoutingRule",
14487
+ "getRoutingRules",
13610
14488
  "getRuleExecutions",
13611
14489
  "getSMSUsageReport",
13612
14490
  "getSalesforceReconciliationMatches",
13613
14491
  "getSalesforceStatus",
13614
14492
  "getSalesforceSyncConfig",
14493
+ "getSalesforceSyncLogs",
13615
14494
  "getScenario",
13616
14495
  "getSite",
13617
14496
  "getSiteByUuid",
@@ -13657,7 +14536,6 @@ var WORKSPACE_METHOD_NAMES = [
13657
14536
  "getWebhookLogs",
13658
14537
  "getWorkflow",
13659
14538
  "getWorkflowOpeningTurnConversionReport",
13660
- "getWorkflowAccessValidation",
13661
14539
  "getWorkflowActivity",
13662
14540
  "getWorkflowConfigValidation",
13663
14541
  "getWorkflowFeedback",
@@ -13665,11 +14543,11 @@ var WORKSPACE_METHOD_NAMES = [
13665
14543
  "getWorkflowDeletionPreview",
13666
14544
  "getWorkflowDiagram",
13667
14545
  "getWorkflowNotes",
14546
+ "getWorkflowOutline",
13668
14547
  "getWorkflowRevision",
13669
14548
  "getWorkflowRevisions",
13670
14549
  "getWorkflowTaskAssignmentStats",
13671
14550
  "getWorkflowTemplates",
13672
- "getWorkflowThumbnailUrl",
13673
14551
  "getWorkflows",
13674
14552
  "getWorkflowsActivityBatch",
13675
14553
  "getWorkspace",
@@ -13688,6 +14566,8 @@ var WORKSPACE_METHOD_NAMES = [
13688
14566
  "getWorkspaceSubscriptions",
13689
14567
  "getWorkspaceSupportRequest",
13690
14568
  "getWorkspaceThemes",
14569
+ "installBundle",
14570
+ "grantBundle",
13691
14571
  "importFromBoard",
13692
14572
  "importHubspotMembers",
13693
14573
  "importMembers",
@@ -13710,13 +14590,23 @@ var WORKSPACE_METHOD_NAMES = [
13710
14590
  "linkMemberToMonday",
13711
14591
  "linkMemberToSalesforce",
13712
14592
  "linkPhoneNumber",
14593
+ "linkUnlinkedSalesforceMembersByIdentity",
13713
14594
  "listAbilities",
14595
+ "listAnonymousFormSubmissions",
13714
14596
  "listAppConnections",
13715
14597
  "listAvailableAppConnections",
14598
+ "listInstallations",
14599
+ "listBundleGrants",
14600
+ "listBundleVersions",
14601
+ "listBundles",
14602
+ "listBundleWorkflowCandidates",
14603
+ "updateBundle",
14604
+ "listBundleInstallations",
13716
14605
  "listConfluencePages",
13717
14606
  "listConfluenceSpaces",
13718
14607
  "listConnectionMemberFieldKeys",
13719
14608
  "listContactPermissions",
14609
+ "revokeBundleGrant",
13720
14610
  "rollbackSiteSource",
13721
14611
  "rotateDocumoFaxCredentials",
13722
14612
  "runQuery",
@@ -13737,7 +14627,11 @@ var WORKSPACE_METHOD_NAMES = [
13737
14627
  "getMetricSeries",
13738
14628
  "computeChatMetrics",
13739
14629
  "listPushSubscriptions",
14630
+ "listResourceWorkflows",
14631
+ "getResourceWorkflow",
14632
+ "getResourceWorkflowRevision",
13740
14633
  "listSalesforceObjects",
14634
+ "listScenarioHealthSummaries",
13741
14635
  "listScenarios",
13742
14636
  "listTestChatRuns",
13743
14637
  "listWidgetDomains",
@@ -13753,15 +14647,18 @@ var WORKSPACE_METHOD_NAMES = [
13753
14647
  "previewRenameFieldSlug",
13754
14648
  "previewImportWorkspace",
13755
14649
  "previewInboxEmail",
14650
+ "preflightBundleInstallation",
13756
14651
  "previewRoutineVoiceReadiness",
13757
- "previewRoutineWorkflowAccess",
13758
14652
  "previewSchedule",
14653
+ "previewRoutingRule",
13759
14654
  "previewTTS",
13760
14655
  "previewTemplate",
13761
14656
  "previewThinkingSound",
13762
14657
  "previewWorkspaceImport",
13763
14658
  "previewWorkspaceImportZip",
13764
14659
  "provisionClientWorkspace",
14660
+ "previewInstallationUpgrade",
14661
+ "publishBundle",
13765
14662
  "publishWorkflowRevision",
13766
14663
  "putJourneyDraft",
13767
14664
  "putJourneyV2Definition",
@@ -13773,11 +14670,16 @@ var WORKSPACE_METHOD_NAMES = [
13773
14670
  "registerPushSubscription",
13774
14671
  "reindexFolder",
13775
14672
  "releasePhoneNumber",
14673
+ "reorderRoutingRules",
13776
14674
  "removeFileRole",
13777
14675
  "removeFolderRole",
13778
14676
  "removeGroupMember",
13779
14677
  "reorderEventRules",
13780
14678
  "reorderMenuItems",
14679
+ "reconcileInstallation",
14680
+ "setInstallationPolicy",
14681
+ "upgradeInstallation",
14682
+ "replaceBundleDraft",
13781
14683
  "replyToEmail",
13782
14684
  "rotateDocumoFaxCredentials",
13783
14685
  "requestPhoneNumber",
@@ -13813,7 +14715,6 @@ var WORKSPACE_METHOD_NAMES = [
13813
14715
  "startSyncRun",
13814
14716
  "startTestChatRun",
13815
14717
  "summarizeChat",
13816
- "switchMember",
13817
14718
  "syncCalendarWithGoogle",
13818
14719
  "syncCalendarWithHealthie",
13819
14720
  "testFhirConnection",
@@ -13826,6 +14727,7 @@ var WORKSPACE_METHOD_NAMES = [
13826
14727
  "unarchiveChat",
13827
14728
  "unarchiveDataType",
13828
14729
  "unarchiveMember",
14730
+ "unarchiveMemberByExternalId",
13829
14731
  "unarchivePersona",
13830
14732
  "unarchiveStep",
13831
14733
  "unarchiveTask",
@@ -13883,6 +14785,7 @@ var WORKSPACE_METHOD_NAMES = [
13883
14785
  "updateJourneyNote",
13884
14786
  "updateMcpServer",
13885
14787
  "updateMember",
14788
+ "updateMemberByExternalId",
13886
14789
  "updateMemberField",
13887
14790
  "updateMemberFilter",
13888
14791
  "updateMemberLabel",
@@ -13899,6 +14802,7 @@ var WORKSPACE_METHOD_NAMES = [
13899
14802
  "updateProduct",
13900
14803
  "updateProject",
13901
14804
  "updateRoutine",
14805
+ "updateRoutingRule",
13902
14806
  "updateSalesforceSyncConfig",
13903
14807
  "resyncSalesforceLinkedMembers",
13904
14808
  "updateScenario",
@@ -13921,7 +14825,6 @@ var WORKSPACE_METHOD_NAMES = [
13921
14825
  "updateWorkspace",
13922
14826
  "updateWorkspaceDefaults",
13923
14827
  "updateWorkspaceInvitationAdmin",
13924
- "updateWorkspaceThemes",
13925
14828
  "upsertDataRecord",
13926
14829
  "upsertWidgetDomain",
13927
14830
  "validateCelExpression",
@@ -14012,6 +14915,9 @@ function bindChatsMethods(target, chats) {
14012
14915
  target.transitionChatInteractionSession = chats.transitionChatInteractionSession.bind(chats);
14013
14916
  target.getChats = chats.getChats.bind(chats);
14014
14917
  target.getChat = chats.getChat.bind(chats);
14918
+ target.getChatByUuid = chats.getChatByUuid.bind(chats);
14919
+ target.saveChatBrowserStorage = chats.saveChatBrowserStorage.bind(chats);
14920
+ target.clearChatBrowserStorage = chats.clearChatBrowserStorage.bind(chats);
14015
14921
  target.getChatBrowserLiveView = chats.getChatBrowserLiveView.bind(chats);
14016
14922
  target.getChatMachineResources = chats.getChatMachineResources.bind(chats);
14017
14923
  target.getCurrentSmsChat = chats.getCurrentSmsChat.bind(chats);
@@ -14148,7 +15054,10 @@ function bindDataTypesMethods(target, dataTypes) {
14148
15054
  target.unarchiveDataType = dataTypes.unarchiveDataType.bind(dataTypes);
14149
15055
  target.cloneDataType = dataTypes.cloneDataType.bind(dataTypes);
14150
15056
  target.getDataRecords = dataTypes.getDataRecords.bind(dataTypes);
15057
+ target.listAnonymousFormSubmissions = dataTypes.listAnonymousFormSubmissions.bind(dataTypes);
15058
+ target.getAnonymousFormSubmission = dataTypes.getAnonymousFormSubmission.bind(dataTypes);
14151
15059
  target.getDataRecord = dataTypes.getDataRecord.bind(dataTypes);
15060
+ target.getDataRecordByUuid = dataTypes.getDataRecordByUuid.bind(dataTypes);
14152
15061
  target.createDataRecord = dataTypes.createDataRecord.bind(dataTypes);
14153
15062
  target.updateDataRecord = dataTypes.updateDataRecord.bind(dataTypes);
14154
15063
  target.deleteDataRecord = dataTypes.deleteDataRecord.bind(dataTypes);
@@ -14187,18 +15096,19 @@ function bindMembersMethods(target, members) {
14187
15096
  target.previewMemberWorkflowVoice = members.previewMemberWorkflowVoice.bind(members);
14188
15097
  target.setMemberWorkflowVoice = members.setMemberWorkflowVoice.bind(members);
14189
15098
  target.clearMemberWorkflowVoice = members.clearMemberWorkflowVoice.bind(members);
14190
- target.getOwnedMembers = members.getOwnedMembers.bind(members);
14191
- target.switchMember = members.switchMember.bind(members);
14192
- target.clearMemberSwitch = members.clearMemberSwitch.bind(members);
14193
15099
  target.updateCurrentMember = members.updateCurrentMember.bind(members);
14194
15100
  target.getWorkspaceMembers = members.getWorkspaceMembers.bind(members);
14195
15101
  target.getWorkspaceMember = members.getWorkspaceMember.bind(members);
15102
+ target.getMemberByUuid = members.getMemberByUuid.bind(members);
14196
15103
  target.getOrgWorkspaceMember = members.getOrgWorkspaceMember.bind(members);
14197
15104
  target.createWorkspaceMember = members.createWorkspaceMember.bind(members);
14198
15105
  target.updateMember = members.updateMember.bind(members);
14199
15106
  target.deleteMember = members.deleteMember.bind(members);
14200
15107
  target.archiveMember = members.archiveMember.bind(members);
14201
15108
  target.unarchiveMember = members.unarchiveMember.bind(members);
15109
+ target.updateMemberByExternalId = members.updateMemberByExternalId.bind(members);
15110
+ target.archiveMemberByExternalId = members.archiveMemberByExternalId.bind(members);
15111
+ target.unarchiveMemberByExternalId = members.unarchiveMemberByExternalId.bind(members);
14202
15112
  target.sendMemberPhoneConfirmation = members.sendMemberPhoneConfirmation.bind(members);
14203
15113
  target.bulkCreateMembers = members.bulkCreateMembers.bind(members);
14204
15114
  target.previewImportMembers = members.previewImportMembers.bind(members);
@@ -14300,7 +15210,6 @@ function bindWorkspacesMethods(target, workspaces, signupRequests) {
14300
15210
  target.rebuildImportSkippedRules = workspaces.rebuildImportSkippedRules.bind(workspaces);
14301
15211
  target.previewImportWorkspace = workspaces.previewImportWorkspace.bind(workspaces);
14302
15212
  target.getWorkspaceThemes = workspaces.getWorkspaceThemes.bind(workspaces);
14303
- target.updateWorkspaceThemes = workspaces.updateWorkspaceThemes.bind(workspaces);
14304
15213
  target.getWorkspaceBySlug = workspaces.getWorkspace.bind(workspaces);
14305
15214
  target.getWorkspaceScopes = workspaces.getWorkspaceScopes.bind(workspaces);
14306
15215
  target.getUsageDashboard = workspaces.getUsageDashboard.bind(workspaces);
@@ -14349,6 +15258,7 @@ function bindAuthMethods(target, auth, assignments) {
14349
15258
  target.logout = auth.logout.bind(auth);
14350
15259
  target.requestCrossDomainToken = auth.requestCrossDomainToken.bind(auth);
14351
15260
  target.exchangeToken = auth.exchangeToken.bind(auth);
15261
+ target.createRealtimeLoginToken = auth.createRealtimeLoginToken.bind(auth);
14352
15262
  target.getDomainMapping = auth.getDomainMapping.bind(auth);
14353
15263
  target.createSignup = auth.createSignup.bind(auth);
14354
15264
  target.createAccount = auth.emailPasswordSignup.bind(auth);
@@ -14438,6 +15348,7 @@ function bindSitesMethods(target, sites) {
14438
15348
  function bindFilesMethods(target, files) {
14439
15349
  target.getFiles = files.getFiles.bind(files);
14440
15350
  target.getFile = files.getFile.bind(files);
15351
+ target.downloadFileContents = files.downloadFileContents.bind(files);
14441
15352
  target.downloadFilesZip = files.downloadFilesZip.bind(files);
14442
15353
  target.createFile = files.createFile.bind(files);
14443
15354
  target.uploadFile = files.uploadFile.bind(files);
@@ -14510,7 +15421,6 @@ function bindEventsMethods(target, events) {
14510
15421
  target.resetRoutineRuns = events.resetRoutineRuns.bind(events);
14511
15422
  target.previewSchedule = events.previewSchedule.bind(events);
14512
15423
  target.previewRoutineVoiceReadiness = events.previewRoutineVoiceReadiness.bind(events);
14513
- target.previewRoutineWorkflowAccess = events.previewRoutineWorkflowAccess.bind(events);
14514
15424
  }
14515
15425
 
14516
15426
  // src/client/bindings/experiments.ts
@@ -14539,7 +15449,7 @@ function bindWorkflowsMethods(target, workflows, workflowNotes, voice, superviso
14539
15449
  target.getWorkflowActivity = workflows.getWorkflowActivity.bind(workflows);
14540
15450
  target.getWorkflowsActivityBatch = workflows.getWorkflowsActivityBatch.bind(workflows);
14541
15451
  target.getWorkflowDiagram = workflows.getWorkflowDiagram.bind(workflows);
14542
- target.getWorkflowThumbnailUrl = workflows.getWorkflowThumbnailUrl.bind(workflows);
15452
+ target.getWorkflowOutline = workflows.getWorkflowOutline.bind(workflows);
14543
15453
  target.createWorkflow = workflows.createWorkflow.bind(workflows);
14544
15454
  target.updateWorkflow = workflows.updateWorkflow.bind(workflows);
14545
15455
  target.getWorkflowDeletionPreview = workflows.getWorkflowDeletionPreview.bind(workflows);
@@ -14551,7 +15461,6 @@ function bindWorkflowsMethods(target, workflows, workflowNotes, voice, superviso
14551
15461
  target.createWorkflowFromTemplate = workflows.createWorkflowFromTemplate.bind(workflows);
14552
15462
  target.getWorkflowTaskAssignmentStats = workflows.getWorkflowTaskAssignmentStats.bind(workflows);
14553
15463
  target.getTaskChats = workflows.getTaskChats.bind(workflows);
14554
- target.getWorkflowAccessValidation = workflows.getWorkflowAccessValidation.bind(workflows);
14555
15464
  target.getWorkflowConfigValidation = workflows.getWorkflowConfigValidation.bind(workflows);
14556
15465
  target.getWorkflowNotes = workflowNotes.getWorkflowNotes.bind(workflowNotes);
14557
15466
  target.createWorkflowNote = workflowNotes.createWorkflowNote.bind(workflowNotes);
@@ -14672,6 +15581,7 @@ function bindToolkitsMethods(target, toolkits, templates, aiModels, customToolki
14672
15581
  target.previewTemplate = templates.previewTemplate.bind(templates);
14673
15582
  target.getVariableRegistry = templates.getVariableRegistry.bind(templates);
14674
15583
  target.getChatModels = aiModels.getChatModels.bind(aiModels);
15584
+ target.getManagerModels = aiModels.getManagerModels.bind(aiModels);
14675
15585
  target.getRealtimeModels = aiModels.getRealtimeModels.bind(aiModels);
14676
15586
  target.getSTTModels = aiModels.getSTTModels.bind(aiModels);
14677
15587
  target.getTTSModels = aiModels.getTTSModels.bind(aiModels);
@@ -14785,6 +15695,7 @@ function bindIntegrationsMethods(target, mondayIntegration, discordBots, slackAp
14785
15695
  target.getMondayConnectionBoardColumns = mondayIntegration.getMondayConnectionBoardColumns.bind(mondayIntegration);
14786
15696
  target.getMondayConnectionBoardGroups = mondayIntegration.getMondayConnectionBoardGroups.bind(mondayIntegration);
14787
15697
  target.getMondaySyncConfig = mondayIntegration.getMondaySyncConfig.bind(mondayIntegration);
15698
+ target.getMondaySyncLogs = mondayIntegration.getMondaySyncLogs.bind(mondayIntegration);
14788
15699
  target.updateMondaySyncConfig = mondayIntegration.updateMondaySyncConfig.bind(mondayIntegration);
14789
15700
  target.getLinkedMondayMembers = mondayIntegration.getLinkedMondayMembers.bind(mondayIntegration);
14790
15701
  target.getMondayReconciliationMatches = mondayIntegration.getMondayReconciliationMatches.bind(mondayIntegration);
@@ -14899,10 +15810,12 @@ function bindIntegrationsMethods(target, mondayIntegration, discordBots, slackAp
14899
15810
  target.deleteSalesforce = salesforce.deleteSalesforce.bind(salesforce);
14900
15811
  target.getSalesforceReconciliationMatches = salesforce.getSalesforceReconciliationMatches.bind(salesforce);
14901
15812
  target.linkMemberToSalesforce = salesforce.linkMemberToSalesforce.bind(salesforce);
15813
+ target.linkUnlinkedSalesforceMembersByIdentity = salesforce.linkUnlinkedSalesforceMembersByIdentity.bind(salesforce);
14902
15814
  target.bulkLinkMembersToSalesforce = salesforce.bulkLinkMembersToSalesforce.bind(salesforce);
14903
15815
  target.unlinkMemberFromSalesforce = salesforce.unlinkMemberFromSalesforce.bind(salesforce);
14904
15816
  target.getLinkedSalesforceMembers = salesforce.getLinkedSalesforceMembers.bind(salesforce);
14905
15817
  target.getSalesforceSyncConfig = salesforce.getSalesforceSyncConfig.bind(salesforce);
15818
+ target.getSalesforceSyncLogs = salesforce.getSalesforceSyncLogs.bind(salesforce);
14906
15819
  target.updateSalesforceSyncConfig = salesforce.updateSalesforceSyncConfig.bind(salesforce);
14907
15820
  target.resyncSalesforceLinkedMembers = salesforce.resyncSalesforceLinkedMembers.bind(salesforce);
14908
15821
  target.listSalesforceObjects = salesforce.listSalesforceObjects.bind(salesforce);
@@ -14992,10 +15905,15 @@ function bindOrgMethods(target, org) {
14992
15905
  target.getVoiceTrustProducts = org.getVoiceTrustProducts.bind(org);
14993
15906
  target.syncVoiceTrustProducts = org.syncVoiceTrustProducts.bind(org);
14994
15907
  target.createOrganizationWorkspace = org.createOrganizationWorkspace.bind(org);
15908
+ target.getOrganizationWorkspace = org.getOrganizationWorkspace.bind(org);
15909
+ target.updateOrganizationWorkspace = org.updateOrganizationWorkspace.bind(org);
14995
15910
  target.getOrgBillingCustomer = org.getOrgBillingCustomer.bind(org);
14996
15911
  target.getA2PCampaignConfig = org.getA2PCampaignConfig.bind(org);
14997
15912
  target.updateA2PCampaignConfig = org.updateA2PCampaignConfig.bind(org);
14998
15913
  target.getOrgWorkspaceUsage = org.getOrgWorkspaceUsage.bind(org);
15914
+ target.updateOrganizationMember = org.updateOrganizationMember.bind(org);
15915
+ target.listOrgWebhookEndpoints = org.listOrgWebhookEndpoints.bind(org);
15916
+ target.getOrgWebhookEndpoint = org.getOrgWebhookEndpoint.bind(org);
14999
15917
  }
15000
15918
 
15001
15919
  // src/client/bindings/pronunciations.ts
@@ -15015,12 +15933,59 @@ function bindPronunciationsMethods(target, pronunciations) {
15015
15933
  target.previewPronunciation = pronunciations.previewPronunciation.bind(pronunciations);
15016
15934
  }
15017
15935
 
15936
+ // src/client/bindings/resource-workflows.ts
15937
+ function bindResourceWorkflowsMethods(target, resourceWorkflows) {
15938
+ target.getResourceWorkflow = resourceWorkflows.getResourceWorkflow.bind(resourceWorkflows);
15939
+ target.getResourceWorkflowRevision = resourceWorkflows.getResourceWorkflowRevision.bind(resourceWorkflows);
15940
+ }
15941
+
15942
+ // src/client/bindings/bundles.ts
15943
+ function bindBundlesMethods(target, bundles, resourceWorkflows) {
15944
+ bindResourceWorkflowsMethods(target, resourceWorkflows);
15945
+ target.listPublicBundles = bundles.listPublicBundles.bind(bundles);
15946
+ target.getPublicBundle = bundles.getPublicBundle.bind(bundles);
15947
+ target.updateBundle = bundles.updateBundle.bind(bundles);
15948
+ target.listBundleInstallations = bundles.listBundleInstallations.bind(bundles);
15949
+ target.listBundles = bundles.listBundles.bind(bundles);
15950
+ target.listBundleWorkflowCandidates = bundles.listBundleWorkflowCandidates.bind(bundles);
15951
+ target.createBundle = bundles.createBundle.bind(bundles);
15952
+ target.getBundleDraft = bundles.getBundleDraft.bind(bundles);
15953
+ target.replaceBundleDraft = bundles.replaceBundleDraft.bind(bundles);
15954
+ target.publishBundle = bundles.publishBundle.bind(bundles);
15955
+ target.listBundleVersions = bundles.listBundleVersions.bind(bundles);
15956
+ target.getBundle = bundles.getBundle.bind(bundles);
15957
+ target.getBundleVersion = bundles.getBundleVersion.bind(bundles);
15958
+ target.listBundleGrants = bundles.listBundleGrants.bind(bundles);
15959
+ target.grantBundle = bundles.grantBundle.bind(bundles);
15960
+ target.revokeBundleGrant = bundles.revokeBundleGrant.bind(bundles);
15961
+ target.listResourceWorkflows = resourceWorkflows.listResourceWorkflows.bind(resourceWorkflows);
15962
+ }
15963
+
15964
+ // src/client/bindings/installations.ts
15965
+ function bindInstallationsMethods(target, installations) {
15966
+ target.preflightBundleInstallation = installations.preflightBundleInstallation.bind(installations);
15967
+ target.installBundle = installations.installBundle.bind(installations);
15968
+ target.listInstallations = installations.listInstallations.bind(installations);
15969
+ target.getInstallation = installations.getInstallation.bind(installations);
15970
+ target.getInstallationReadiness = installations.getInstallationReadiness.bind(installations);
15971
+ target.previewInstallationUpgrade = installations.previewInstallationUpgrade.bind(installations);
15972
+ target.upgradeInstallation = installations.upgradeInstallation.bind(installations);
15973
+ target.setInstallationPolicy = installations.setInstallationPolicy.bind(installations);
15974
+ target.unsubscribeInstallation = installations.unsubscribeInstallation.bind(installations);
15975
+ target.restoreInstallationForm = installations.restoreInstallationForm.bind(installations);
15976
+ target.restoreInstallationWorkflowResources = installations.restoreInstallationWorkflowResources.bind(installations);
15977
+ target.bindInstallationSlots = installations.bindInstallationSlots.bind(installations);
15978
+ target.reconcileInstallation = installations.reconcileInstallation.bind(installations);
15979
+ target.getThemeSettingsSchema = installations.getThemeSettingsSchema.bind(installations);
15980
+ }
15981
+
15018
15982
  // src/client/bindings/journeys.ts
15019
15983
  function bindJourneysMethods(target, journeys) {
15020
15984
  target.getJourneys = journeys.getJourneys.bind(journeys);
15021
15985
  target.getJourney = journeys.getJourney.bind(journeys);
15022
15986
  target.getJourneyAuthoring = journeys.getJourneyAuthoring.bind(journeys);
15023
15987
  target.putJourneyDraft = journeys.putJourneyDraft.bind(journeys);
15988
+ target.deleteJourneyDraft = journeys.deleteJourneyDraft.bind(journeys);
15024
15989
  target.putJourneyV2Definition = journeys.putJourneyV2Definition.bind(journeys);
15025
15990
  target.getJourneyV2Validation = journeys.getJourneyV2Validation.bind(journeys);
15026
15991
  target.getJourneyFilterOptions = journeys.getJourneyFilterOptions.bind(journeys);
@@ -15068,6 +16033,7 @@ function bindQualificationsMethods(target, qualifications) {
15068
16033
  target.updateScenario = qualifications.updateScenario.bind(qualifications);
15069
16034
  target.deleteScenario = qualifications.deleteScenario.bind(qualifications);
15070
16035
  target.listTestChatRuns = qualifications.listTestChatRuns.bind(qualifications);
16036
+ target.listScenarioHealthSummaries = qualifications.listScenarioHealthSummaries.bind(qualifications);
15071
16037
  target.getTestChatRun = qualifications.getTestChatRun.bind(qualifications);
15072
16038
  target.startTestChatRun = qualifications.startTestChatRun.bind(qualifications);
15073
16039
  target.evaluateTestChatRun = qualifications.evaluateTestChatRun.bind(qualifications);
@@ -15156,6 +16122,17 @@ function bindSupportRequestMethods(target, supportRequests) {
15156
16122
  target.clickWorkspaceSupportRequestResource = supportRequests.clickWorkspaceSupportRequestResource.bind(supportRequests);
15157
16123
  }
15158
16124
 
16125
+ // src/client/bindings/routing-rules.ts
16126
+ function bindRoutingRulesMethods(target, routingRules) {
16127
+ target.getRoutingRules = routingRules.getRoutingRules.bind(routingRules);
16128
+ target.getRoutingRule = routingRules.getRoutingRule.bind(routingRules);
16129
+ target.createRoutingRule = routingRules.createRoutingRule.bind(routingRules);
16130
+ target.updateRoutingRule = routingRules.updateRoutingRule.bind(routingRules);
16131
+ target.deleteRoutingRule = routingRules.deleteRoutingRule.bind(routingRules);
16132
+ target.reorderRoutingRules = routingRules.reorderRoutingRules.bind(routingRules);
16133
+ target.previewRoutingRule = routingRules.previewRoutingRule.bind(routingRules);
16134
+ }
16135
+
15159
16136
  // src/client/client.ts
15160
16137
  var GravityRailClient = class {
15161
16138
  // WorkspaceInvitations is exposed publicly for backward compatibility
@@ -15181,6 +16158,9 @@ var GravityRailClient = class {
15181
16158
  // Chats API
15182
16159
  getChats;
15183
16160
  getChat;
16161
+ getChatByUuid;
16162
+ saveChatBrowserStorage;
16163
+ clearChatBrowserStorage;
15184
16164
  getChatBrowserLiveView;
15185
16165
  getChatMachineResources;
15186
16166
  getCurrentSmsChat;
@@ -15258,7 +16238,10 @@ var GravityRailClient = class {
15258
16238
  unarchiveDataType;
15259
16239
  cloneDataType;
15260
16240
  getDataRecords;
16241
+ listAnonymousFormSubmissions;
16242
+ getAnonymousFormSubmission;
15261
16243
  getDataRecord;
16244
+ getDataRecordByUuid;
15262
16245
  createDataRecord;
15263
16246
  updateDataRecord;
15264
16247
  deleteDataRecord;
@@ -15284,12 +16267,10 @@ var GravityRailClient = class {
15284
16267
  previewMemberWorkflowVoice;
15285
16268
  setMemberWorkflowVoice;
15286
16269
  clearMemberWorkflowVoice;
15287
- getOwnedMembers;
15288
- switchMember;
15289
- clearMemberSwitch;
15290
16270
  updateCurrentMember;
15291
16271
  getWorkspaceMembers;
15292
16272
  getWorkspaceMember;
16273
+ getMemberByUuid;
15293
16274
  // Org-scoped, so deliberately absent from WORKSPACE_METHOD_NAMES: that proxy
15294
16275
  // passes a workspace uuid as the first argument.
15295
16276
  getOrgWorkspaceMember;
@@ -15298,6 +16279,9 @@ var GravityRailClient = class {
15298
16279
  deleteMember;
15299
16280
  archiveMember;
15300
16281
  unarchiveMember;
16282
+ updateMemberByExternalId;
16283
+ archiveMemberByExternalId;
16284
+ unarchiveMemberByExternalId;
15301
16285
  sendMemberPhoneConfirmation;
15302
16286
  bulkCreateMembers;
15303
16287
  previewImportMembers;
@@ -15375,6 +16359,7 @@ var GravityRailClient = class {
15375
16359
  updateScenario;
15376
16360
  deleteScenario;
15377
16361
  listTestChatRuns;
16362
+ listScenarioHealthSummaries;
15378
16363
  getTestChatRun;
15379
16364
  startTestChatRun;
15380
16365
  evaluateTestChatRun;
@@ -15452,6 +16437,7 @@ var GravityRailClient = class {
15452
16437
  getJourney;
15453
16438
  getJourneyAuthoring;
15454
16439
  putJourneyDraft;
16440
+ deleteJourneyDraft;
15455
16441
  putJourneyV2Definition;
15456
16442
  getJourneyV2Validation;
15457
16443
  getJourneyFilterOptions;
@@ -15486,6 +16472,42 @@ var GravityRailClient = class {
15486
16472
  createJourneyNote;
15487
16473
  updateJourneyNote;
15488
16474
  deleteJourneyNote;
16475
+ updateBundle;
16476
+ listBundleInstallations;
16477
+ // Bundles API
16478
+ listPublicBundles;
16479
+ getPublicBundle;
16480
+ listBundles;
16481
+ listBundleWorkflowCandidates;
16482
+ createBundle;
16483
+ getBundleDraft;
16484
+ replaceBundleDraft;
16485
+ publishBundle;
16486
+ listBundleVersions;
16487
+ getBundle;
16488
+ getBundleVersion;
16489
+ listBundleGrants;
16490
+ grantBundle;
16491
+ revokeBundleGrant;
16492
+ listResourceWorkflows;
16493
+ // Resource Workflows API — published Workflow catalog reads
16494
+ getResourceWorkflow;
16495
+ getResourceWorkflowRevision;
16496
+ // Installations API
16497
+ preflightBundleInstallation;
16498
+ installBundle;
16499
+ listInstallations;
16500
+ getInstallation;
16501
+ getInstallationReadiness;
16502
+ previewInstallationUpgrade;
16503
+ upgradeInstallation;
16504
+ setInstallationPolicy;
16505
+ unsubscribeInstallation;
16506
+ bindInstallationSlots;
16507
+ restoreInstallationForm;
16508
+ restoreInstallationWorkflowResources;
16509
+ reconcileInstallation;
16510
+ getThemeSettingsSchema;
15489
16511
  // Experiments API
15490
16512
  getExperiments;
15491
16513
  getExperiment;
@@ -15578,7 +16600,6 @@ var GravityRailClient = class {
15578
16600
  rebuildImportSkippedRules;
15579
16601
  previewImportWorkspace;
15580
16602
  getWorkspaceThemes;
15581
- updateWorkspaceThemes;
15582
16603
  getWorkspaceBySlug;
15583
16604
  getWorkspaceScopes;
15584
16605
  getUsageDashboard;
@@ -15617,10 +16638,15 @@ var GravityRailClient = class {
15617
16638
  getVoiceTrustProducts;
15618
16639
  syncVoiceTrustProducts;
15619
16640
  createOrganizationWorkspace;
16641
+ getOrganizationWorkspace;
16642
+ updateOrganizationWorkspace;
15620
16643
  getOrgBillingCustomer;
15621
16644
  getA2PCampaignConfig;
15622
16645
  updateA2PCampaignConfig;
15623
16646
  getOrgWorkspaceUsage;
16647
+ updateOrganizationMember;
16648
+ listOrgWebhookEndpoints;
16649
+ getOrgWebhookEndpoint;
15624
16650
  getVapidPublicKey;
15625
16651
  registerPushSubscription;
15626
16652
  unregisterPushSubscription;
@@ -15657,6 +16683,7 @@ var GravityRailClient = class {
15657
16683
  logout;
15658
16684
  requestCrossDomainToken;
15659
16685
  exchangeToken;
16686
+ createRealtimeLoginToken;
15660
16687
  getDomainMapping;
15661
16688
  createSignup;
15662
16689
  createAccount;
@@ -15746,6 +16773,7 @@ var GravityRailClient = class {
15746
16773
  updateProject;
15747
16774
  updatePlan;
15748
16775
  resolveFilePath;
16776
+ downloadFileContents;
15749
16777
  downloadFilesZip;
15750
16778
  createFile;
15751
16779
  uploadFile;
@@ -15806,7 +16834,6 @@ var GravityRailClient = class {
15806
16834
  resetRoutineRuns;
15807
16835
  previewSchedule;
15808
16836
  previewRoutineVoiceReadiness;
15809
- previewRoutineWorkflowAccess;
15810
16837
  // Workflows API
15811
16838
  getWorkflows;
15812
16839
  getWorkflow;
@@ -15815,7 +16842,7 @@ var GravityRailClient = class {
15815
16842
  getWorkflowActivity;
15816
16843
  getWorkflowsActivityBatch;
15817
16844
  getWorkflowDiagram;
15818
- getWorkflowThumbnailUrl;
16845
+ getWorkflowOutline;
15819
16846
  createWorkflow;
15820
16847
  updateWorkflow;
15821
16848
  getWorkflowDeletionPreview;
@@ -15827,7 +16854,6 @@ var GravityRailClient = class {
15827
16854
  createWorkflowFromTemplate;
15828
16855
  getWorkflowTaskAssignmentStats;
15829
16856
  getTaskChats;
15830
- getWorkflowAccessValidation;
15831
16857
  getWorkflowConfigValidation;
15832
16858
  getWorkflowNotes;
15833
16859
  createWorkflowNote;
@@ -15939,6 +16965,7 @@ var GravityRailClient = class {
15939
16965
  previewTemplate;
15940
16966
  getVariableRegistry;
15941
16967
  getChatModels;
16968
+ getManagerModels;
15942
16969
  getRealtimeModels;
15943
16970
  getSTTModels;
15944
16971
  getTTSModels;
@@ -16051,6 +17078,7 @@ var GravityRailClient = class {
16051
17078
  getMondayConnectionBoardColumns;
16052
17079
  getMondayConnectionBoardGroups;
16053
17080
  getMondaySyncConfig;
17081
+ getMondaySyncLogs;
16054
17082
  updateMondaySyncConfig;
16055
17083
  getLinkedMondayMembers;
16056
17084
  getMondayReconciliationMatches;
@@ -16172,10 +17200,12 @@ var GravityRailClient = class {
16172
17200
  deleteSalesforce;
16173
17201
  getSalesforceReconciliationMatches;
16174
17202
  linkMemberToSalesforce;
17203
+ linkUnlinkedSalesforceMembersByIdentity;
16175
17204
  bulkLinkMembersToSalesforce;
16176
17205
  unlinkMemberFromSalesforce;
16177
17206
  getLinkedSalesforceMembers;
16178
17207
  getSalesforceSyncConfig;
17208
+ getSalesforceSyncLogs;
16179
17209
  updateSalesforceSyncConfig;
16180
17210
  resyncSalesforceLinkedMembers;
16181
17211
  listSalesforceObjects;
@@ -16272,6 +17302,14 @@ var GravityRailClient = class {
16272
17302
  closeWorkspaceSupportRequest;
16273
17303
  reopenWorkspaceSupportRequest;
16274
17304
  clickWorkspaceSupportRequestResource;
17305
+ // Routing Rules API
17306
+ getRoutingRules;
17307
+ getRoutingRule;
17308
+ createRoutingRule;
17309
+ updateRoutingRule;
17310
+ deleteRoutingRule;
17311
+ reorderRoutingRules;
17312
+ previewRoutingRule;
16275
17313
  constructor(apiKey, baseUrl, customFetch) {
16276
17314
  const apis = createApiModules(apiKey, baseUrl, customFetch);
16277
17315
  this.apis = apis;
@@ -16293,6 +17331,8 @@ var GravityRailClient = class {
16293
17331
  bindMotdMethods(this, apis.motd);
16294
17332
  bindTrackedLinksMethods(this, apis.trackedLinks);
16295
17333
  bindJourneysMethods(this, apis.journeys);
17334
+ bindBundlesMethods(this, apis.bundles, apis.resourceWorkflows);
17335
+ bindInstallationsMethods(this, apis.installations);
16296
17336
  bindExperimentsMethods(this, apis.experiments);
16297
17337
  bindOperatorMethods(this, apis.operatorGroups);
16298
17338
  bindOrgMethods(this, apis.org);
@@ -16346,6 +17386,7 @@ var GravityRailClient = class {
16346
17386
  bindCustomersMethods(this, apis.customers);
16347
17387
  bindResellersMethods(this, apis.resellers);
16348
17388
  bindSupportRequestMethods(this, apis.supportRequests);
17389
+ bindRoutingRulesMethods(this, apis.routingRules);
16349
17390
  }
16350
17391
  /**
16351
17392
  * Return a workspace-scoped client facade.
@@ -16423,32 +17464,6 @@ var GravityRailClient = class {
16423
17464
  }
16424
17465
  });
16425
17466
  }
16426
- /**
16427
- * Set the acting member UUID for member identity switching.
16428
- * When set, all API requests will include the X-Acting-Member header.
16429
- * The backend will validate that the authenticated account owns this member
16430
- * and use it as the effective identity for the request.
16431
- * Propagates to all API modules.
16432
- */
16433
- setActingMember(memberUuid) {
16434
- Object.values(this.apis).forEach((api) => {
16435
- if (typeof api.setActingMember === "function") {
16436
- api.setActingMember(memberUuid);
16437
- }
16438
- });
16439
- }
16440
- /**
16441
- * Get the current acting member UUID.
16442
- * Returns undefined if no member switch is active.
16443
- */
16444
- getActingMember() {
16445
- for (const api of Object.values(this.apis)) {
16446
- if (typeof api.getActingMember === "function") {
16447
- return api.getActingMember();
16448
- }
16449
- }
16450
- return void 0;
16451
- }
16452
17467
  };
16453
17468
 
16454
17469
  // src/helpers/chat-interaction.ts
@@ -16550,7 +17565,11 @@ var ChatInteractionController = class {
16550
17565
  ConfluenceApi,
16551
17566
  ConnectionSyncApi,
16552
17567
  ConsentMethod,
17568
+ CreateMemberContactPointRequestContactType,
17569
+ CreateMemberContactPointRequestPurpose,
17570
+ CreateMemberContactPointRequestSharing,
16553
17571
  CriterionType,
17572
+ CrmActivityKind,
16554
17573
  CustomToolkitsApi,
16555
17574
  CustomerActivityClassifierDetectorName,
16556
17575
  CustomerActivityClassifierLabel,
@@ -16586,6 +17605,7 @@ var ChatInteractionController = class {
16586
17605
  FeatureCategory,
16587
17606
  FeatureVisibility,
16588
17607
  FeaturesApi,
17608
+ FeedCursorRejection,
16589
17609
  FhirClientType,
16590
17610
  FhirConnectionState,
16591
17611
  FhirConnectionsApi,
@@ -16684,6 +17704,12 @@ var ChatInteractionController = class {
16684
17704
  ReportsApi,
16685
17705
  ResellersApi,
16686
17706
  Resource,
17707
+ RevisionHistorySegment,
17708
+ RoutingActionType,
17709
+ RoutingAudience,
17710
+ RoutingChannel,
17711
+ RoutingTimeWindow,
17712
+ RunHealthCategory,
16687
17713
  SCOPES,
16688
17714
  SCOPE_PRESETS,
16689
17715
  SMS_DELIVERY_FAILURE_STATUSES,
@@ -16692,9 +17718,17 @@ var ChatInteractionController = class {
16692
17718
  STT_MODEL_DEEPGRAM_FLUX_MULTI_SELFHOST,
16693
17719
  STT_MODEL_DEEPGRAM_FLUX_SELFHOST,
16694
17720
  SalesforceApi,
17721
+ ScenarioHealthCaption,
17722
+ ScenarioHealthHeadline,
17723
+ ScenarioHealthSampleNote,
17724
+ ScenarioHealthState,
17725
+ ScenarioRunBlocker,
16695
17726
  Scope,
16696
17727
  ScopeCategory,
16697
17728
  ScopeManager,
17729
+ SendingNextStep,
17730
+ SendingStopState,
17731
+ SessionKind,
16698
17732
  SiteDnsRecordType,
16699
17733
  SitesApi,
16700
17734
  SlackAppsApi,
@@ -16717,12 +17751,12 @@ var ChatInteractionController = class {
16717
17751
  UiPromptPresentedKindValues,
16718
17752
  UiPromptResponseKindValues,
16719
17753
  UiPromptResponseStatusValues,
17754
+ UpdateMemberContactPointRequestContactType,
17755
+ UpdateMemberContactPointRequestPurpose,
17756
+ UpdateMemberContactPointRequestSharing,
16720
17757
  VoiceApi,
16721
17758
  WIDGET_SLUGS,
16722
- WORKFLOW_IMPLICIT_USE_SCOPE,
16723
- WorkflowAccessWarningResourceType,
16724
17759
  WorkflowNotesApi,
16725
- WorkflowResourceType,
16726
17760
  WorkflowRoutingMode,
16727
17761
  WorkflowsApi,
16728
17762
  WorkspaceFeature,
@@ -16739,6 +17773,7 @@ var ChatInteractionController = class {
16739
17773
  bindAppsMethods,
16740
17774
  bindAuthMethods,
16741
17775
  bindBillingMethods,
17776
+ bindBundlesMethods,
16742
17777
  bindCalendarsMethods,
16743
17778
  bindCallsMethods,
16744
17779
  bindChatsMethods,
@@ -16750,6 +17785,7 @@ var ChatInteractionController = class {
16750
17785
  bindEventsMethods,
16751
17786
  bindExperimentsMethods,
16752
17787
  bindFilesMethods,
17788
+ bindInstallationsMethods,
16753
17789
  bindIntegrationsMethods,
16754
17790
  bindInterventionRequestsMethods,
16755
17791
  bindJourneysMethods,
@@ -16765,6 +17801,7 @@ var ChatInteractionController = class {
16765
17801
  bindQualificationsMethods,
16766
17802
  bindQueriesMethods,
16767
17803
  bindResellersMethods,
17804
+ bindRoutingRulesMethods,
16768
17805
  bindSitesMethods,
16769
17806
  bindSupportRequestMethods,
16770
17807
  bindTasksMethods,
@@ -16806,9 +17843,6 @@ var ChatInteractionController = class {
16806
17843
  parseExperimentStatCount,
16807
17844
  parseOrgAuthChallenge,
16808
17845
  requiresAssistantParticipant,
16809
- roleCanUseWorkflow,
16810
- roleImplicitWorkflowUseScope,
16811
- roleWorkflowAccess,
16812
17846
  usesBuiltinAssistant,
16813
17847
  validateFeatureDependencies
16814
17848
  });