@gravity-rail/sdk 0.40.0 → 0.43.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 (33) hide show
  1. package/README.md +2 -2
  2. package/dist/{chat-interaction-BB3ap8_u.d.ts → chat-interaction-DKt3ggnZ.d.cts} +1156 -51
  3. package/dist/{chat-interaction-Bj1pciwo.d.cts → chat-interaction-DMd-Wtcg.d.ts} +1156 -51
  4. package/dist/{chunk-ZTUOB4V2.js → chunk-G32MQGJD.js} +396 -48
  5. package/dist/chunk-G32MQGJD.js.map +1 -0
  6. package/dist/helpers.d.cts +4 -4
  7. package/dist/helpers.d.ts +4 -4
  8. package/dist/index.cjs +406 -35
  9. package/dist/index.cjs.map +1 -1
  10. package/dist/index.d.cts +6 -6
  11. package/dist/index.d.ts +6 -6
  12. package/dist/index.js +36 -5
  13. package/dist/index.js.map +1 -1
  14. package/dist/internal.cjs +390 -42
  15. package/dist/internal.cjs.map +1 -1
  16. package/dist/internal.d.cts +7 -21
  17. package/dist/internal.d.ts +7 -21
  18. package/dist/internal.js +19 -8
  19. package/dist/internal.js.map +1 -1
  20. package/dist/{member-import-D8fZr2Pd.d.cts → member-import-D6KvS3Zg.d.cts} +1 -1
  21. package/dist/{member-import-YNk9MlEl.d.ts → member-import-mE0BhGIw.d.ts} +1 -1
  22. package/dist/{revision-state-CL11FA-T.d.cts → revision-state-BrRxp9qZ.d.ts} +30 -3
  23. package/dist/{revision-state-BaJTq3Or.d.ts → revision-state-Ci5a5NLH.d.cts} +30 -3
  24. package/dist/schemas.cjs +12 -3
  25. package/dist/schemas.cjs.map +1 -1
  26. package/dist/schemas.d.cts +10 -2
  27. package/dist/schemas.d.ts +10 -2
  28. package/dist/schemas.js +12 -3
  29. package/dist/schemas.js.map +1 -1
  30. package/dist/{tasks-ByJCQ5BI.d.cts → tasks-DAPby6cw.d.cts} +325 -2
  31. package/dist/{tasks-ByJCQ5BI.d.ts → tasks-DAPby6cw.d.ts} +325 -2
  32. package/package.json +1 -1
  33. package/dist/chunk-ZTUOB4V2.js.map +0 -1
package/dist/internal.cjs CHANGED
@@ -63,8 +63,11 @@ __export(internal_exports, {
63
63
  CalendarScheduleRecurrence: () => CalendarScheduleRecurrence,
64
64
  CalendarSource: () => CalendarSource,
65
65
  CalendarsApi: () => CalendarsApi,
66
+ CallNotAnsweredBranch: () => CallNotAnsweredBranch,
66
67
  CallsApi: () => CallsApi,
67
68
  CapabilityClass: () => CapabilityClass,
69
+ CapturedEffectDirection: () => CapturedEffectDirection,
70
+ CapturedEffectKind: () => CapturedEffectKind,
68
71
  ChannelMessageDirection: () => ChannelMessageDirection,
69
72
  ChannelMessageSource: () => ChannelMessageSource,
70
73
  ChannelMessagesUnavailableReason: () => ChannelMessagesUnavailableReason,
@@ -130,6 +133,7 @@ __export(internal_exports, {
130
133
  ImportSkippedRuleResponseParentKind: () => ImportSkippedRuleResponseParentKind,
131
134
  ImportSkippedRuleResponseReasonCode: () => ImportSkippedRuleResponseReasonCode,
132
135
  ImportSkippedRuleResponseStatus: () => ImportSkippedRuleResponseStatus,
136
+ InboundRefusal: () => InboundRefusal,
133
137
  InboxesApi: () => InboxesApi,
134
138
  IndexStatus: () => IndexStatus,
135
139
  InquiriesApi: () => InquiriesApi,
@@ -143,6 +147,7 @@ __export(internal_exports, {
143
147
  McpServerState: () => McpServerState,
144
148
  McpServersApi: () => McpServersApi,
145
149
  MemberFeature: () => MemberFeature,
150
+ MemberImportIssueCode: () => MemberImportIssueCode,
146
151
  MemberImportMatchInfoMatchType: () => MemberImportMatchInfoMatchType,
147
152
  MemberImportPreviewRowAction: () => MemberImportPreviewRowAction,
148
153
  MemberRelationshipKind: () => MemberRelationshipKind,
@@ -191,6 +196,7 @@ __export(internal_exports, {
191
196
  PhiPostureReasonCode: () => PhiPostureReasonCode,
192
197
  PhiPostureTransitionResponseTargetType: () => PhiPostureTransitionResponseTargetType,
193
198
  PhoneNumbersApi: () => PhoneNumbersApi,
199
+ PhoneRunRefusal: () => PhoneRunRefusal,
194
200
  PilotRelationshipType: () => PilotRelationshipType,
195
201
  PilotStage: () => PilotStage,
196
202
  ProductType: () => ProductType,
@@ -242,7 +248,6 @@ __export(internal_exports, {
242
248
  SitesApi: () => SitesApi,
243
249
  SlackAppsApi: () => SlackAppsApi,
244
250
  SnippetsApi: () => SnippetsApi,
245
- SolutionReleaseResponseSlug: () => SolutionReleaseResponseSlug,
246
251
  SubscriptionsApi: () => SubscriptionsApi,
247
252
  SupervisorsApi: () => SupervisorsApi,
248
253
  SupportRequestsApi: () => SupportRequestsApi,
@@ -252,6 +257,7 @@ __export(internal_exports, {
252
257
  TTS_MODEL_DEEPGRAM_AURA_2: () => TTS_MODEL_DEEPGRAM_AURA_2,
253
258
  TTS_MODEL_XAI_V1: () => TTS_MODEL_XAI_V1,
254
259
  TTS_PREVIEW_PROVIDERS: () => TTS_PREVIEW_PROVIDERS,
260
+ TaskTransitionInitiator: () => TaskTransitionInitiator,
255
261
  TasksApi: () => TasksApi,
256
262
  TemplatesApi: () => TemplatesApi,
257
263
  TestChatRunLane: () => TestChatRunLane,
@@ -291,6 +297,7 @@ __export(internal_exports, {
291
297
  bindCustomersMethods: () => bindCustomersMethods,
292
298
  bindDashboardsMethods: () => bindDashboardsMethods,
293
299
  bindDataTypesMethods: () => bindDataTypesMethods,
300
+ bindDemosMethods: () => bindDemosMethods,
294
301
  bindDevicesMethods: () => bindDevicesMethods,
295
302
  bindEventsMethods: () => bindEventsMethods,
296
303
  bindExperimentsMethods: () => bindExperimentsMethods,
@@ -490,6 +497,34 @@ var BulkMemberResultStatus = {
490
497
  conflict: "conflict",
491
498
  skipped: "skipped"
492
499
  };
500
+ var MemberImportIssueCode = {
501
+ csv_unreadable: "csv_unreadable",
502
+ too_many_rows: "too_many_rows",
503
+ duplicate_column: "duplicate_column",
504
+ form_column_format: "form_column_format",
505
+ form_data_type_unknown: "form_data_type_unknown",
506
+ form_field_unknown: "form_field_unknown",
507
+ member_field_column_format: "member_field_column_format",
508
+ salesforce_not_connected: "salesforce_not_connected",
509
+ member_keys_unknown: "member_keys_unknown",
510
+ member_keys_uncorroborated: "member_keys_uncorroborated",
511
+ notify_value_invalid: "notify_value_invalid",
512
+ consent_date_invalid: "consent_date_invalid",
513
+ date_of_birth_invalid: "date_of_birth_invalid",
514
+ conflict_resolution_invalid: "conflict_resolution_invalid",
515
+ salesforce_id_invalid: "salesforce_id_invalid",
516
+ member_id_invalid: "member_id_invalid",
517
+ member_uuid_invalid: "member_uuid_invalid",
518
+ member_id_not_found: "member_id_not_found",
519
+ member_uuid_not_found: "member_uuid_not_found",
520
+ member_key_conflict: "member_key_conflict",
521
+ phone_invalid: "phone_invalid",
522
+ email_ambiguous: "email_ambiguous",
523
+ member_archived: "member_archived",
524
+ role_requires_account: "role_requires_account",
525
+ contact_required: "contact_required",
526
+ row_invalid: "row_invalid"
527
+ };
493
528
  var MemberImportMatchInfoMatchType = {
494
529
  id: "id",
495
530
  uuid: "uuid",
@@ -1032,6 +1067,7 @@ var TestChatRunLane = {
1032
1067
  text: "text",
1033
1068
  web_realtime: "web_realtime",
1034
1069
  core_agent_only: "core_agent_only",
1070
+ phone_call: "phone_call",
1035
1071
  unsupported: "unsupported",
1036
1072
  unknown: "unknown"
1037
1073
  };
@@ -1045,6 +1081,52 @@ var TestChatRunOutcome = {
1045
1081
  instrument_failure: "instrument_failure"
1046
1082
  };
1047
1083
 
1084
+ // src/types/generated/captured_effect.ts
1085
+ var CapturedEffectDirection = {
1086
+ outbound: "outbound",
1087
+ inbound: "inbound"
1088
+ };
1089
+ var CapturedEffectKind = {
1090
+ sms: "sms",
1091
+ whatsapp: "whatsapp",
1092
+ email: "email",
1093
+ phone_call: "phone_call",
1094
+ notification: "notification",
1095
+ escalation: "escalation"
1096
+ };
1097
+
1098
+ // src/types/generated/test_call_routing.ts
1099
+ var CallNotAnsweredBranch = {
1100
+ voice_disabled: "voice_disabled",
1101
+ fax_line: "fax_line",
1102
+ rings_operators: "rings_operators",
1103
+ forwards: "forwards",
1104
+ voicemail: "voicemail",
1105
+ plays_message: "plays_message",
1106
+ no_route: "no_route",
1107
+ voice_unavailable: "voice_unavailable",
1108
+ entry_denied: "entry_denied"
1109
+ };
1110
+
1111
+ // src/types/generated/test_chat_run_inbound.ts
1112
+ var InboundRefusal = {
1113
+ run_not_found: "run_not_found",
1114
+ run_ended: "run_ended",
1115
+ sender_not_synthetic: "sender_not_synthetic",
1116
+ sender_is_anonymous: "sender_is_anonymous",
1117
+ sender_has_no_phone: "sender_has_no_phone",
1118
+ sender_has_no_email: "sender_has_no_email",
1119
+ destination_not_in_workspace: "destination_not_in_workspace",
1120
+ reply_target_not_test: "reply_target_not_test"
1121
+ };
1122
+ var PhoneRunRefusal = {
1123
+ call_not_answered: "call_not_answered",
1124
+ number_routes_to_other_workflow: "number_routes_to_other_workflow",
1125
+ phone_run_needs_a_person: "phone_run_needs_a_person",
1126
+ phone_run_needs_a_number: "phone_run_needs_a_number",
1127
+ number_needs_the_phone_channel: "number_needs_the_phone_channel"
1128
+ };
1129
+
1048
1130
  // src/types/generated/qualification_health_service.ts
1049
1131
  var ScenarioHealthCaption = {
1050
1132
  recent_passes: "recent_passes",
@@ -1079,7 +1161,6 @@ var RevisionHistorySegment = {
1079
1161
 
1080
1162
  // src/types/generated/qualification_run_identity.ts
1081
1163
  var ScenarioRunBlocker = {
1082
- missing_persona: "missing_persona",
1083
1164
  archived_persona: "archived_persona"
1084
1165
  };
1085
1166
 
@@ -1580,13 +1661,10 @@ var CustomerActivityClassifierLabel = {
1580
1661
  transcription_quality: "transcription_quality",
1581
1662
  repetitive_loop: "repetitive_loop",
1582
1663
  manager_no_response: "manager_no_response",
1664
+ manager_incomplete_task: "manager_incomplete_task",
1583
1665
  docs_or_skill_gap: "docs_or_skill_gap",
1584
1666
  discovery_thrash: "discovery_thrash",
1585
- manager_incomplete_task: "manager_incomplete_task",
1586
- manager_language_mismatch: "manager_language_mismatch",
1587
- sandbox_failure: "sandbox_failure",
1588
- cli_contract_error: "cli_contract_error",
1589
- unverified_completion: "unverified_completion"
1667
+ manager_language_mismatch: "manager_language_mismatch"
1590
1668
  };
1591
1669
  var CustomerActivityEventSource = {
1592
1670
  system: "system",
@@ -1896,6 +1974,15 @@ var ChatMuteReason = {
1896
1974
  not_mine: "not_mine"
1897
1975
  };
1898
1976
 
1977
+ // src/types/generated/assignment_task_transition.ts
1978
+ var TaskTransitionInitiator = {
1979
+ member: "member",
1980
+ agent: "agent",
1981
+ event_rule: "event_rule",
1982
+ auto_next: "auto_next",
1983
+ system: "system"
1984
+ };
1985
+
1899
1986
  // src/types/generated/ehr_writeback.ts
1900
1987
  var EhrWritebackOutcomeResponseStatus = {
1901
1988
  accepted: "accepted",
@@ -3542,11 +3629,15 @@ function pageQuery(params) {
3542
3629
  return qs ? `?${qs}` : "";
3543
3630
  }
3544
3631
  var BundlesApi = class extends BaseApiClient {
3545
- /** Official solution metadata, independent of the default workspace Library. */
3546
- async getSolutionRelease(slug) {
3547
- return this.fetch(`solutions/${encodeURIComponent(slug)}`);
3632
+ /** Bundles shared with everyone. Needs no session. */
3633
+ async listPublicBundles(params) {
3634
+ return this.fetch(`bundles/public${pageQuery(params)}`);
3548
3635
  }
3549
- /** Read an authorized Bundle by UUID, including official solutions hidden from discovery. */
3636
+ /** The outline of one Bundle shared with everyone. Needs no session; 404 otherwise. */
3637
+ async getPublicBundle(bundleUuid) {
3638
+ return this.fetch(`bundles/${encodeURIComponent(bundleUuid)}/public`);
3639
+ }
3640
+ /** Read an authorized Bundle by UUID. */
3550
3641
  async getBundle(wid, bundleUuid) {
3551
3642
  return this.fetch(bundlesPath(wid, bundleUuid));
3552
3643
  }
@@ -3582,6 +3673,27 @@ var BundlesApi = class extends BaseApiClient {
3582
3673
  async listBundleWorkflowCandidates(wid) {
3583
3674
  return this.fetch(bundlesPath(wid, "workflow-candidates"));
3584
3675
  }
3676
+ /**
3677
+ * This workspace's Journeys for the Bundle picker, by name. Nothing is built
3678
+ * for the list. `available` is false while the server refuses Journey items.
3679
+ * Requires `workflows:admin` and `journeys:write`.
3680
+ */
3681
+ async listBundleJourneyCandidates(wid) {
3682
+ return this.fetch(bundlesPath(wid, "journey-candidates"));
3683
+ }
3684
+ /**
3685
+ * One Journey as the Bundle item that adds it: the whole Journey item the
3686
+ * server built (`item`), the Forms its conditions read and the Workflows its
3687
+ * actions start, or the `problems` that name what the Journey must change
3688
+ * first. The item never carries enrollment; `enrollmentOmitted` says the
3689
+ * Journey has automatic enrollment that was left out. Requires
3690
+ * `workflows:admin` and `journeys:write`.
3691
+ */
3692
+ async getBundleJourneyCandidate(wid, journeyUuid) {
3693
+ return this.fetch(
3694
+ bundlesPath(wid, "journey-candidates", journeyUuid)
3695
+ );
3696
+ }
3585
3697
  /** Create an empty Bundle owned by this workspace. */
3586
3698
  async createBundle(wid, data) {
3587
3699
  return this.fetch(bundlesPath(wid), {
@@ -3631,9 +3743,9 @@ var BundlesApi = class extends BaseApiClient {
3631
3743
  return this.fetch(bundlesPath(wid, bundleUuid, "grants"));
3632
3744
  }
3633
3745
  /**
3634
- * Share throughout the publisher's organization with organization-admin authority.
3635
- * Workspace-specific and global author grants are refused. Official public
3636
- * solutions use the separate staff approval API.
3746
+ * Share throughout the publisher's organization with organization-admin authority,
3747
+ * or with everyone (`granteeType: "global"`) as a superuser. Workspace-specific
3748
+ * grants are refused.
3637
3749
  */
3638
3750
  async grantBundle(wid, bundleUuid, data) {
3639
3751
  return this.fetch(bundlesPath(wid, bundleUuid, "grants"), {
@@ -3649,6 +3761,116 @@ var BundlesApi = class extends BaseApiClient {
3649
3761
  }
3650
3762
  };
3651
3763
 
3764
+ // src/types/generated/demo.ts
3765
+ var DemoRefusalCode = {
3766
+ session_expired: "session_expired",
3767
+ session_capped: "session_capped",
3768
+ calls_capped: "calls_capped",
3769
+ session_ended: "session_ended",
3770
+ destination_not_allowed: "destination_not_allowed",
3771
+ sender_cannot_send: "sender_cannot_send",
3772
+ demo_not_available: "demo_not_available"
3773
+ };
3774
+
3775
+ // src/api/demos.ts
3776
+ var REFUSAL_CODES = Object.values(DemoRefusalCode);
3777
+ var DemoRequestError = class extends ApiError {
3778
+ code;
3779
+ constructor(message, statusCode, code) {
3780
+ super(message, statusCode);
3781
+ this.name = "DemoRequestError";
3782
+ this.code = code;
3783
+ }
3784
+ };
3785
+ function refusalCode(value) {
3786
+ return typeof value === "string" && REFUSAL_CODES.includes(value) ? value : void 0;
3787
+ }
3788
+ var DemosApi = class extends BaseApiClient {
3789
+ /** Whether a Bundle has a Demo, and what a visitor may contact in it. Needs no session. */
3790
+ async getDemo(bundleUuid) {
3791
+ return this.anonymous(`demos/${encodeURIComponent(bundleUuid)}`, {
3792
+ method: "GET"
3793
+ });
3794
+ }
3795
+ /** Start a Demo session. Needs no session; `recaptchaToken` is required where reCAPTCHA is enforced. */
3796
+ async startDemoSession(bundleUuid, data = {}) {
3797
+ return this.anonymous(
3798
+ `demos/${encodeURIComponent(bundleUuid)}/sessions`,
3799
+ { method: "POST", body: JSON.stringify(data) }
3800
+ );
3801
+ }
3802
+ /** Text one of the Demo's numbers as the session's Persona. */
3803
+ async sendDemoSessionSms(sessionToken, data) {
3804
+ return this.anonymous(
3805
+ "demos/sessions/sms",
3806
+ { method: "POST", body: JSON.stringify(data) },
3807
+ sessionToken
3808
+ );
3809
+ }
3810
+ /** Email one of the Demo's inboxes as the session's Persona. Returns after the Agent's turn. */
3811
+ async sendDemoSessionEmail(sessionToken, data) {
3812
+ return this.anonymous(
3813
+ "demos/sessions/email",
3814
+ { method: "POST", body: JSON.stringify(data) },
3815
+ sessionToken
3816
+ );
3817
+ }
3818
+ /**
3819
+ * Call one of the Demo's numbers as the session's Persona.
3820
+ *
3821
+ * For an `answered` call, `join` holds what a browser opens the call with:
3822
+ * the web voice socket `url`, a single-use login `token` for this call's
3823
+ * Chat, and `chatId`. Send them in `voice.login`. For a `not_answered`
3824
+ * call, `notAnsweredBranch` says what the number does and nothing connects.
3825
+ */
3826
+ async placeDemoSessionCall(sessionToken, data) {
3827
+ return this.anonymous(
3828
+ "demos/sessions/call",
3829
+ { method: "POST", body: JSON.stringify(data) },
3830
+ sessionToken
3831
+ );
3832
+ }
3833
+ /**
3834
+ * The session's own messages, oldest first, and its state. `after` returns
3835
+ * only the rows after that row id, so a poll reads what is new.
3836
+ */
3837
+ async getDemoSessionTimeline(sessionToken, params) {
3838
+ const query = params?.after !== void 0 ? `?after=${encodeURIComponent(params.after)}` : "";
3839
+ return this.anonymous(
3840
+ `demos/sessions/timeline${query}`,
3841
+ { method: "GET" },
3842
+ sessionToken
3843
+ );
3844
+ }
3845
+ /** End the session. Nothing further is captured on it. */
3846
+ async endDemoSession(sessionToken) {
3847
+ return this.anonymous(
3848
+ "demos/sessions/end",
3849
+ { method: "POST" },
3850
+ sessionToken
3851
+ );
3852
+ }
3853
+ /**
3854
+ * A request that carries the Demo session token, or no credential at all.
3855
+ * It never sends this client's API key or the browser's cookies.
3856
+ */
3857
+ async anonymous(endpoint, init, sessionToken) {
3858
+ const headers = new Headers({ "Content-Type": "application/json" });
3859
+ if (sessionToken) headers.set("Authorization", `Bearer ${sessionToken}`);
3860
+ const response = await this.fetchFunction(`${this.baseUrl}/api/v2/${endpoint}`, {
3861
+ ...init,
3862
+ headers,
3863
+ credentials: "omit"
3864
+ });
3865
+ if (!response.ok) {
3866
+ const body = await response.json().catch(() => ({}));
3867
+ const detail = typeof body.detail === "string" ? body.detail : `Request failed (${response.status})`;
3868
+ throw new DemoRequestError(detail, response.status, refusalCode(body.code));
3869
+ }
3870
+ return await response.json();
3871
+ }
3872
+ };
3873
+
3652
3874
  // src/api/installations.ts
3653
3875
  function installationsPath(wid, ...segments) {
3654
3876
  const tail = segments.map((segment) => encodeURIComponent(String(segment))).join("/");
@@ -4973,9 +5195,25 @@ var CallsApi = class extends BaseApiClient {
4973
5195
  `w/${wid}/calls${params.toString() ? `?${params.toString()}` : ""}`
4974
5196
  );
4975
5197
  }
4976
- /** Get message timing data for a chat recording. */
4977
- async getMessageTiming(wid, chatId) {
4978
- return this.fetch(`w/${wid}/recordings/chat/${chatId}/message-timing`);
5198
+ /**
5199
+ * Get message timing data for a chat recording. `source` selects whose
5200
+ * timeline the offsets are measured against; omitted means `standard`.
5201
+ */
5202
+ async getMessageTiming(wid, chatId, options = {}) {
5203
+ const params = new URLSearchParams();
5204
+ if (options.source) params.set("source", options.source);
5205
+ return this.fetch(
5206
+ `w/${wid}/recordings/chat/${chatId}/message-timing${params.toString() ? `?${params.toString()}` : ""}`
5207
+ );
5208
+ }
5209
+ /**
5210
+ * Staff-only discovery of retained edge-stream capture for a chat:
5211
+ * whether any is retained, its aggregate coverage status, the interval it
5212
+ * covers, and closed reason codes. `available: false` when nothing is
5213
+ * retained; 403 for anyone who is not Gravity Rail staff.
5214
+ */
5215
+ async getEdgeCaptureInfo(wid, chatId) {
5216
+ return this.fetch(`w/${wid}/recordings/chat/${chatId}/edge-capture`);
4979
5217
  }
4980
5218
  /**
4981
5219
  * Get PHI-safe provenance metadata for the recording served by
@@ -5345,6 +5583,19 @@ var ChatsApi = class extends BaseApiClient {
5345
5583
  `w/${wid}/chats/${id}/messages${params.toString() ? `?${params.toString()}` : ""}`
5346
5584
  );
5347
5585
  }
5586
+ /** Who moved the chat's Assignment between Tasks, for a time window.
5587
+ * Pair it with `getChatMessages`: pass the window the message page covers as
5588
+ * `after` / `before` (ISO-8601, inclusive). The newest `limit` moves in the
5589
+ * window come back, oldest first. */
5590
+ async getChatTaskTransitions(wid, id, options) {
5591
+ const params = new URLSearchParams();
5592
+ if (options?.after) params.append("after", options.after);
5593
+ if (options?.before) params.append("before", options.before);
5594
+ if (options?.limit) params.append("limit", options.limit.toString());
5595
+ return this.fetch(
5596
+ `w/${wid}/chats/${id}/task-transitions${params.toString() ? `?${params.toString()}` : ""}`
5597
+ );
5598
+ }
5348
5599
  /** List the background-work thread hanging off a message.
5349
5600
  *
5350
5601
  * When a tool trajectory outgrows its turn it detaches and runs in the
@@ -9239,7 +9490,8 @@ var OrgApi = class extends BaseApiClient {
9239
9490
  return this.fetch(`o/${orgIdOrUuid}/bundles`);
9240
9491
  }
9241
9492
  /**
9242
- * Update the settings an org admin owns: name, slug and contact details.
9493
+ * Update the settings an org admin owns: name, slug, contact details and
9494
+ * the security contact.
9243
9495
  *
9244
9496
  * Deliberately NOT the admin organization update — `enforceCreditLimit`
9245
9497
  * is superuser-only and is not a field on this endpoint's request model
@@ -10838,6 +11090,18 @@ var QualificationsApi = class extends BaseApiClient {
10838
11090
  async getTestChatRun(wid, runId) {
10839
11091
  return this.fetch(`w/${wid}/qualifications/test-chat-runs/${runId}`);
10840
11092
  }
11093
+ /**
11094
+ * What a test run would have sent: the SMS, WhatsApp, email, call,
11095
+ * notification and escalation it prepared, with content, oldest first.
11096
+ * One entry per Member reached, naming the Member and the workspace phone
11097
+ * number or inbox used. Nothing in the list was delivered. `truncated` means the list is
11098
+ * incomplete.
11099
+ */
11100
+ async listTestChatRunCapturedEffects(wid, runId) {
11101
+ return this.fetch(
11102
+ `w/${wid}/qualifications/test-chat-runs/${runId}/captured-effects`
11103
+ );
11104
+ }
10841
11105
  async startTestChatRun(wid, workflowId, data = {}) {
10842
11106
  return this.fetch(
10843
11107
  `w/${wid}/qualifications/workflows/${workflowId}/test-chat-runs`,
@@ -10847,6 +11111,50 @@ var QualificationsApi = class extends BaseApiClient {
10847
11111
  }
10848
11112
  );
10849
11113
  }
11114
+ /**
11115
+ * Text a workspace phone number as the run's Persona. The text enters the
11116
+ * inbound SMS pipeline; the Agent's reply is captured on the run and never
11117
+ * sent. `chatId` is the Chat the text landed in.
11118
+ */
11119
+ async deliverTestChatRunSms(wid, runId, data) {
11120
+ return this.fetch(
11121
+ `w/${wid}/qualifications/test-chat-runs/${runId}/inbound/sms`,
11122
+ {
11123
+ method: "POST",
11124
+ body: JSON.stringify(data)
11125
+ }
11126
+ );
11127
+ }
11128
+ /**
11129
+ * Email a workspace inbox as the run's Persona. The email enters the
11130
+ * inbound email pipeline; the call returns after the Agent's turn, and the
11131
+ * reply is captured on the run and never sent.
11132
+ */
11133
+ async deliverTestChatRunEmail(wid, runId, data) {
11134
+ return this.fetch(
11135
+ `w/${wid}/qualifications/test-chat-runs/${runId}/inbound/email`,
11136
+ {
11137
+ method: "POST",
11138
+ body: JSON.stringify(data)
11139
+ }
11140
+ );
11141
+ }
11142
+ /**
11143
+ * Call a workspace phone number as the run's Persona. When the Agent
11144
+ * answers (`answered: true`), `chatId` is the test Chat a browser joins
11145
+ * over the web voice socket (`voice.login` with that Chat id). Otherwise
11146
+ * `notAnsweredBranch` names what the number does with the call, and
11147
+ * nothing is run. No carrier is dialed.
11148
+ */
11149
+ async placeTestChatRunCall(wid, runId, data) {
11150
+ return this.fetch(
11151
+ `w/${wid}/qualifications/test-chat-runs/${runId}/inbound/call`,
11152
+ {
11153
+ method: "POST",
11154
+ body: JSON.stringify(data)
11155
+ }
11156
+ );
11157
+ }
10850
11158
  async evaluateTestChatRun(wid, runId) {
10851
11159
  await this.fetch(`w/${wid}/qualifications/test-chat-runs/${runId}/evaluate`, {
10852
11160
  method: "POST"
@@ -12844,15 +13152,11 @@ var WorkflowsApi = class extends BaseApiClient {
12844
13152
  return this.fetch(`w/${wid}/workflows/${id}/diagram${query}`);
12845
13153
  }
12846
13154
  /**
12847
- * Get workflow thumbnail URL.
12848
- * For cross-domain setups, returns a same-origin proxy URL to ensure cookies are sent.
12849
- * For same-origin setups, returns the direct API URL.
13155
+ * The outline a Workflow's diagram is drawn from: its active Tasks, its
13156
+ * start Task, the moves between Tasks and its Ability types.
12850
13157
  */
12851
- getWorkflowThumbnailUrl(wid, id) {
12852
- if (this.isCrossDomain) {
12853
- return `/api/v2/w/${wid}/workflows/${id}/thumbnail`;
12854
- }
12855
- return `${this.baseUrl}/api/v2/w/${wid}/workflows/${id}/thumbnail`;
13158
+ async getWorkflowOutline(wid, id) {
13159
+ return this.fetch(`w/${wid}/workflows/${id}/outline`);
12856
13160
  }
12857
13161
  /** Create a new workflow in a workspace. */
12858
13162
  async createWorkflow(wid, workflow) {
@@ -13870,6 +14174,7 @@ function createApiModules(apiKey, baseUrl, customFetch) {
13870
14174
  auth: new AuthApi(apiKey, baseUrl, customFetch),
13871
14175
  builders: new BuildersApi(apiKey, baseUrl, customFetch),
13872
14176
  bundles: new BundlesApi(apiKey, baseUrl, customFetch),
14177
+ demos: new DemosApi(apiKey, baseUrl, customFetch),
13873
14178
  installations: new InstallationsApi(apiKey, baseUrl, customFetch),
13874
14179
  calendars: new CalendarsApi(apiKey, baseUrl, customFetch),
13875
14180
  calls: new CallsApi(apiKey, baseUrl, customFetch),
@@ -14233,6 +14538,7 @@ var WORKSPACE_METHOD_NAMES = [
14233
14538
  "getInstallationReadiness",
14234
14539
  "getThemeSettingsSchema",
14235
14540
  "getBundleDraft",
14541
+ "getBundleJourneyCandidate",
14236
14542
  "getBundle",
14237
14543
  "getBundleVersion",
14238
14544
  "getBusinessHoursStatus",
@@ -14264,6 +14570,7 @@ var WORKSPACE_METHOD_NAMES = [
14264
14570
  "getChatLabels",
14265
14571
  "getChatMachineResources",
14266
14572
  "getChatMessages",
14573
+ "getChatTaskTransitions",
14267
14574
  "getChatModelOverride",
14268
14575
  "getChatPhoneCalls",
14269
14576
  "getChatSkills",
@@ -14321,6 +14628,7 @@ var WORKSPACE_METHOD_NAMES = [
14321
14628
  "getDocumoFaxSetup",
14322
14629
  "listDocumoFaxes",
14323
14630
  "getDocumoFaxStatus",
14631
+ "getEdgeCaptureInfo",
14324
14632
  "getEnrollmentStatusLog",
14325
14633
  "getEventRule",
14326
14634
  "getEventRules",
@@ -14547,11 +14855,11 @@ var WORKSPACE_METHOD_NAMES = [
14547
14855
  "getWorkflowDeletionPreview",
14548
14856
  "getWorkflowDiagram",
14549
14857
  "getWorkflowNotes",
14858
+ "getWorkflowOutline",
14550
14859
  "getWorkflowRevision",
14551
14860
  "getWorkflowRevisions",
14552
14861
  "getWorkflowTaskAssignmentStats",
14553
14862
  "getWorkflowTemplates",
14554
- "getWorkflowThumbnailUrl",
14555
14863
  "getWorkflows",
14556
14864
  "getWorkflowsActivityBatch",
14557
14865
  "getWorkspace",
@@ -14601,6 +14909,7 @@ var WORKSPACE_METHOD_NAMES = [
14601
14909
  "listAvailableAppConnections",
14602
14910
  "listInstallations",
14603
14911
  "listBundleGrants",
14912
+ "listBundleJourneyCandidates",
14604
14913
  "listBundleVersions",
14605
14914
  "listBundles",
14606
14915
  "listBundleWorkflowCandidates",
@@ -14637,6 +14946,10 @@ var WORKSPACE_METHOD_NAMES = [
14637
14946
  "listSalesforceObjects",
14638
14947
  "listScenarioHealthSummaries",
14639
14948
  "listScenarios",
14949
+ "listTestChatRunCapturedEffects",
14950
+ "deliverTestChatRunSms",
14951
+ "deliverTestChatRunEmail",
14952
+ "placeTestChatRunCall",
14640
14953
  "listTestChatRuns",
14641
14954
  "listWidgetDomains",
14642
14955
  "listWorkspaceInvitationsAdmin",
@@ -14946,6 +15259,7 @@ function bindChatsMethods(target, chats) {
14946
15259
  target.updateChatMute = chats.updateChatMute.bind(chats);
14947
15260
  target.summarizeChat = chats.summarizeChat.bind(chats);
14948
15261
  target.getChatMessages = chats.getChatMessages.bind(chats);
15262
+ target.getChatTaskTransitions = chats.getChatTaskTransitions.bind(chats);
14949
15263
  target.getChildThreadMessages = chats.getChildThreadMessages.bind(chats);
14950
15264
  target.getChatToolCallMessages = chats.getChatToolCallMessages.bind(chats);
14951
15265
  target.getChatTools = chats.getChatTools.bind(chats);
@@ -14980,6 +15294,7 @@ function bindCallsMethods(target, calls, cel) {
14980
15294
  target.getPhoneCalls = calls.getPhoneCalls.bind(calls);
14981
15295
  target.getMessageTiming = calls.getMessageTiming.bind(calls);
14982
15296
  target.getRecordingInfo = calls.getRecordingInfo.bind(calls);
15297
+ target.getEdgeCaptureInfo = calls.getEdgeCaptureInfo.bind(calls);
14983
15298
  target.listChatRecordings = calls.listChatRecordings.bind(calls);
14984
15299
  target.getCallRecordingDownloadUrl = calls.getCallRecordingDownloadUrl.bind(calls);
14985
15300
  target.getCelContext = cel.getCelContext.bind(cel);
@@ -15453,7 +15768,7 @@ function bindWorkflowsMethods(target, workflows, workflowNotes, voice, superviso
15453
15768
  target.getWorkflowActivity = workflows.getWorkflowActivity.bind(workflows);
15454
15769
  target.getWorkflowsActivityBatch = workflows.getWorkflowsActivityBatch.bind(workflows);
15455
15770
  target.getWorkflowDiagram = workflows.getWorkflowDiagram.bind(workflows);
15456
- target.getWorkflowThumbnailUrl = workflows.getWorkflowThumbnailUrl.bind(workflows);
15771
+ target.getWorkflowOutline = workflows.getWorkflowOutline.bind(workflows);
15457
15772
  target.createWorkflow = workflows.createWorkflow.bind(workflows);
15458
15773
  target.updateWorkflow = workflows.updateWorkflow.bind(workflows);
15459
15774
  target.getWorkflowDeletionPreview = workflows.getWorkflowDeletionPreview.bind(workflows);
@@ -15946,11 +16261,14 @@ function bindResourceWorkflowsMethods(target, resourceWorkflows) {
15946
16261
  // src/client/bindings/bundles.ts
15947
16262
  function bindBundlesMethods(target, bundles, resourceWorkflows) {
15948
16263
  bindResourceWorkflowsMethods(target, resourceWorkflows);
15949
- target.getSolutionRelease = bundles.getSolutionRelease.bind(bundles);
16264
+ target.listPublicBundles = bundles.listPublicBundles.bind(bundles);
16265
+ target.getPublicBundle = bundles.getPublicBundle.bind(bundles);
15950
16266
  target.updateBundle = bundles.updateBundle.bind(bundles);
15951
16267
  target.listBundleInstallations = bundles.listBundleInstallations.bind(bundles);
15952
16268
  target.listBundles = bundles.listBundles.bind(bundles);
15953
16269
  target.listBundleWorkflowCandidates = bundles.listBundleWorkflowCandidates.bind(bundles);
16270
+ target.listBundleJourneyCandidates = bundles.listBundleJourneyCandidates.bind(bundles);
16271
+ target.getBundleJourneyCandidate = bundles.getBundleJourneyCandidate.bind(bundles);
15954
16272
  target.createBundle = bundles.createBundle.bind(bundles);
15955
16273
  target.getBundleDraft = bundles.getBundleDraft.bind(bundles);
15956
16274
  target.replaceBundleDraft = bundles.replaceBundleDraft.bind(bundles);
@@ -15964,6 +16282,17 @@ function bindBundlesMethods(target, bundles, resourceWorkflows) {
15964
16282
  target.listResourceWorkflows = resourceWorkflows.listResourceWorkflows.bind(resourceWorkflows);
15965
16283
  }
15966
16284
 
16285
+ // src/client/bindings/demos.ts
16286
+ function bindDemosMethods(target, demos) {
16287
+ target.getDemo = demos.getDemo.bind(demos);
16288
+ target.startDemoSession = demos.startDemoSession.bind(demos);
16289
+ target.sendDemoSessionSms = demos.sendDemoSessionSms.bind(demos);
16290
+ target.sendDemoSessionEmail = demos.sendDemoSessionEmail.bind(demos);
16291
+ target.placeDemoSessionCall = demos.placeDemoSessionCall.bind(demos);
16292
+ target.getDemoSessionTimeline = demos.getDemoSessionTimeline.bind(demos);
16293
+ target.endDemoSession = demos.endDemoSession.bind(demos);
16294
+ }
16295
+
15967
16296
  // src/client/bindings/installations.ts
15968
16297
  function bindInstallationsMethods(target, installations) {
15969
16298
  target.preflightBundleInstallation = installations.preflightBundleInstallation.bind(installations);
@@ -16038,6 +16367,10 @@ function bindQualificationsMethods(target, qualifications) {
16038
16367
  target.listTestChatRuns = qualifications.listTestChatRuns.bind(qualifications);
16039
16368
  target.listScenarioHealthSummaries = qualifications.listScenarioHealthSummaries.bind(qualifications);
16040
16369
  target.getTestChatRun = qualifications.getTestChatRun.bind(qualifications);
16370
+ target.listTestChatRunCapturedEffects = qualifications.listTestChatRunCapturedEffects.bind(qualifications);
16371
+ target.deliverTestChatRunSms = qualifications.deliverTestChatRunSms.bind(qualifications);
16372
+ target.deliverTestChatRunEmail = qualifications.deliverTestChatRunEmail.bind(qualifications);
16373
+ target.placeTestChatRunCall = qualifications.placeTestChatRunCall.bind(qualifications);
16041
16374
  target.startTestChatRun = qualifications.startTestChatRun.bind(qualifications);
16042
16375
  target.evaluateTestChatRun = qualifications.evaluateTestChatRun.bind(qualifications);
16043
16376
  target.endTestChatRun = qualifications.endTestChatRun.bind(qualifications);
@@ -16190,6 +16523,7 @@ var GravityRailClient = class {
16190
16523
  updateChatMute;
16191
16524
  summarizeChat;
16192
16525
  getChatMessages;
16526
+ getChatTaskTransitions;
16193
16527
  getChildThreadMessages;
16194
16528
  getChatToolCallMessages;
16195
16529
  getChatTools;
@@ -16221,6 +16555,7 @@ var GravityRailClient = class {
16221
16555
  getPhoneCalls;
16222
16556
  getMessageTiming;
16223
16557
  getRecordingInfo;
16558
+ getEdgeCaptureInfo;
16224
16559
  listChatRecordings;
16225
16560
  getCallRecordingDownloadUrl;
16226
16561
  getCelContext;
@@ -16364,6 +16699,10 @@ var GravityRailClient = class {
16364
16699
  listTestChatRuns;
16365
16700
  listScenarioHealthSummaries;
16366
16701
  getTestChatRun;
16702
+ listTestChatRunCapturedEffects;
16703
+ deliverTestChatRunSms;
16704
+ deliverTestChatRunEmail;
16705
+ placeTestChatRunCall;
16367
16706
  startTestChatRun;
16368
16707
  evaluateTestChatRun;
16369
16708
  endTestChatRun;
@@ -16475,12 +16814,23 @@ var GravityRailClient = class {
16475
16814
  createJourneyNote;
16476
16815
  updateJourneyNote;
16477
16816
  deleteJourneyNote;
16817
+ // Demos API
16818
+ getDemo;
16819
+ startDemoSession;
16820
+ sendDemoSessionSms;
16821
+ sendDemoSessionEmail;
16822
+ placeDemoSessionCall;
16823
+ getDemoSessionTimeline;
16824
+ endDemoSession;
16478
16825
  updateBundle;
16479
16826
  listBundleInstallations;
16480
16827
  // Bundles API
16481
- getSolutionRelease;
16828
+ listPublicBundles;
16829
+ getPublicBundle;
16482
16830
  listBundles;
16483
16831
  listBundleWorkflowCandidates;
16832
+ listBundleJourneyCandidates;
16833
+ getBundleJourneyCandidate;
16484
16834
  createBundle;
16485
16835
  getBundleDraft;
16486
16836
  replaceBundleDraft;
@@ -16844,7 +17194,7 @@ var GravityRailClient = class {
16844
17194
  getWorkflowActivity;
16845
17195
  getWorkflowsActivityBatch;
16846
17196
  getWorkflowDiagram;
16847
- getWorkflowThumbnailUrl;
17197
+ getWorkflowOutline;
16848
17198
  createWorkflow;
16849
17199
  updateWorkflow;
16850
17200
  getWorkflowDeletionPreview;
@@ -17334,6 +17684,7 @@ var GravityRailClient = class {
17334
17684
  bindTrackedLinksMethods(this, apis.trackedLinks);
17335
17685
  bindJourneysMethods(this, apis.journeys);
17336
17686
  bindBundlesMethods(this, apis.bundles, apis.resourceWorkflows);
17687
+ bindDemosMethods(this, apis.demos);
17337
17688
  bindInstallationsMethods(this, apis.installations);
17338
17689
  bindExperimentsMethods(this, apis.experiments);
17339
17690
  bindOperatorMethods(this, apis.operatorGroups);
@@ -17511,16 +17862,6 @@ var ChatInteractionController = class {
17511
17862
  this.pending = void 0;
17512
17863
  }
17513
17864
  };
17514
-
17515
- // src/types/generated/bundle_contract.ts
17516
- var SolutionReleaseResponseSlug = {
17517
- "member-enrollment": "member-enrollment",
17518
- "member-reengagement": "member-reengagement",
17519
- "treatment-adherence": "treatment-adherence",
17520
- "heart-health": "heart-health",
17521
- "recovery-checkins": "recovery-checkins",
17522
- "care-coordination": "care-coordination"
17523
- };
17524
17865
  // Annotate the CommonJS export names for ESM import in node:
17525
17866
  0 && (module.exports = {
17526
17867
  AGENT_NOTE_ORIGINS,
@@ -17566,8 +17907,11 @@ var SolutionReleaseResponseSlug = {
17566
17907
  CalendarScheduleRecurrence,
17567
17908
  CalendarSource,
17568
17909
  CalendarsApi,
17910
+ CallNotAnsweredBranch,
17569
17911
  CallsApi,
17570
17912
  CapabilityClass,
17913
+ CapturedEffectDirection,
17914
+ CapturedEffectKind,
17571
17915
  ChannelMessageDirection,
17572
17916
  ChannelMessageSource,
17573
17917
  ChannelMessagesUnavailableReason,
@@ -17633,6 +17977,7 @@ var SolutionReleaseResponseSlug = {
17633
17977
  ImportSkippedRuleResponseParentKind,
17634
17978
  ImportSkippedRuleResponseReasonCode,
17635
17979
  ImportSkippedRuleResponseStatus,
17980
+ InboundRefusal,
17636
17981
  InboxesApi,
17637
17982
  IndexStatus,
17638
17983
  InquiriesApi,
@@ -17646,6 +17991,7 @@ var SolutionReleaseResponseSlug = {
17646
17991
  McpServerState,
17647
17992
  McpServersApi,
17648
17993
  MemberFeature,
17994
+ MemberImportIssueCode,
17649
17995
  MemberImportMatchInfoMatchType,
17650
17996
  MemberImportPreviewRowAction,
17651
17997
  MemberRelationshipKind,
@@ -17694,6 +18040,7 @@ var SolutionReleaseResponseSlug = {
17694
18040
  PhiPostureReasonCode,
17695
18041
  PhiPostureTransitionResponseTargetType,
17696
18042
  PhoneNumbersApi,
18043
+ PhoneRunRefusal,
17697
18044
  PilotRelationshipType,
17698
18045
  PilotStage,
17699
18046
  ProductType,
@@ -17745,7 +18092,6 @@ var SolutionReleaseResponseSlug = {
17745
18092
  SitesApi,
17746
18093
  SlackAppsApi,
17747
18094
  SnippetsApi,
17748
- SolutionReleaseResponseSlug,
17749
18095
  SubscriptionsApi,
17750
18096
  SupervisorsApi,
17751
18097
  SupportRequestsApi,
@@ -17755,6 +18101,7 @@ var SolutionReleaseResponseSlug = {
17755
18101
  TTS_MODEL_DEEPGRAM_AURA_2,
17756
18102
  TTS_MODEL_XAI_V1,
17757
18103
  TTS_PREVIEW_PROVIDERS,
18104
+ TaskTransitionInitiator,
17758
18105
  TasksApi,
17759
18106
  TemplatesApi,
17760
18107
  TestChatRunLane,
@@ -17794,6 +18141,7 @@ var SolutionReleaseResponseSlug = {
17794
18141
  bindCustomersMethods,
17795
18142
  bindDashboardsMethods,
17796
18143
  bindDataTypesMethods,
18144
+ bindDemosMethods,
17797
18145
  bindDevicesMethods,
17798
18146
  bindEventsMethods,
17799
18147
  bindExperimentsMethods,