@gravity-rail/sdk 0.22.0 → 0.32.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/README.md +57 -8
  2. package/dist/agui.d.cts +1 -1
  3. package/dist/agui.d.ts +1 -1
  4. package/dist/audio.d.cts +1 -1
  5. package/dist/audio.d.ts +1 -1
  6. package/dist/{client-C10qSd6b.d.ts → chat-interaction-BKdImgZ5.d.ts} +5604 -1531
  7. package/dist/{client-Ct0soeip.d.cts → chat-interaction-DLfC_h_P.d.cts} +5604 -1531
  8. package/dist/{chunk-3HAV5XUJ.js → chunk-HRUMZ46V.js} +1 -1
  9. package/dist/chunk-HRUMZ46V.js.map +1 -0
  10. package/dist/{chunk-WMA6YCAS.js → chunk-N446FGCT.js} +1230 -201
  11. package/dist/chunk-N446FGCT.js.map +1 -0
  12. package/dist/{chunk-7OLBLLV7.js → chunk-P2E6LU7I.js} +57 -7
  13. package/dist/chunk-P2E6LU7I.js.map +1 -0
  14. package/dist/helpers.cjs +54 -1
  15. package/dist/helpers.cjs.map +1 -1
  16. package/dist/helpers.d.cts +3 -2
  17. package/dist/helpers.d.ts +3 -2
  18. package/dist/helpers.js +11 -3
  19. package/dist/helpers.js.map +1 -1
  20. package/dist/index.cjs +2291 -148
  21. package/dist/index.cjs.map +1 -1
  22. package/dist/index.d.cts +509 -6
  23. package/dist/index.d.ts +509 -6
  24. package/dist/index.js +1032 -23
  25. package/dist/index.js.map +1 -1
  26. package/dist/internal.cjs +1320 -220
  27. package/dist/internal.cjs.map +1 -1
  28. package/dist/internal.d.cts +33 -49
  29. package/dist/internal.d.ts +33 -49
  30. package/dist/internal.js +73 -33
  31. package/dist/internal.js.map +1 -1
  32. package/dist/realtime.cjs +279 -14
  33. package/dist/realtime.cjs.map +1 -1
  34. package/dist/realtime.d.cts +169 -17
  35. package/dist/realtime.d.ts +169 -17
  36. package/dist/realtime.js +264 -13
  37. package/dist/realtime.js.map +1 -1
  38. package/dist/{revision-state-CCPTiW-i.d.cts → revision-state-Bsq5dKwi.d.cts} +236 -5
  39. package/dist/{revision-state-C6aM-PHu.d.ts → revision-state-CQTYcIRG.d.ts} +236 -5
  40. package/dist/schemas.cjs +3 -1
  41. package/dist/schemas.cjs.map +1 -1
  42. package/dist/schemas.d.cts +31 -13
  43. package/dist/schemas.d.ts +31 -13
  44. package/dist/schemas.js +4 -2
  45. package/dist/schemas.js.map +1 -1
  46. package/dist/{tasks-WH_VfzMv.d.cts → tasks-B-31JPuq.d.cts} +298 -114
  47. package/dist/{tasks-WH_VfzMv.d.ts → tasks-B-31JPuq.d.ts} +298 -114
  48. package/dist/types-0c6_NGU4.d.cts +90 -0
  49. package/dist/types-0c6_NGU4.d.ts +90 -0
  50. package/package.json +3 -3
  51. package/dist/chunk-3HAV5XUJ.js.map +0 -1
  52. package/dist/chunk-7OLBLLV7.js.map +0 -1
  53. package/dist/chunk-WMA6YCAS.js.map +0 -1
  54. package/dist/types-DkYyrvoC.d.cts +0 -19
  55. package/dist/types-DkYyrvoC.d.ts +0 -19
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  ApiError,
3
3
  BaseApiClient
4
- } from "./chunk-7OLBLLV7.js";
4
+ } from "./chunk-P2E6LU7I.js";
5
5
 
6
6
  // src/api/abilities.ts
7
7
  var AbilitiesApi = class extends BaseApiClient {
@@ -1238,17 +1238,6 @@ var CallsApi = class extends BaseApiClient {
1238
1238
  `w/${wid}/calls${params.toString() ? `?${params.toString()}` : ""}`
1239
1239
  );
1240
1240
  }
1241
- /** Initiate a new outbound call. */
1242
- async initiateCall(wid, request) {
1243
- return this.fetch(`w/${wid}/call`, {
1244
- method: "POST",
1245
- body: JSON.stringify(request)
1246
- });
1247
- }
1248
- /** Get a voice authentication token for real-time audio. */
1249
- async getVoiceToken(wid) {
1250
- return this.fetch(`w/${wid}/voice/token`);
1251
- }
1252
1241
  /** Get message timing data for a chat recording. */
1253
1242
  async getMessageTiming(wid, chatId) {
1254
1243
  return this.fetch(`w/${wid}/recordings/chat/${chatId}/message-timing`);
@@ -1374,6 +1363,26 @@ var ChatsApi = class extends BaseApiClient {
1374
1363
  async getChat(wid, id) {
1375
1364
  return this.fetch(`w/${wid}/chats/${id}`);
1376
1365
  }
1366
+ /**
1367
+ * Get a short-lived, interactive AgentCore browser view for this Chat.
1368
+ *
1369
+ * The signed URL is deliberately response-local. Callers must keep it in
1370
+ * memory only and request a fresh value when reopening the view.
1371
+ */
1372
+ async getChatBrowserLiveView(wid, chatId) {
1373
+ const response = await this.fetchRaw(`w/${wid}/chats/${chatId}/browser/live-view`);
1374
+ if (response.status === 204) return null;
1375
+ return response.json();
1376
+ }
1377
+ /**
1378
+ * Which machine resources this Chat is running right now.
1379
+ *
1380
+ * Infrastructure state only — no Chat content — so it is safe to poll while
1381
+ * a Chat is open.
1382
+ */
1383
+ async getChatMachineResources(wid, chatId) {
1384
+ return this.fetch(`w/${wid}/chats/${chatId}/machine-resources`);
1385
+ }
1377
1386
  /**
1378
1387
  * Create-chat preflight for SMS: is a conversation already live between this
1379
1388
  * workspace number and this member?
@@ -1401,6 +1410,23 @@ var ChatsApi = class extends BaseApiClient {
1401
1410
  async getChatCallbacks(wid, chatId) {
1402
1411
  return this.fetch(`w/${wid}/chats/${chatId}/callbacks`);
1403
1412
  }
1413
+ /**
1414
+ * List EHR write-back outcomes for a chat (newest first).
1415
+ *
1416
+ * Operator surface: the endpoint requires `chats:read` in addition to the
1417
+ * chat's own object authorization, so a chat owner reading their own chat
1418
+ * does not reach it. The response carries IDs and closed-vocabulary codes
1419
+ * only — no note body, summary, member fields, or provider messages.
1420
+ */
1421
+ async getChatEhrWritebackOutcomes(wid, chatId, options = {}) {
1422
+ const params = new URLSearchParams();
1423
+ if (options.limit !== void 0) params.append("limit", options.limit.toString());
1424
+ if (options.cursor) params.append("cursor", options.cursor);
1425
+ const queryString = params.toString();
1426
+ return this.fetch(
1427
+ `w/${wid}/chats/${chatId}/ehr-writeback-outcomes${queryString ? `?${queryString}` : ""}`
1428
+ );
1429
+ }
1404
1430
  /** Cancel a pending scheduled callback on a chat. */
1405
1431
  async cancelChatCallback(wid, chatId, callbackId) {
1406
1432
  return this.fetch(
@@ -1412,6 +1438,18 @@ var ChatsApi = class extends BaseApiClient {
1412
1438
  async getChatTodos(wid, chatId) {
1413
1439
  return this.fetch(`w/${wid}/chats/${chatId}/todos`);
1414
1440
  }
1441
+ /**
1442
+ * The caller's own live inline-connect link for a chat.
1443
+ *
1444
+ * An `inline_connect` prompt (`UiPromptPresented.connect`) names the
1445
+ * connection but carries no URL; fetch it here when the member chooses to
1446
+ * connect. 404 when nothing is live for the caller in this chat.
1447
+ */
1448
+ async getInlineConnectLink(wid, chatId, appSlug) {
1449
+ return this.fetch(
1450
+ `w/${wid}/chats/${chatId}/inline-connect/${encodeURIComponent(appSlug)}/link`
1451
+ );
1452
+ }
1415
1453
  /** Get loaded and revealed skills for a chat. */
1416
1454
  async getChatSkills(wid, chatId) {
1417
1455
  return this.fetch(`w/${wid}/chats/${chatId}/skills`);
@@ -1446,6 +1484,23 @@ var ChatsApi = class extends BaseApiClient {
1446
1484
  method: "PUT"
1447
1485
  });
1448
1486
  }
1487
+ /** Start an interaction within an existing Chat without changing its channel. */
1488
+ async createChatInteractionSession(wid, chatId, request) {
1489
+ return this.fetch(
1490
+ `w/${wid}/chats/${chatId}/interaction-sessions`,
1491
+ {
1492
+ method: "POST",
1493
+ body: JSON.stringify(request)
1494
+ }
1495
+ );
1496
+ }
1497
+ /** End one mode session and append its replacement in the same Chat. */
1498
+ async transitionChatInteractionSession(wid, chatId, sessionId, request) {
1499
+ return this.fetch(
1500
+ `w/${wid}/chats/${chatId}/interaction-sessions/${encodeURIComponent(sessionId)}/transition`,
1501
+ { method: "POST", body: JSON.stringify(request) }
1502
+ );
1503
+ }
1449
1504
  /** Create a new chat. */
1450
1505
  async createChat(wid, chat) {
1451
1506
  const { agentMemberId, ...rest } = chat;
@@ -1536,10 +1591,11 @@ var ChatsApi = class extends BaseApiClient {
1536
1591
  }
1537
1592
  /** List messages in a chat with optional pagination.
1538
1593
  * ``id`` is the numeric chat id (documented) or the chat uuid (accepted). */
1539
- async getChatMessages(wid, id, limit, offset) {
1594
+ async getChatMessages(wid, id, limit, offset, before) {
1540
1595
  const params = new URLSearchParams();
1541
1596
  if (limit) params.append("limit", limit.toString());
1542
1597
  if (offset) params.append("offset", offset.toString());
1598
+ if (before) params.append("before", before);
1543
1599
  return this.fetch(
1544
1600
  `w/${wid}/chats/${id}/messages${params.toString() ? `?${params.toString()}` : ""}`
1545
1601
  );
@@ -1888,6 +1944,35 @@ var CustomToolkitsApi = class extends BaseApiClient {
1888
1944
 
1889
1945
  // src/api/data-types.ts
1890
1946
  var DataTypesApi = class extends BaseApiClient {
1947
+ /** Read the local Form's draft and optimistic publication counters. */
1948
+ async getDataTypeDraft(wid, id) {
1949
+ return this.fetch(`w/${wid}/data-types/${id}/schema-draft`);
1950
+ }
1951
+ /** Save a draft without changing the schema used to validate live records. */
1952
+ async saveDataTypeDraft(wid, id, request) {
1953
+ return this.fetch(`w/${wid}/data-types/${id}/schema-draft`, {
1954
+ method: "PUT",
1955
+ body: JSON.stringify(request)
1956
+ });
1957
+ }
1958
+ /** Publish the expected draft as the next immutable local schema version. */
1959
+ async publishDataTypeDraft(wid, id, request) {
1960
+ return this.fetch(`w/${wid}/data-types/${id}/schema-publish`, {
1961
+ method: "POST",
1962
+ body: JSON.stringify(request)
1963
+ });
1964
+ }
1965
+ /** List schema history newest first; use the last version as the next cursor. */
1966
+ async getDataTypeVersions(wid, id, options) {
1967
+ const params = new URLSearchParams();
1968
+ if (options?.beforeVersion !== void 0)
1969
+ params.set("beforeVersion", String(options.beforeVersion));
1970
+ if (options?.limit !== void 0) params.set("limit", String(options.limit));
1971
+ const query = params.toString();
1972
+ return this.fetch(
1973
+ `w/${wid}/data-types/${id}/schema-versions${query ? `?${query}` : ""}`
1974
+ );
1975
+ }
1891
1976
  /** List all data types for a workspace, optionally filtering by archived status. */
1892
1977
  async getDataTypes(wid, options) {
1893
1978
  const params = new URLSearchParams();
@@ -1956,7 +2041,6 @@ var DataTypesApi = class extends BaseApiClient {
1956
2041
  const params = new URLSearchParams();
1957
2042
  if (options?.memberId !== void 0) params.append("member_id", options.memberId.toString());
1958
2043
  if (options?.memberIds?.length) params.append("member_ids", options.memberIds.join(","));
1959
- if (options?.recordId !== void 0) params.append("record_id", options.recordId.toString());
1960
2044
  if (options?.search) params.append("search", options.search);
1961
2045
  if (options?.searchField) params.append("search_field", options.searchField);
1962
2046
  if (options?.dataRecordFilterId != null) {
@@ -2470,6 +2554,22 @@ var EventsApi = class extends BaseApiClient {
2470
2554
  }
2471
2555
  );
2472
2556
  }
2557
+ /**
2558
+ * Preview what would stop a draft Routine placing its scheduled outbound
2559
+ * calls — the Member voice opt-out, a missing member phone, or a
2560
+ * workspace number that is stale, archived, or not voice-enabled.
2561
+ * Non-persisting and advisory. The audience is reported as counts only,
2562
+ * never as Member rows.
2563
+ */
2564
+ async previewRoutineVoiceReadiness(wid, request) {
2565
+ return this.fetch(
2566
+ `w/${wid}/routines/preview-voice-readiness`,
2567
+ {
2568
+ method: "POST",
2569
+ body: JSON.stringify(request)
2570
+ }
2571
+ );
2572
+ }
2473
2573
  /** List routines with optional pagination and active status filtering. */
2474
2574
  async getRoutines(wid, options = {}) {
2475
2575
  const params = new URLSearchParams();
@@ -2479,6 +2579,8 @@ var EventsApi = class extends BaseApiClient {
2479
2579
  if (options.sortOrder) params.append("sortOrder", options.sortOrder);
2480
2580
  if (options.owner) params.append("owner", options.owner);
2481
2581
  if (options.ownerId) params.append("ownerId", options.ownerId.toString());
2582
+ if (options.agentId) params.append("agentId", options.agentId.toString());
2583
+ if (options.agentOnly) params.append("agentOnly", "true");
2482
2584
  return this.fetch(
2483
2585
  `w/${wid}/routines${params.toString() ? `?${params.toString()}` : ""}`
2484
2586
  );
@@ -3343,7 +3445,14 @@ var InboxesApi = class extends BaseApiClient {
3343
3445
  async getInboxes(wid) {
3344
3446
  return this.fetch(`w/${wid}/inboxes`);
3345
3447
  }
3346
- /** Get an inbox by ID. */
3448
+ /**
3449
+ * Get an inbox by ID or UUID.
3450
+ *
3451
+ * The route has always taken either (`inbox_id: str = Path(..., description=
3452
+ * "Inbox ID or UUID")`); the signature said `number`, which put the UUID path
3453
+ * out of reach for a caller holding an inbox ref from the activity feed —
3454
+ * where refs are UUID-only by design.
3455
+ */
3347
3456
  async getInbox(wid, id) {
3348
3457
  return this.fetch(`w/${wid}/inboxes/${id}`);
3349
3458
  }
@@ -4061,17 +4170,11 @@ var MembersApi = class extends BaseApiClient {
4061
4170
  * operator can decide whether to skip or explicitly overwrite before
4062
4171
  * committing. Requires MEMBERS_ADMIN and is bulk-PHI audited server-side.
4063
4172
  */
4064
- async previewImportMembers(wid, file, newMemberRoleId, options) {
4173
+ async previewImportMembers(wid, file, newMemberRoleId) {
4065
4174
  const formData = new FormData();
4066
4175
  formData.append("file", file);
4067
4176
  const params = new URLSearchParams();
4068
4177
  params.append("new_member_role_id", newMemberRoleId.toString());
4069
- if (options?.trustEmailAddresses) {
4070
- params.append("trust_email_addresses", "true");
4071
- }
4072
- if (options?.trustPhoneNumbers) {
4073
- params.append("trust_phone_numbers", "true");
4074
- }
4075
4178
  const response = await this.fetchRaw(
4076
4179
  `w/${wid}/members/import/preview?${params.toString()}`,
4077
4180
  {
@@ -4098,12 +4201,6 @@ var MembersApi = class extends BaseApiClient {
4098
4201
  formData.append("file", file);
4099
4202
  const params = new URLSearchParams();
4100
4203
  params.append("new_member_role_id", newMemberRoleId.toString());
4101
- if (options?.trustEmailAddresses) {
4102
- params.append("trust_email_addresses", "true");
4103
- }
4104
- if (options?.trustPhoneNumbers) {
4105
- params.append("trust_phone_numbers", "true");
4106
- }
4107
4204
  if (options?.identityConflictPolicy) {
4108
4205
  params.append("identity_conflict_policy", options.identityConflictPolicy);
4109
4206
  }
@@ -4352,6 +4449,28 @@ var MembersApi = class extends BaseApiClient {
4352
4449
  async getMemberSyncLinks(wid, memberId) {
4353
4450
  return this.fetch(`w/${wid}/members/${memberId}/sync-links`);
4354
4451
  }
4452
+ async getMemberRelationships(wid, memberId, params) {
4453
+ const search = new URLSearchParams();
4454
+ if (params?.page) search.set("page", String(params.page));
4455
+ if (params?.pageSize) search.set("pageSize", String(params.pageSize));
4456
+ if (params?.kind) search.set("kind", params.kind);
4457
+ const qs = search.toString();
4458
+ return this.fetch(
4459
+ `w/${wid}/members/${memberId}/relationships${qs ? `?${qs}` : ""}`
4460
+ );
4461
+ }
4462
+ async createMemberRelationship(wid, memberId, body) {
4463
+ return this.fetch(`w/${wid}/members/${memberId}/relationships`, {
4464
+ method: "POST",
4465
+ body: JSON.stringify(body)
4466
+ });
4467
+ }
4468
+ async archiveMemberRelationship(wid, memberId, relationshipId) {
4469
+ return this.fetch(
4470
+ `w/${wid}/members/${memberId}/relationships/${relationshipId}`,
4471
+ { method: "DELETE" }
4472
+ );
4473
+ }
4355
4474
  };
4356
4475
 
4357
4476
  // src/api/monday.ts
@@ -4599,12 +4718,6 @@ var OperatorApi = class extends BaseApiClient {
4599
4718
  async getPresenceStatus(wid) {
4600
4719
  return this.fetch(`w/${wid}/presence/me`);
4601
4720
  }
4602
- /** Disconnect the current member's presence session. */
4603
- async disconnectPresence(wid) {
4604
- return this.fetch(`w/${wid}/presence/disconnect-self`, {
4605
- method: "POST"
4606
- });
4607
- }
4608
4721
  // Operator chat message methods
4609
4722
  /** Get paginated chat messages for an operator chat. */
4610
4723
  async getOperatorChatMessages(wid, chatId, limit = 50, offset = 0) {
@@ -5174,6 +5287,28 @@ var OrgApi = class extends BaseApiClient {
5174
5287
  async getLegalEntity(orgUuid, legalEntityUuid) {
5175
5288
  return this.fetch(`o/${orgUuid}/legal-entities/${legalEntityUuid}`);
5176
5289
  }
5290
+ /**
5291
+ * Read one registration draft for a legal entity.
5292
+ *
5293
+ * A draft is what the operator has typed but not submitted. It exists so
5294
+ * data entry is never gated on a prerequisite: someone can write down the
5295
+ * caller-ID name today and submit it the day the business is verified.
5296
+ */
5297
+ async getRegistrationDraft(orgUuid, legalEntityUuid, kind) {
5298
+ return this.fetch(
5299
+ `o/${orgUuid}/legal-entities/${legalEntityUuid}/registration-drafts/${kind}`
5300
+ );
5301
+ }
5302
+ /**
5303
+ * Save one registration draft. Always accepted — the server refuses only
5304
+ * an oversized body, never an unfinished one.
5305
+ */
5306
+ async saveRegistrationDraft(orgUuid, legalEntityUuid, kind, data) {
5307
+ return this.fetch(
5308
+ `o/${orgUuid}/legal-entities/${legalEntityUuid}/registration-drafts/${kind}`,
5309
+ { method: "PUT", body: JSON.stringify({ data }) }
5310
+ );
5311
+ }
5177
5312
  /** Cached voice trust product state (CNAM / SHAKEN-STIR / Voice Integrity) for one legal entity. */
5178
5313
  async getVoiceTrustProducts(orgUuid, legalEntityUuid) {
5179
5314
  return this.fetch(
@@ -5347,6 +5482,42 @@ var OrgApi = class extends BaseApiClient {
5347
5482
  }
5348
5483
  );
5349
5484
  }
5485
+ // =========================================================================
5486
+ // Organization webhook endpoints (GRA-8314)
5487
+ // =========================================================================
5488
+ async listOrgWebhookEndpoints(orgIdOrUuid) {
5489
+ return this.fetch(`o/${orgIdOrUuid}/webhooks`);
5490
+ }
5491
+ /**
5492
+ * The subscribable event-type vocabulary for the org UI's event-type
5493
+ * picker — exactly what the create/update validators accept, so the UI
5494
+ * never offers a type the API would reject.
5495
+ */
5496
+ async listOrgWebhookEventTypes(orgIdOrUuid) {
5497
+ return this.fetch(`o/${orgIdOrUuid}/webhooks/event-types`);
5498
+ }
5499
+ async createOrgWebhookEndpoint(orgIdOrUuid, data) {
5500
+ return this.fetch(`o/${orgIdOrUuid}/webhooks`, {
5501
+ method: "POST",
5502
+ body: JSON.stringify(data)
5503
+ });
5504
+ }
5505
+ async updateOrgWebhookEndpoint(orgIdOrUuid, endpointUuid, data) {
5506
+ return this.fetch(`o/${orgIdOrUuid}/webhooks/${endpointUuid}`, {
5507
+ method: "PATCH",
5508
+ body: JSON.stringify(data)
5509
+ });
5510
+ }
5511
+ async deleteOrgWebhookEndpoint(orgIdOrUuid, endpointUuid) {
5512
+ return this.fetch(`o/${orgIdOrUuid}/webhooks/${endpointUuid}`, {
5513
+ method: "DELETE"
5514
+ });
5515
+ }
5516
+ async listOrgWebhookEndpointDeliveries(orgIdOrUuid, endpointUuid, limit = 50) {
5517
+ return this.fetch(
5518
+ `o/${orgIdOrUuid}/webhooks/${endpointUuid}/deliveries?limit=${limit}`
5519
+ );
5520
+ }
5350
5521
  };
5351
5522
  function businessProfilePath(orgUuid, legalEntityUuid) {
5352
5523
  return legalEntityUuid ? `o/${orgUuid}/legal-entities/${legalEntityUuid}/business-profile` : `o/${orgUuid}/business-profile`;
@@ -5767,6 +5938,8 @@ var PersonasApi = class extends BaseApiClient {
5767
5938
  const q = new URLSearchParams();
5768
5939
  if (params?.page !== void 0) q.set("page", String(params.page));
5769
5940
  if (params?.pageSize !== void 0) q.set("pageSize", String(params.pageSize));
5941
+ if (params?.includeArchived !== void 0)
5942
+ q.set("includeArchived", String(params.includeArchived));
5770
5943
  const qs = q.toString() ? `?${q.toString()}` : "";
5771
5944
  return this.fetch(`w/${wid}/personas${qs}`);
5772
5945
  }
@@ -5785,6 +5958,18 @@ var PersonasApi = class extends BaseApiClient {
5785
5958
  body: JSON.stringify(data)
5786
5959
  });
5787
5960
  }
5961
+ async archivePersona(wid, id) {
5962
+ return this.fetch(`w/${wid}/personas/${id}/archive`, {
5963
+ method: "POST",
5964
+ body: JSON.stringify({})
5965
+ });
5966
+ }
5967
+ async unarchivePersona(wid, id) {
5968
+ return this.fetch(`w/${wid}/personas/${id}/unarchive`, {
5969
+ method: "POST",
5970
+ body: JSON.stringify({})
5971
+ });
5972
+ }
5788
5973
  async deletePersona(wid, id) {
5789
5974
  return this.fetch(`w/${wid}/personas/${id}`, { method: "DELETE" });
5790
5975
  }
@@ -7276,6 +7461,59 @@ var JourneysApi = class extends BaseApiClient {
7276
7461
  async getJourneyAuthoring(wid, journeyId) {
7277
7462
  return this.fetch(`w/${wid}/journeys/${journeyId}/authoring`);
7278
7463
  }
7464
+ /**
7465
+ * Atomically replace a v2 Journey's whole definition (Journey v2 plan §3.8).
7466
+ *
7467
+ * ONE request carries the ordered touches, the wait into each touch, the
7468
+ * ordered Endings, action associations, goals, and
7469
+ * `expectedUpdatedAt` for optimistic concurrency. It is a full replacement,
7470
+ * not a patch — omitting `goals` is the one exception and leaves them alone.
7471
+ *
7472
+ * Returns the AUTHORING projection (`Journey`): the caller just wrote the
7473
+ * CEL and holds the `journeys:write` scope that authorizes reading it back.
7474
+ *
7475
+ * Refusals are HTTP 409 with a stable `code`:
7476
+ * * `journey_v2_execution_model_mismatch` — the Journey is legacy; use the
7477
+ * step/connection/goal endpoints.
7478
+ * * `journey_v2_structural_edit_not_allowed` — it is live; pause it first.
7479
+ * * `journey_v2_definition_conflict` — someone saved first; reload.
7480
+ * * `journey_v2_invalid_topology` — the resulting graph is not executable;
7481
+ * the body carries `issues` (codes and resource uuids, never CEL).
7482
+ */
7483
+ async putJourneyV2Definition(wid, journeyId, data) {
7484
+ return this.fetch(`w/${wid}/journeys/${journeyId}/v2-definition`, {
7485
+ method: "PUT",
7486
+ body: JSON.stringify(data)
7487
+ });
7488
+ }
7489
+ /**
7490
+ * Dry-run the v2 publish validator against the STORED definition.
7491
+ *
7492
+ * Answers "could I activate this right now?" without attempting the
7493
+ * transition. Issues carry closed codes and resource uuids only — never CEL
7494
+ * and never member data — so they are safe to render or log.
7495
+ */
7496
+ async getJourneyV2Validation(wid, journeyId) {
7497
+ return this.fetch(
7498
+ `w/${wid}/journeys/${journeyId}/v2-definition/validation`
7499
+ );
7500
+ }
7501
+ /**
7502
+ * MemberFilter ids and names, for the Journey authoring picker.
7503
+ *
7504
+ * A v2 wait, route or Ending may carry a structured MemberFilter predicate
7505
+ * and the author selects it by NAME (rule-filters plan §3.10). This is the
7506
+ * catalogue for that control and the whole of what it needs: two scalars per
7507
+ * filter, no `query` predicate, no rules, no counts.
7508
+ *
7509
+ * Authorized on `journeys:write` alone — deliberately NOT the Members
7510
+ * surface's `MembersApi.getMemberFilters`, which is `members:read`
7511
+ * because it returns each filter's predicate. Journey authoring should not
7512
+ * require Member-read access to name a cohort.
7513
+ */
7514
+ async getJourneyFilterOptions(wid) {
7515
+ return this.fetch(`w/${wid}/journeys/filter-options`);
7516
+ }
7279
7517
  /** Create a new journey. Returns the READ projection (`JourneyRead`). */
7280
7518
  async createJourney(wid, data) {
7281
7519
  return this.fetch(`w/${wid}/journeys`, {
@@ -7283,7 +7521,14 @@ var JourneysApi = class extends BaseApiClient {
7283
7521
  body: JSON.stringify(data)
7284
7522
  });
7285
7523
  }
7286
- /** Update an existing journey. Returns the READ projection (`JourneyRead`). */
7524
+ /**
7525
+ * Update an existing journey. Returns the READ projection (`JourneyRead`).
7526
+ *
7527
+ * `executionModel` is excluded: it is a CREATE-only field. Flipping a live
7528
+ * Journey's engine is a guarded, audited migration operation (Journey v2
7529
+ * plan §3.11), so the server has no update counterpart and sending one here
7530
+ * would silently do nothing.
7531
+ */
7287
7532
  async updateJourney(wid, journeyId, data) {
7288
7533
  return this.fetch(`w/${wid}/journeys/${journeyId}`, {
7289
7534
  method: "PUT",
@@ -7390,8 +7635,6 @@ var JourneysApi = class extends BaseApiClient {
7390
7635
  qs.set("currentTaskId", String(params.currentTaskId));
7391
7636
  if (params?.runtimeFailureEdgeId !== void 0)
7392
7637
  qs.set("runtimeFailureEdgeId", String(params.runtimeFailureEdgeId));
7393
- if (params?.memberJourneyId !== void 0)
7394
- qs.set("memberJourneyId", String(params.memberJourneyId));
7395
7638
  const query = qs.toString();
7396
7639
  return this.fetch(
7397
7640
  `w/${wid}/journeys/${journeyId}/members${query ? `?${query}` : ""}`
@@ -7545,6 +7788,15 @@ var WorkflowsApi = class extends BaseApiClient {
7545
7788
  async getWorkflow(wid, id) {
7546
7789
  return this.fetch(`w/${wid}/workflows/${id}`);
7547
7790
  }
7791
+ async getWorkflowOpeningTurnConversionReport(wid, id) {
7792
+ return this.fetch(`w/${wid}/workflows/${id}/opening-turn/conversion-report`);
7793
+ }
7794
+ async convertWorkflowStartTaskOpeningMessage(wid, id, expectedRuleId) {
7795
+ return this.fetch(`w/${wid}/workflows/${id}/opening-turn/convert-start-task-message`, {
7796
+ method: "POST",
7797
+ body: JSON.stringify({ expectedRuleId })
7798
+ });
7799
+ }
7548
7800
  /** Get activity metrics for a single workflow. */
7549
7801
  async getWorkflowActivity(wid, id, options) {
7550
7802
  const params = options?.days ? `?days=${options.days}` : "";
@@ -8036,7 +8288,9 @@ var Scope = /* @__PURE__ */ ((Scope2) => {
8036
8288
  var BulkMemberResultStatus = {
8037
8289
  created: "created",
8038
8290
  updated: "updated",
8039
- failed: "failed"
8291
+ failed: "failed",
8292
+ conflict: "conflict",
8293
+ skipped: "skipped"
8040
8294
  };
8041
8295
  var MemberImportMatchInfoMatchType = {
8042
8296
  external_id: "external_id",
@@ -8050,6 +8304,7 @@ var MemberImportPreviewRowAction = {
8050
8304
  update: "update",
8051
8305
  unchanged: "unchanged",
8052
8306
  conflict: "conflict",
8307
+ skipped: "skipped",
8053
8308
  error: "error"
8054
8309
  };
8055
8310
 
@@ -8198,6 +8453,8 @@ var EventRuleActionType = /* @__PURE__ */ ((EventRuleActionType2) => {
8198
8453
  EventRuleActionType2["CONNECTOR_OPERATION"] = "connector:operation";
8199
8454
  EventRuleActionType2["ECW_REFRESH_MEMBER_ENCOUNTERS"] = "ecw:refresh_member_encounters";
8200
8455
  EventRuleActionType2["PLAY_AUDIO"] = "audio:play";
8456
+ EventRuleActionType2["CHARLESTON_SEND_PMD_PAGE"] = "charleston:send_pmd_page";
8457
+ EventRuleActionType2["PATIENTSYNC_TRANSFER"] = "patientsync:transfer";
8201
8458
  return EventRuleActionType2;
8202
8459
  })(EventRuleActionType || {});
8203
8460
  function eventRuleActionParams(params) {
@@ -8219,6 +8476,7 @@ var WorkspaceFeature = /* @__PURE__ */ ((WorkspaceFeature2) => {
8219
8476
  WorkspaceFeature2["BROWSER"] = "browser";
8220
8477
  WorkspaceFeature2["WEB_SEARCH"] = "web_search";
8221
8478
  WorkspaceFeature2["CALENDAR"] = "calendar";
8479
+ WorkspaceFeature2["JOURNEY_V2_EDITOR"] = "journey_v2_editor";
8222
8480
  WorkspaceFeature2["EXPERIMENTS"] = "experiments";
8223
8481
  WorkspaceFeature2["MAILBOX_USER_INPUT"] = "mailbox_user_input";
8224
8482
  WorkspaceFeature2["FORKED_TRAJECTORIES"] = "forked_trajectories";
@@ -8344,6 +8602,7 @@ var ModelProvider = {
8344
8602
  elevenlabs: "elevenlabs",
8345
8603
  deepgram: "deepgram",
8346
8604
  xai: "xai",
8605
+ fireworks: "fireworks",
8347
8606
  custom: "custom"
8348
8607
  };
8349
8608
  var ModelType = {
@@ -8397,6 +8656,24 @@ var FhirClientType = /* @__PURE__ */ ((FhirClientType2) => {
8397
8656
  return FhirClientType2;
8398
8657
  })(FhirClientType || {});
8399
8658
 
8659
+ // src/types/generated/qualification.ts
8660
+ var TestChatRunLane = {
8661
+ text: "text",
8662
+ web_realtime: "web_realtime",
8663
+ core_agent_only: "core_agent_only",
8664
+ unsupported: "unsupported",
8665
+ unknown: "unknown"
8666
+ };
8667
+ var TestChatRunOutcome = {
8668
+ simulator_end: "simulator_end",
8669
+ terminal_tool: "terminal_tool",
8670
+ agent_silent: "agent_silent",
8671
+ max_turns: "max_turns",
8672
+ human_end: "human_end",
8673
+ configuration_failure: "configuration_failure",
8674
+ instrument_failure: "instrument_failure"
8675
+ };
8676
+
8400
8677
  // src/types/qualification-types.ts
8401
8678
  var CriterionType = /* @__PURE__ */ ((CriterionType2) => {
8402
8679
  CriterionType2["EXPRESSION"] = "expression";
@@ -8455,10 +8732,242 @@ var ConsentMethod = /* @__PURE__ */ ((ConsentMethod2) => {
8455
8732
  return ConsentMethod2;
8456
8733
  })(ConsentMethod || {});
8457
8734
 
8735
+ // src/types/generated/member_relationship.ts
8736
+ var MemberRelationshipKind = {
8737
+ parent_of: "parent_of",
8738
+ sibling_of: "sibling_of",
8739
+ spouse_of: "spouse_of",
8740
+ caregiver_of: "caregiver_of",
8741
+ emergency_contact_of: "emergency_contact_of",
8742
+ next_of_kin_of: "next_of_kin_of",
8743
+ legal_guardian_of: "legal_guardian_of",
8744
+ healthcare_agent_of: "healthcare_agent_of",
8745
+ doctor_of: "doctor_of",
8746
+ primary_contact_of: "primary_contact_of"
8747
+ };
8748
+ var RelatedMemberRole = {
8749
+ parent: "parent",
8750
+ child: "child",
8751
+ sibling: "sibling",
8752
+ spouse: "spouse",
8753
+ caregiver: "caregiver",
8754
+ care_recipient: "care_recipient",
8755
+ emergency_contact: "emergency_contact",
8756
+ emergency_contact_for: "emergency_contact_for",
8757
+ next_of_kin: "next_of_kin",
8758
+ next_of_kin_for: "next_of_kin_for",
8759
+ legal_guardian: "legal_guardian",
8760
+ legal_guardian_for: "legal_guardian_for",
8761
+ healthcare_agent: "healthcare_agent",
8762
+ healthcare_agent_for: "healthcare_agent_for",
8763
+ doctor: "doctor",
8764
+ patient: "patient",
8765
+ primary_contact: "primary_contact",
8766
+ primary_contact_for: "primary_contact_for"
8767
+ };
8768
+ var RelationshipCardinality = {
8769
+ many_to_many: "many_to_many",
8770
+ one_to_one: "one_to_one",
8771
+ one_per_target: "one_per_target"
8772
+ };
8773
+
8774
+ // src/types/generated/member_relationship_catalog.ts
8775
+ var MEMBER_RELATIONSHIP_KINDS = [
8776
+ {
8777
+ "kind": "parent_of",
8778
+ "cardinality": "many_to_many",
8779
+ "symmetric": false,
8780
+ "grantsChartAccess": false,
8781
+ "roles": [
8782
+ {
8783
+ "role": "parent",
8784
+ "label": "Parent",
8785
+ "inverseLabel": "Child",
8786
+ "description": "This person is a parent of the member. For a minor, also add Legal guardian if they should read the chart."
8787
+ },
8788
+ {
8789
+ "role": "child",
8790
+ "label": "Child",
8791
+ "inverseLabel": "Parent",
8792
+ "description": "This person is a child of the member."
8793
+ }
8794
+ ]
8795
+ },
8796
+ {
8797
+ "kind": "sibling_of",
8798
+ "cardinality": "many_to_many",
8799
+ "symmetric": true,
8800
+ "grantsChartAccess": false,
8801
+ "roles": [
8802
+ {
8803
+ "role": "sibling",
8804
+ "label": "Sibling",
8805
+ "inverseLabel": "Sibling",
8806
+ "description": "These members are siblings."
8807
+ }
8808
+ ]
8809
+ },
8810
+ {
8811
+ "kind": "spouse_of",
8812
+ "cardinality": "one_to_one",
8813
+ "symmetric": true,
8814
+ "grantsChartAccess": false,
8815
+ "roles": [
8816
+ {
8817
+ "role": "spouse",
8818
+ "label": "Spouse",
8819
+ "inverseLabel": "Spouse",
8820
+ "description": "These members are spouses or partners."
8821
+ }
8822
+ ]
8823
+ },
8824
+ {
8825
+ "kind": "caregiver_of",
8826
+ "cardinality": "many_to_many",
8827
+ "symmetric": false,
8828
+ "grantsChartAccess": false,
8829
+ "roles": [
8830
+ {
8831
+ "role": "caregiver",
8832
+ "label": "Caregiver",
8833
+ "inverseLabel": "Care recipient",
8834
+ "description": "This person provides care for the member at home."
8835
+ },
8836
+ {
8837
+ "role": "care_recipient",
8838
+ "label": "Care recipient",
8839
+ "inverseLabel": "Caregiver",
8840
+ "description": "This person receives care from the member."
8841
+ }
8842
+ ]
8843
+ },
8844
+ {
8845
+ "kind": "emergency_contact_of",
8846
+ "cardinality": "many_to_many",
8847
+ "symmetric": false,
8848
+ "grantsChartAccess": false,
8849
+ "roles": [
8850
+ {
8851
+ "role": "emergency_contact",
8852
+ "label": "Emergency contact",
8853
+ "inverseLabel": "Emergency contact for",
8854
+ "description": "This person is the member's emergency contact."
8855
+ },
8856
+ {
8857
+ "role": "emergency_contact_for",
8858
+ "label": "Emergency contact for",
8859
+ "inverseLabel": "Emergency contact",
8860
+ "description": "The member is listed as this person's emergency contact."
8861
+ }
8862
+ ]
8863
+ },
8864
+ {
8865
+ "kind": "next_of_kin_of",
8866
+ "cardinality": "one_per_target",
8867
+ "symmetric": false,
8868
+ "grantsChartAccess": false,
8869
+ "roles": [
8870
+ {
8871
+ "role": "next_of_kin",
8872
+ "label": "Next of kin",
8873
+ "inverseLabel": "Next of kin for",
8874
+ "description": "This person is the member's designated next of kin. A member has at most one."
8875
+ },
8876
+ {
8877
+ "role": "next_of_kin_for",
8878
+ "label": "Next of kin for",
8879
+ "inverseLabel": "Next of kin",
8880
+ "description": "The member is this person's designated next of kin."
8881
+ }
8882
+ ]
8883
+ },
8884
+ {
8885
+ "kind": "legal_guardian_of",
8886
+ "cardinality": "many_to_many",
8887
+ "symmetric": false,
8888
+ "grantsChartAccess": true,
8889
+ "roles": [
8890
+ {
8891
+ "role": "legal_guardian",
8892
+ "label": "Legal guardian",
8893
+ "inverseLabel": "Legal guardian for",
8894
+ "description": "Court-appointed guardian, or parent/person with parental responsibility for a minor."
8895
+ },
8896
+ {
8897
+ "role": "legal_guardian_for",
8898
+ "label": "Legal guardian for",
8899
+ "inverseLabel": "Legal guardian",
8900
+ "description": "The member is this person's legal guardian."
8901
+ }
8902
+ ]
8903
+ },
8904
+ {
8905
+ "kind": "healthcare_agent_of",
8906
+ "cardinality": "many_to_many",
8907
+ "symmetric": false,
8908
+ "grantsChartAccess": true,
8909
+ "roles": [
8910
+ {
8911
+ "role": "healthcare_agent",
8912
+ "label": "Healthcare agent",
8913
+ "inverseLabel": "Healthcare agent for",
8914
+ "description": "Healthcare power of attorney or health proxy."
8915
+ },
8916
+ {
8917
+ "role": "healthcare_agent_for",
8918
+ "label": "Healthcare agent for",
8919
+ "inverseLabel": "Healthcare agent",
8920
+ "description": "The member is this person's healthcare agent (healthcare power of attorney or health proxy)."
8921
+ }
8922
+ ]
8923
+ },
8924
+ {
8925
+ "kind": "doctor_of",
8926
+ "cardinality": "many_to_many",
8927
+ "symmetric": false,
8928
+ "grantsChartAccess": true,
8929
+ "roles": [
8930
+ {
8931
+ "role": "doctor",
8932
+ "label": "Doctor",
8933
+ "inverseLabel": "Patient",
8934
+ "description": "This person is a treating clinician for the member."
8935
+ },
8936
+ {
8937
+ "role": "patient",
8938
+ "label": "Patient",
8939
+ "inverseLabel": "Doctor",
8940
+ "description": "This person is a patient of the member."
8941
+ }
8942
+ ]
8943
+ },
8944
+ {
8945
+ "kind": "primary_contact_of",
8946
+ "cardinality": "one_per_target",
8947
+ "symmetric": false,
8948
+ "grantsChartAccess": true,
8949
+ "roles": [
8950
+ {
8951
+ "role": "primary_contact",
8952
+ "label": "Primary contact",
8953
+ "inverseLabel": "Primary contact for",
8954
+ "description": "This person is the organization's primary contact for the member. A member has at most one."
8955
+ },
8956
+ {
8957
+ "role": "primary_contact_for",
8958
+ "label": "Primary contact for",
8959
+ "inverseLabel": "Primary contact",
8960
+ "description": "The member is this person's assigned primary contact inside the organization."
8961
+ }
8962
+ ]
8963
+ }
8964
+ ];
8965
+
8458
8966
  // src/types/config-health-types.ts
8459
8967
  var CONFIG_HEALTH_FACADE_CHECK_SLUGS = [
8460
8968
  "workflow.config",
8461
8969
  "journey.authoring",
8970
+ "journey.v2_validation",
8462
8971
  "workflow.access",
8463
8972
  "routine.workflow_access",
8464
8973
  "workspace.validation"
@@ -8467,85 +8976,20 @@ function isConfigHealthFacadeCheckSlug(value) {
8467
8976
  return CONFIG_HEALTH_FACADE_CHECK_SLUGS.includes(value);
8468
8977
  }
8469
8978
 
8470
- // src/types/generated/activity_timeline.ts
8471
- var ActivityActorKind = {
8472
- member: "member",
8473
- agent: "agent",
8474
- operator: "operator",
8475
- event_rule: "event_rule",
8476
- api_key: "api_key",
8477
- system: "system"
8478
- };
8479
- var ActivityAggregationKind = {
8480
- burst: "burst",
8481
- conversation_session: "conversation_session",
8482
- operation: "operation"
8483
- };
8484
- var ActivityCaptureState = {
8485
- active: "active",
8486
- not_started: "not_started"
8979
+ // src/types/generated/ui_prompt.ts
8980
+ var UiPromptPresentedKind = {
8981
+ render_ui: "render_ui",
8982
+ present_choice_list: "present_choice_list",
8983
+ inline_connect: "inline_connect"
8487
8984
  };
8488
- var ActivityConfigAction = {
8489
- created: "created",
8490
- updated: "updated",
8491
- deleted: "deleted"
8985
+ var UiPromptResponseKind = {
8986
+ render_ui: "render_ui",
8987
+ present_choice_list: "present_choice_list",
8988
+ inline_connect: "inline_connect"
8492
8989
  };
8493
- var ActivityConfigArea = {
8494
- inbox: "inbox",
8495
- phone_number: "phone_number",
8496
- business_hours: "business_hours",
8497
- escalation_settings: "escalation_settings",
8498
- workspace_settings: "workspace_settings"
8499
- };
8500
- var ActivityCoverageLimitation = {
8501
- none: "none",
8502
- capture_started_at_cutover: "capture_started_at_cutover",
8503
- legacy_baseline_incomplete: "legacy_baseline_incomplete",
8504
- deletion_may_remove_history: "deletion_may_remove_history",
8505
- config_capture_started: "config_capture_started"
8506
- };
8507
- var ActivityDirection = {
8508
- inbound: "inbound",
8509
- outbound: "outbound"
8510
- };
8511
- var ActivityEmptyReason = {
8512
- collection: "collection",
8513
- period: "period",
8514
- filtered: "filtered"
8515
- };
8516
- var ActivityEventType = {
8517
- workflow_started: "workflow_started",
8518
- assignment_task_transition: "assignment_task_transition",
8519
- journey_status_changed: "journey_status_changed",
8520
- journey_step_status_changed: "journey_step_status_changed",
8521
- journey_goal_status_changed: "journey_goal_status_changed",
8522
- chat_started: "chat_started",
8523
- message: "message",
8524
- call: "call",
8525
- form_field_changed: "form_field_changed",
8526
- config_changed: "config_changed"
8527
- };
8528
- var ActivityEventTypePreset = {
8529
- communications: "communications",
8530
- formUpdates: "formUpdates",
8531
- workflowTask: "workflowTask",
8532
- journey: "journey",
8533
- configuration: "configuration"
8534
- };
8535
- var ActivityGoalImpact = {
8536
- neutral: "neutral",
8537
- success: "success",
8538
- attention: "attention",
8539
- failure: "failure"
8540
- };
8541
- var ActivityTimelineProjection = {
8542
- timeline: "timeline"
8543
- };
8544
- var FormValueDisposition = {
8545
- shown: "shown",
8546
- omitted_long: "omitted_long",
8547
- omitted_structured: "omitted_structured",
8548
- omitted_burst: "omitted_burst"
8990
+ var UiPromptResponseStatus = {
8991
+ submitted: "submitted",
8992
+ declined: "declined"
8549
8993
  };
8550
8994
 
8551
8995
  // src/types/experiment-types.ts
@@ -8696,11 +9140,31 @@ var WorkspaceInvitationsApi = class extends BaseApiClient {
8696
9140
  };
8697
9141
 
8698
9142
  // src/api/workspaces.ts
9143
+ function planFields(options) {
9144
+ if (!options) return {};
9145
+ const fields = {};
9146
+ if (options.intent !== void 0) fields.intent = options.intent;
9147
+ if (options.expectedPlanFingerprint !== void 0) {
9148
+ fields.expectedPlanFingerprint = options.expectedPlanFingerprint;
9149
+ }
9150
+ if (options.bindings !== void 0 && options.bindings.length > 0) {
9151
+ fields.bindings = options.bindings;
9152
+ }
9153
+ return fields;
9154
+ }
8699
9155
  var WorkspacesApi = class extends BaseApiClient {
8700
9156
  /** List all workspaces accessible to the current user. */
8701
9157
  async getWorkspaces() {
8702
9158
  return this.fetch("w/");
8703
9159
  }
9160
+ /**
9161
+ * Compact rows for the workspaces a companion device could enter — the
9162
+ * Lantern picker. Filtered by the same admission policy a device
9163
+ * credential is gated by, without needing the device credential.
9164
+ */
9165
+ async getDeviceAdmissibleWorkspaces() {
9166
+ return this.fetch("w/?can_use_device=1");
9167
+ }
8704
9168
  /** List all publicly visible workspaces. */
8705
9169
  async getPublicWorkspaces() {
8706
9170
  return this.fetch("w/public");
@@ -8994,18 +9458,62 @@ var WorkspacesApi = class extends BaseApiClient {
8994
9458
  const qs = searchParams.toString();
8995
9459
  return this.fetch(`w/${wid}/export${qs ? `?${qs}` : ""}`);
8996
9460
  }
8997
- /** Preview the result of importing workspace configuration without applying changes. */
8998
- async previewWorkspaceImport(wid, exportData, importMappings, createNew, autoMap) {
9461
+ /** Preview the result of importing workspace configuration without applying changes.
9462
+ *
9463
+ * Pass `options.intent = 'template_reapply'` to get the deterministic
9464
+ * re-apply plan: `planRows`, `sourceFingerprint` and `planFingerprint` come
9465
+ * back beside the legacy preview items, and the fingerprint is what
9466
+ * `importWorkspace` must be given to apply exactly that projection.
9467
+ */
9468
+ async previewWorkspaceImport(wid, exportData, importMappings, createNew, autoMap, options) {
8999
9469
  return this.fetch(`w/${wid}/preview-import`, {
9000
9470
  method: "POST",
9001
9471
  body: JSON.stringify({
9002
9472
  exportData,
9003
9473
  importMappings,
9004
9474
  createNew,
9005
- autoMap
9475
+ autoMap,
9476
+ ...planFields(options)
9006
9477
  })
9007
9478
  });
9008
9479
  }
9480
+ /**
9481
+ * Plan a workspace export ZIP against this workspace without importing it.
9482
+ *
9483
+ * The sibling of `previewWorkspaceImport`, and it exists for one reason: a
9484
+ * JSON preview has no archive, so it cannot decide whether File BYTES would
9485
+ * be replaced — that decision compares the archive's blob digest against the
9486
+ * destination's current content digest.
9487
+ */
9488
+ async previewWorkspaceImportZip(wid, archive, options) {
9489
+ const { exportData, importMappings, createNew, autoMap, ...planOptions } = options ?? {};
9490
+ const payload = {
9491
+ importMappings: importMappings ?? {},
9492
+ createNew: createNew ?? {},
9493
+ ...planFields(planOptions)
9494
+ };
9495
+ if (exportData) payload.exportData = exportData;
9496
+ if (autoMap) payload.autoMap = autoMap;
9497
+ const form = new FormData();
9498
+ form.append(
9499
+ "request",
9500
+ new Blob([JSON.stringify(payload)], { type: "application/json" }),
9501
+ "import.json"
9502
+ );
9503
+ form.append("archive", archive, "workspace-export.zip");
9504
+ return this.fetch(`w/${wid}/preview-import.zip`, {
9505
+ method: "POST",
9506
+ body: form
9507
+ });
9508
+ }
9509
+ /**
9510
+ * Everything a template re-apply adds to an import or a preview.
9511
+ *
9512
+ * `bindings` values are sent in the request body only. They are never
9513
+ * projected from a response and must never be logged: the point of a
9514
+ * binding is that a webhook endpoint and a signing secret belong to ONE
9515
+ * target workspace.
9516
+ */
9009
9517
  /** Download a workspace export ZIP (``export.json`` + file blobs). */
9010
9518
  async exportWorkspaceZip(wid, workflowId, scope, exclude) {
9011
9519
  const searchParams = new URLSearchParams();
@@ -9019,46 +9527,138 @@ var WorkspacesApi = class extends BaseApiClient {
9019
9527
  /** Import workspace configuration from exported JSON, or from a ZIP archive.
9020
9528
  * Pass ``archive`` (the ZIP from ``exportWorkspaceZip``) to restore file
9021
9529
  * contents. ``exportData`` may be omitted when the ZIP contains it.
9022
- */
9023
- async importWorkspace(wid, exportData, importMappings, createNew, archive) {
9024
- const payload = {
9025
- importMappings,
9026
- createNew
9027
- };
9028
- if (exportData) {
9029
- payload.exportData = exportData;
9030
- }
9530
+ *
9531
+ * ``activateWebhookRules`` is safety-default false: imported
9532
+ * ``webhook:send`` EventRules are force-disabled unless the operator
9533
+ * opts in. An exported-inactive rule stays inactive either way.
9534
+ *
9535
+ * With ``options.intent = 'template_reapply'`` this is the GUARDED apply.
9536
+ * It requires ``options.expectedPlanFingerprint`` — the digest a preview
9537
+ * returned — and answers 200 ``success``, 200 ``noop`` (the target already
9538
+ * matched the template, so nothing at all was recorded), 409
9539
+ * ``stale_import_plan`` or 409 ``import_plan_refused``. Both 409s commit
9540
+ * nothing and carry the complete values-free ``planRows``.
9541
+ */
9542
+ async importWorkspace(wid, exportData, importMappings, createNew, archive, activateWebhookRules, autoMap, options) {
9031
9543
  if (archive) {
9032
- const form = new FormData();
9033
- form.append(
9034
- "request",
9035
- new Blob([JSON.stringify(payload)], { type: "application/json" }),
9036
- "import.json"
9037
- );
9038
- form.append("archive", archive, "workspace-export.zip");
9039
- return this.fetch(`w/${wid}/import.zip`, {
9040
- method: "POST",
9041
- body: form
9544
+ return this.importWorkspaceZip(wid, archive, {
9545
+ ...options,
9546
+ exportData,
9547
+ importMappings,
9548
+ createNew,
9549
+ autoMap,
9550
+ activateWebhookRules
9042
9551
  });
9043
9552
  }
9044
9553
  if (!exportData) {
9045
9554
  throw new Error("exportData is required for JSON import");
9046
9555
  }
9556
+ const payload = {
9557
+ exportData,
9558
+ importMappings,
9559
+ createNew,
9560
+ ...planFields(options)
9561
+ };
9562
+ if (activateWebhookRules) {
9563
+ payload.activateWebhookRules = activateWebhookRules;
9564
+ }
9565
+ if (autoMap) {
9566
+ payload.autoMap = autoMap;
9567
+ }
9047
9568
  return this.fetch(`w/${wid}/import`, {
9048
9569
  method: "POST",
9049
9570
  body: JSON.stringify(payload)
9050
9571
  });
9051
9572
  }
9573
+ /**
9574
+ * Apply a workspace export ZIP to this workspace.
9575
+ *
9576
+ * The apply sibling of `previewWorkspaceImportZip`, and the same multipart
9577
+ * shape: the archive travels as `archive`, everything else as one JSON
9578
+ * `request` part. `exportData` defaults to `export.json` inside the ZIP, so
9579
+ * it is sent only to override it.
9580
+ *
9581
+ * With `options.intent = 'template_reapply'` this is the GUARDED apply. It
9582
+ * requires `options.expectedPlanFingerprint` — the digest a preview
9583
+ * returned — and answers 200 `success`, 200 `noop` (the target already
9584
+ * matched the template, so nothing at all was recorded), 409
9585
+ * `stale_import_plan` or 409 `import_plan_refused`. Both 409s commit
9586
+ * nothing and carry the complete values-free `planRows`.
9587
+ *
9588
+ * `options.bindings` values are sent in the request body only. They are
9589
+ * never projected from a response and must never be logged: the point of a
9590
+ * binding is that a webhook endpoint and a signing secret belong to ONE
9591
+ * target workspace.
9592
+ */
9593
+ async importWorkspaceZip(wid, archive, options) {
9594
+ const {
9595
+ exportData,
9596
+ importMappings,
9597
+ createNew,
9598
+ autoMap,
9599
+ activateWebhookRules,
9600
+ ...planOptions
9601
+ } = options ?? {};
9602
+ const payload = {
9603
+ importMappings: importMappings ?? {},
9604
+ createNew: createNew ?? {},
9605
+ ...planFields(planOptions)
9606
+ };
9607
+ if (exportData) payload.exportData = exportData;
9608
+ if (activateWebhookRules) payload.activateWebhookRules = activateWebhookRules;
9609
+ if (autoMap) payload.autoMap = autoMap;
9610
+ const form = new FormData();
9611
+ form.append(
9612
+ "request",
9613
+ new Blob([JSON.stringify(payload)], { type: "application/json" }),
9614
+ "import.json"
9615
+ );
9616
+ form.append("archive", archive, "workspace-export.zip");
9617
+ return this.fetch(`w/${wid}/import.zip`, {
9618
+ method: "POST",
9619
+ body: form
9620
+ });
9621
+ }
9622
+ /**
9623
+ * Reconnectable EventRules skipped by the latest workspace import, grouped
9624
+ * by the missing phone / inbox / member. Templates and action params are
9625
+ * not returned.
9626
+ */
9627
+ async getImportSkippedRules(wid, status) {
9628
+ const params = new URLSearchParams();
9629
+ if (status !== void 0) {
9630
+ params.set("status", status);
9631
+ }
9632
+ const qs = params.toString();
9633
+ return this.fetch(
9634
+ `w/${wid}/import/skipped-rules${qs ? `?${qs}` : ""}`
9635
+ );
9636
+ }
9637
+ /** Current bounded phone, inbox, and phone-chat binding gaps after an import. */
9638
+ async getImportReadiness(wid) {
9639
+ return this.fetch(`w/${wid}/import/readiness`);
9640
+ }
9641
+ /**
9642
+ * Re-point every outstanding skipped EventRule that needed the same source
9643
+ * resource onto a re-provisioned one, recreating each rule from its
9644
+ * preserved definition. Repeat calls no-op on already-reconnected rows.
9645
+ */
9646
+ async rebuildImportSkippedRules(wid, body) {
9647
+ return this.fetch(
9648
+ `w/${wid}/import/skipped-rules/rebuild`,
9649
+ { method: "POST", body: JSON.stringify(body) }
9650
+ );
9651
+ }
9052
9652
  /** Preview a workspace import using the legacy untyped interface. */
9053
9653
  // Legacy method for backward compatibility
9054
- async previewImportWorkspace(wid, exportData, importMappings = {}, createNew = {}) {
9654
+ async previewImportWorkspace(wid, exportData, importMappings = {}, createNew = {}, autoMap) {
9655
+ const payload = { exportData, importMappings, createNew };
9656
+ if (autoMap) {
9657
+ payload.autoMap = autoMap;
9658
+ }
9055
9659
  return this.fetch(`w/${wid}/preview-import`, {
9056
9660
  method: "POST",
9057
- body: JSON.stringify({
9058
- exportData,
9059
- importMappings,
9060
- createNew
9061
- })
9661
+ body: JSON.stringify(payload)
9062
9662
  });
9063
9663
  }
9064
9664
  /** List available themes for a workspace. */
@@ -9173,36 +9773,35 @@ var DashboardsApi = class extends BaseApiClient {
9173
9773
 
9174
9774
  // src/api/devices.ts
9175
9775
  var DevicesApi = class extends BaseApiClient {
9176
- /** List devices visible to the caller (own devices, or all with devices:admin). */
9177
- async getDevices(wid, options = {}) {
9178
- const qs = options.mine ? "?mine=true" : "";
9179
- return this.fetch(`w/${wid}/devices${qs}`);
9776
+ /** List devices owned by the current Account. */
9777
+ async getDevices() {
9778
+ return this.fetch("account/devices");
9180
9779
  }
9181
- /** Fetch one device by UUID. Non-owners without devices:admin receive 404. */
9182
- async getDevice(wid, deviceUuid) {
9183
- return this.fetch(`w/${wid}/devices/${deviceUuid}`);
9780
+ /** Fetch one device owned by the current Account. Other devices return 404. */
9781
+ async getDevice(deviceUuid) {
9782
+ return this.fetch(`account/devices/${deviceUuid}`);
9184
9783
  }
9185
9784
  /** List shippable companion-device products (Lantern, later SKUs). */
9186
- async getDeviceKinds(wid) {
9187
- return this.fetch(`w/${wid}/devices/kinds`);
9785
+ async getDeviceKinds() {
9786
+ return this.fetch("account/devices/kinds");
9188
9787
  }
9189
- /** Claim a pairing code shown on a companion device. Requires devices:write. */
9190
- async claimDevicePairing(wid, body) {
9191
- return this.fetch(`w/${wid}/devices/pairing/claim`, {
9788
+ /** Claim a pairing code shown on a companion device for the current Account. */
9789
+ async claimDevicePairing(body) {
9790
+ return this.fetch("account/devices/pairing/claim", {
9192
9791
  method: "POST",
9193
9792
  body: JSON.stringify(body)
9194
9793
  });
9195
9794
  }
9196
- /** Update display name and/or LAN capability flags. Requires devices:write. */
9197
- async updateDevice(wid, deviceUuid, body) {
9198
- return this.fetch(`w/${wid}/devices/${deviceUuid}`, {
9795
+ /** Update display name and/or LAN capability flags on an owned device. */
9796
+ async updateDevice(deviceUuid, body) {
9797
+ return this.fetch(`account/devices/${deviceUuid}`, {
9199
9798
  method: "PATCH",
9200
9799
  body: JSON.stringify(body)
9201
9800
  });
9202
9801
  }
9203
- /** Revoke a device credential. The device must pair again. Requires devices:write. */
9204
- async revokeDevice(wid, deviceUuid) {
9205
- return this.fetch(`w/${wid}/devices/${deviceUuid}/revoke`, {
9802
+ /** Revoke an owned device credential. The device must pair again. */
9803
+ async revokeDevice(deviceUuid) {
9804
+ return this.fetch(`account/devices/${deviceUuid}/revoke`, {
9206
9805
  method: "POST",
9207
9806
  body: JSON.stringify({})
9208
9807
  });
@@ -9383,11 +9982,155 @@ var PatientSyncConnectionsApi = class extends BaseApiClient {
9383
9982
  }
9384
9983
  };
9385
9984
 
9386
- // src/api/activity-timeline.ts
9387
- var ActivityTimelineApi = class extends BaseApiClient {
9388
- /** One page of activity. Omit `cursor` for a fresh snapshot. */
9389
- async queryActivityTimeline(wid, request = {}) {
9390
- return this.fetch(`w/${wid}/activity-timeline/query`, {
9985
+ // src/api/activity.ts
9986
+ var ActivityApi = class extends BaseApiClient {
9987
+ /** The account mount: this caller's whole estate, at any grain. */
9988
+ async queryActivity(request) {
9989
+ return this.fetch("activity/query", {
9990
+ method: "POST",
9991
+ body: JSON.stringify(request)
9992
+ });
9993
+ }
9994
+ /**
9995
+ * Latest admitted event for each workspace-qualified Activity subject.
9996
+ * Scope authorization and any event-type leaf authorization are both
9997
+ * applied before a subject is returned.
9998
+ */
9999
+ async queryActivityLatestSubjects(request) {
10000
+ return this.fetch("activity/latest-subjects", {
10001
+ method: "POST",
10002
+ body: JSON.stringify(request)
10003
+ });
10004
+ }
10005
+ /**
10006
+ * The account mount's priority lane — one queue per human. `openedAfter`
10007
+ * may bound the active backlog without changing the priority policy.
10008
+ */
10009
+ async queryActivityOpenItems(request = {}) {
10010
+ return this.fetch("activity/open-items", {
10011
+ method: "POST",
10012
+ body: JSON.stringify(request)
10013
+ });
10014
+ }
10015
+ /**
10016
+ * The account mount's one view: one stream of occurrences, some carrying
10017
+ * open state. The window bounds the event axis; open items older than it
10018
+ * arrive as `olderOpenCount`, never hidden.
10019
+ */
10020
+ async queryActivityOneView(request) {
10021
+ return this.fetch("activity/one-view", {
10022
+ method: "POST",
10023
+ body: JSON.stringify(request)
10024
+ });
10025
+ }
10026
+ /** The account mount's badge numbers. */
10027
+ async getActivityCounts(request = {}) {
10028
+ return this.fetch("activity/counts", {
10029
+ method: "POST",
10030
+ body: JSON.stringify(request)
10031
+ });
10032
+ }
10033
+ /**
10034
+ * What this caller's estate admits, so a client renders honest controls.
10035
+ *
10036
+ * Account mount only, and deliberately so: the org and workspace mounts
10037
+ * answer the same question through the surfaces that already serve their
10038
+ * membership. Not an authorization decision — every read re-derives that.
10039
+ */
10040
+ async getActivityCapabilities() {
10041
+ return this.fetch("activity/capabilities", { method: "GET" });
10042
+ }
10043
+ /** The org mount. `org:info` is the entry gate; `org:read` widens the rows. */
10044
+ async queryOrgActivity(orgUuid, request) {
10045
+ return this.fetch(`o/${orgUuid}/activity/query`, {
10046
+ method: "POST",
10047
+ body: JSON.stringify(request)
10048
+ });
10049
+ }
10050
+ async queryOrgActivityLatestSubjects(orgUuid, request) {
10051
+ return this.fetch(`o/${orgUuid}/activity/latest-subjects`, {
10052
+ method: "POST",
10053
+ body: JSON.stringify(request)
10054
+ });
10055
+ }
10056
+ /** The org mount's priority lane. */
10057
+ async queryOrgActivityOpenItems(orgUuid, request = {}) {
10058
+ return this.fetch(`o/${orgUuid}/activity/open-items`, {
10059
+ method: "POST",
10060
+ body: JSON.stringify(request)
10061
+ });
10062
+ }
10063
+ /** The org mount's one view. */
10064
+ async queryOrgActivityOneView(orgUuid, request) {
10065
+ return this.fetch(`o/${orgUuid}/activity/one-view`, {
10066
+ method: "POST",
10067
+ body: JSON.stringify(request)
10068
+ });
10069
+ }
10070
+ /** The org mount's badge numbers. */
10071
+ async getOrgActivityCounts(orgUuid, request = {}) {
10072
+ return this.fetch(`o/${orgUuid}/activity/counts`, {
10073
+ method: "POST",
10074
+ body: JSON.stringify(request)
10075
+ });
10076
+ }
10077
+ /** The workspace mount. The request's own member session carries its scopes. */
10078
+ async queryWorkspaceActivity(workspaceUuid, request) {
10079
+ return this.fetch(`w/${workspaceUuid}/activity/query`, {
10080
+ method: "POST",
10081
+ body: JSON.stringify(request)
10082
+ });
10083
+ }
10084
+ async queryWorkspaceActivityLatestSubjects(workspaceUuid, request) {
10085
+ return this.fetch(`w/${workspaceUuid}/activity/latest-subjects`, {
10086
+ method: "POST",
10087
+ body: JSON.stringify(request)
10088
+ });
10089
+ }
10090
+ /** The workspace mount's priority lane. */
10091
+ async queryWorkspaceActivityOpenItems(workspaceUuid, request = {}) {
10092
+ return this.fetch(`w/${workspaceUuid}/activity/open-items`, {
10093
+ method: "POST",
10094
+ body: JSON.stringify(request)
10095
+ });
10096
+ }
10097
+ /** The workspace mount's one view. */
10098
+ async queryWorkspaceActivityOneView(workspaceUuid, request) {
10099
+ return this.fetch(`w/${workspaceUuid}/activity/one-view`, {
10100
+ method: "POST",
10101
+ body: JSON.stringify(request)
10102
+ });
10103
+ }
10104
+ /** The workspace mount's badge numbers. */
10105
+ async getWorkspaceActivityCounts(workspaceUuid, request = {}) {
10106
+ return this.fetch(`w/${workspaceUuid}/activity/counts`, {
10107
+ method: "POST",
10108
+ body: JSON.stringify(request)
10109
+ });
10110
+ }
10111
+ /**
10112
+ * Hydrate a page of typed refs in one round trip.
10113
+ *
10114
+ * The relief valve the design names for chatty hydration, and the by-UUID
10115
+ * read path most entity kinds otherwise lack: nineteen kinds resolve here,
10116
+ * each through the workspace's own live authorizers under the caller's
10117
+ * session. One request per workspace per listing, instead of one per ref.
10118
+ *
10119
+ * **Every requested ref comes back**, in the order it was sent and
10120
+ * deduplicated on `(kind, uuid)`. A ref the caller may not see is an entry
10121
+ * with `status: 'unresolved'` — never a 404, and never an omission, so a
10122
+ * page's ability to render never depends on what it happens to name.
10123
+ * `status: 'unsupported'` means this build has no by-UUID path for that
10124
+ * kind at all (account, org, workspace, domain, subscription and the
10125
+ * commerce kinds; see the resolve registry for each one's reason) — those
10126
+ * resolve through the mount that owns them, and retrying here will not
10127
+ * help.
10128
+ *
10129
+ * PHI: resolved labels are member-identifying data. They belong in the UI
10130
+ * and nowhere else — never a log line, never an error message.
10131
+ */
10132
+ async resolveEntityRefs(workspaceUuid, request) {
10133
+ return this.fetch(`w/${workspaceUuid}/entity-refs/resolve`, {
9391
10134
  method: "POST",
9392
10135
  body: JSON.stringify(request)
9393
10136
  });
@@ -9415,6 +10158,10 @@ var MotdApi = class extends BaseApiClient {
9415
10158
 
9416
10159
  // src/api/intervention-requests.ts
9417
10160
  var InterventionRequestsApi = class extends BaseApiClient {
10161
+ /** List every visible Chat that currently needs attention in Agent Mode. */
10162
+ async getAgentModeAttention(wid) {
10163
+ return this.fetch(`w/${wid}/agent-mode/attention`);
10164
+ }
9418
10165
  /** List intervention requests in a workspace, newest first. */
9419
10166
  async getInterventionRequests(wid, params = {}) {
9420
10167
  const query = new URLSearchParams();
@@ -9428,6 +10175,23 @@ var InterventionRequestsApi = class extends BaseApiClient {
9428
10175
  `w/${wid}/intervention-requests${qs ? `?${qs}` : ""}`
9429
10176
  );
9430
10177
  }
10178
+ /**
10179
+ * Resolve one intervention request. One row, one resolution — whoever takes
10180
+ * it closes it for everyone who was notified. Resolving an already-resolved
10181
+ * request is a 409 conflict; a non-escalation request is a 409 too.
10182
+ *
10183
+ * The JSON body (empty when no note is supplied) is required as a CSRF
10184
+ * barrier (GRA-6284), so a cross-site form POST cannot reach it.
10185
+ */
10186
+ async resolveInterventionRequest(wid, requestId, params = {}) {
10187
+ return this.fetch(
10188
+ `w/${wid}/intervention-requests/${requestId}/resolve`,
10189
+ {
10190
+ method: "POST",
10191
+ body: JSON.stringify(params)
10192
+ }
10193
+ );
10194
+ }
9431
10195
  };
9432
10196
 
9433
10197
  // src/api/metrics.ts
@@ -9746,7 +10510,7 @@ function createApiModules(apiKey, baseUrl, customFetch) {
9746
10510
  connectionSync: new ConnectionSyncApi(apiKey, baseUrl, customFetch),
9747
10511
  mcpServers: new McpServersApi(apiKey, baseUrl, customFetch),
9748
10512
  members: new MembersApi(apiKey, baseUrl, customFetch),
9749
- activityTimeline: new ActivityTimelineApi(apiKey, baseUrl, customFetch),
10513
+ activity: new ActivityApi(apiKey, baseUrl, customFetch),
9750
10514
  motd: new MotdApi(apiKey, baseUrl, customFetch),
9751
10515
  trackedLinks: new TrackedLinksApi(apiKey, baseUrl, customFetch),
9752
10516
  confluence: new ConfluenceApi(apiKey, baseUrl, customFetch),
@@ -9793,6 +10557,8 @@ var WORKSPACE_METHOD_NAMES = [
9793
10557
  "archiveDataType",
9794
10558
  "archiveJourney",
9795
10559
  "archiveMember",
10560
+ "archiveMemberRelationship",
10561
+ "archivePersona",
9796
10562
  "archivePhoneNumber",
9797
10563
  "archiveStep",
9798
10564
  "archiveTask",
@@ -9845,6 +10611,8 @@ var WORKSPACE_METHOD_NAMES = [
9845
10611
  "createCalendarEventType",
9846
10612
  "createCalendarSchedule",
9847
10613
  "createChat",
10614
+ "createChatInteractionSession",
10615
+ "transitionChatInteractionSession",
9848
10616
  "createChatCompletion",
9849
10617
  "createChatFilter",
9850
10618
  "createChatLabel",
@@ -9874,6 +10642,7 @@ var WORKSPACE_METHOD_NAMES = [
9874
10642
  "createMemberFilter",
9875
10643
  "createMemberLabel",
9876
10644
  "createMemberMemory",
10645
+ "createMemberRelationship",
9877
10646
  "createMemberRole",
9878
10647
  "createMenuItem",
9879
10648
  "createNotificationRule",
@@ -9976,7 +10745,6 @@ var WORKSPACE_METHOD_NAMES = [
9976
10745
  "disconnectConfluence",
9977
10746
  "disconnectHubspot",
9978
10747
  "disconnectMondayConnection",
9979
- "disconnectPresence",
9980
10748
  "disconnectSalesforce",
9981
10749
  "discordLinkPreflight",
9982
10750
  "discoverOAuthMetadata",
@@ -10039,6 +10807,7 @@ var WORKSPACE_METHOD_NAMES = [
10039
10807
  "getAccessGrant",
10040
10808
  "getAccessGrants",
10041
10809
  "getAgent",
10810
+ "getAgentModeAttention",
10042
10811
  "getAgentTask",
10043
10812
  "getAgentTaskMessages",
10044
10813
  "getAgentTasks",
@@ -10070,7 +10839,9 @@ var WORKSPACE_METHOD_NAMES = [
10070
10839
  "getCharlestonTestDeliveryRecipients",
10071
10840
  "getChat",
10072
10841
  "getChatAssignmentTasks",
10842
+ "getChatBrowserLiveView",
10073
10843
  "getChatCallbacks",
10844
+ "getChatEhrWritebackOutcomes",
10074
10845
  "getChatEmails",
10075
10846
  "getChatFilter",
10076
10847
  "getChatFilterByUuid",
@@ -10079,6 +10850,7 @@ var WORKSPACE_METHOD_NAMES = [
10079
10850
  "getChatLabel",
10080
10851
  "getChatLabelByUuid",
10081
10852
  "getChatLabels",
10853
+ "getChatMachineResources",
10082
10854
  "getChatMessages",
10083
10855
  "getChatModelOverride",
10084
10856
  "getChatPhoneCalls",
@@ -10119,6 +10891,8 @@ var WORKSPACE_METHOD_NAMES = [
10119
10891
  "getDataRecordFilters",
10120
10892
  "getDataRecords",
10121
10893
  "getDataType",
10894
+ "getDataTypeDraft",
10895
+ "getDataTypeVersions",
10122
10896
  "getDataTypeByUuid",
10123
10897
  "getDataTypeBySlug",
10124
10898
  "getDataTypes",
@@ -10162,9 +10936,15 @@ var WORKSPACE_METHOD_NAMES = [
10162
10936
  "listChatRecordings",
10163
10937
  "previewQuery",
10164
10938
  "publishSiteSource",
10165
- "queryActivityTimeline",
10939
+ "publishDataTypeDraft",
10940
+ "saveDataTypeDraft",
10941
+ "queryWorkspaceActivity",
10942
+ "queryWorkspaceActivityLatestSubjects",
10943
+ "queryWorkspaceActivityOpenItems",
10944
+ "queryWorkspaceActivityOneView",
10166
10945
  "registerDiscordSlashCommands",
10167
10946
  "reopenWorkspaceSupportRequest",
10947
+ "resolveEntityRefs",
10168
10948
  "resetSiteSource",
10169
10949
  "resolveFilePath",
10170
10950
  "getFileLabel",
@@ -10192,16 +10972,22 @@ var WORKSPACE_METHOD_NAMES = [
10192
10972
  "getHubspotSyncLogs",
10193
10973
  "getHubspotTransformPresets",
10194
10974
  "getICalFeedUrl",
10975
+ "getImportSkippedRules",
10976
+ "getImportReadiness",
10977
+ "rebuildImportSkippedRules",
10195
10978
  "getInbox",
10196
10979
  "getInboxEmail",
10197
10980
  "getInboxEmails",
10198
10981
  "getInboxThreads",
10199
10982
  "getInboxes",
10983
+ "getInterventionRequests",
10200
10984
  "getJourney",
10201
10985
  "getJourneyAuthoring",
10986
+ "getJourneyFilterOptions",
10202
10987
  "getJourneyHealth",
10203
10988
  "getJourneyMembers",
10204
10989
  "getJourneyNotes",
10990
+ "getJourneyV2Validation",
10205
10991
  "getJourneys",
10206
10992
  "getLinkablePhones",
10207
10993
  "getLinkedHealthieMembers",
@@ -10229,6 +11015,7 @@ var WORKSPACE_METHOD_NAMES = [
10229
11015
  "getMemberMemories",
10230
11016
  "getMemberMemory",
10231
11017
  "getMemberRecordCounts",
11018
+ "getMemberRelationships",
10232
11019
  "getMemberRole",
10233
11020
  "getMemberRoleCleanupPlan",
10234
11021
  "getMemberRoleByUuid",
@@ -10277,8 +11064,6 @@ var WORKSPACE_METHOD_NAMES = [
10277
11064
  "getPublicFolder",
10278
11065
  "getPublicFolderFiles",
10279
11066
  "getPublicProducts",
10280
- "previewPromoCode",
10281
- "startPromoPlanTrial",
10282
11067
  "getQualification",
10283
11068
  "getQualifications",
10284
11069
  "getRecordingInfo",
@@ -10333,10 +11118,10 @@ var WORKSPACE_METHOD_NAMES = [
10333
11118
  "getUnreadNotificationCount",
10334
11119
  "getUsageDashboard",
10335
11120
  "getVariableRegistry",
10336
- "getVoiceToken",
10337
11121
  "getVoiceUsageReport",
10338
11122
  "getWebhookLogs",
10339
11123
  "getWorkflow",
11124
+ "getWorkflowOpeningTurnConversionReport",
10340
11125
  "getWorkflowAccessValidation",
10341
11126
  "getWorkflowActivity",
10342
11127
  "getWorkflowConfigValidation",
@@ -10353,6 +11138,7 @@ var WORKSPACE_METHOD_NAMES = [
10353
11138
  "getWorkflows",
10354
11139
  "getWorkflowsActivityBatch",
10355
11140
  "getWorkspace",
11141
+ "getWorkspaceActivityCounts",
10356
11142
  "getWorkspaceBuilder",
10357
11143
  "getWorkspaceBuilders",
10358
11144
  "getWorkspaceCounts",
@@ -10372,7 +11158,7 @@ var WORKSPACE_METHOD_NAMES = [
10372
11158
  "importMembers",
10373
11159
  "importSalesforceMembers",
10374
11160
  "importWorkspace",
10375
- "initiateCall",
11161
+ "importWorkspaceZip",
10376
11162
  "initiateOutboundCall",
10377
11163
  "inspectPrompt",
10378
11164
  "installHubspot",
@@ -10429,14 +11215,17 @@ var WORKSPACE_METHOD_NAMES = [
10429
11215
  "previewMemberWorkflowVoice",
10430
11216
  "previewRenameFieldSlug",
10431
11217
  "previewImportWorkspace",
11218
+ "previewRoutineVoiceReadiness",
10432
11219
  "previewRoutineWorkflowAccess",
10433
11220
  "previewSchedule",
10434
11221
  "previewTTS",
10435
11222
  "previewTemplate",
10436
11223
  "previewThinkingSound",
10437
11224
  "previewWorkspaceImport",
11225
+ "previewWorkspaceImportZip",
10438
11226
  "provisionClientWorkspace",
10439
11227
  "publishWorkflowRevision",
11228
+ "putJourneyV2Definition",
10440
11229
  "rateMessage",
10441
11230
  "getChatFeedback",
10442
11231
  "reenrollMember",
@@ -10457,6 +11246,7 @@ var WORKSPACE_METHOD_NAMES = [
10457
11246
  "resetRoutineRuns",
10458
11247
  "resolveAccessGrant",
10459
11248
  "resolveAnonymousMember",
11249
+ "resolveInterventionRequest",
10460
11250
  "restoreFileVersion",
10461
11251
  "revokeAccessGrant",
10462
11252
  "revokeApiKey",
@@ -10497,6 +11287,7 @@ var WORKSPACE_METHOD_NAMES = [
10497
11287
  "unarchiveChat",
10498
11288
  "unarchiveDataType",
10499
11289
  "unarchiveMember",
11290
+ "unarchivePersona",
10500
11291
  "unarchiveStep",
10501
11292
  "unarchiveTask",
10502
11293
  "unarchiveWorkflow",
@@ -10585,6 +11376,7 @@ var WORKSPACE_METHOD_NAMES = [
10585
11376
  "uploadFile",
10586
11377
  "updateVoicemailStatus",
10587
11378
  "updateWorkflow",
11379
+ "convertWorkflowStartTaskOpeningMessage",
10588
11380
  "updateWorkflowContributor",
10589
11381
  "updateWorkflowNote",
10590
11382
  "updateWorkflowRevisionMetadata",
@@ -10631,6 +11423,13 @@ function bindAccessGrantsMethods(target, accessGrants) {
10631
11423
  target.getGranteeGrants = accessGrants.getGranteeGrants.bind(accessGrants);
10632
11424
  }
10633
11425
 
11426
+ // src/client/bindings/intervention-requests.ts
11427
+ function bindInterventionRequestsMethods(target, interventionRequests) {
11428
+ target.getAgentModeAttention = interventionRequests.getAgentModeAttention.bind(interventionRequests);
11429
+ target.getInterventionRequests = interventionRequests.getInterventionRequests.bind(interventionRequests);
11430
+ target.resolveInterventionRequest = interventionRequests.resolveInterventionRequest.bind(interventionRequests);
11431
+ }
11432
+
10634
11433
  // src/client/bindings/agent-tasks.ts
10635
11434
  function bindAgentTasksMethods(target, api) {
10636
11435
  target.getAgentTasks = api.getAgentTasks.bind(api);
@@ -10671,10 +11470,15 @@ function bindTasksMethods(target, tasks, abilities) {
10671
11470
 
10672
11471
  // src/client/bindings/chats.ts
10673
11472
  function bindChatsMethods(target, chats) {
11473
+ target.createChatInteractionSession = chats.createChatInteractionSession.bind(chats);
11474
+ target.transitionChatInteractionSession = chats.transitionChatInteractionSession.bind(chats);
10674
11475
  target.getChats = chats.getChats.bind(chats);
10675
11476
  target.getChat = chats.getChat.bind(chats);
11477
+ target.getChatBrowserLiveView = chats.getChatBrowserLiveView.bind(chats);
11478
+ target.getChatMachineResources = chats.getChatMachineResources.bind(chats);
10676
11479
  target.getCurrentSmsChat = chats.getCurrentSmsChat.bind(chats);
10677
11480
  target.getChatCallbacks = chats.getChatCallbacks.bind(chats);
11481
+ target.getChatEhrWritebackOutcomes = chats.getChatEhrWritebackOutcomes.bind(chats);
10678
11482
  target.cancelChatCallback = chats.cancelChatCallback.bind(chats);
10679
11483
  target.getChatTokenUsage = chats.getChatTokenUsage.bind(chats);
10680
11484
  target.getChatTodos = chats.getChatTodos.bind(chats);
@@ -10727,8 +11531,6 @@ function bindChatsMethods(target, chats) {
10727
11531
  // src/client/bindings/calls.ts
10728
11532
  function bindCallsMethods(target, calls, cel) {
10729
11533
  target.getPhoneCalls = calls.getPhoneCalls.bind(calls);
10730
- target.initiateCall = calls.initiateCall.bind(calls);
10731
- target.getVoiceToken = calls.getVoiceToken.bind(calls);
10732
11534
  target.getMessageTiming = calls.getMessageTiming.bind(calls);
10733
11535
  target.getRecordingInfo = calls.getRecordingInfo.bind(calls);
10734
11536
  target.listChatRecordings = calls.listChatRecordings.bind(calls);
@@ -10749,9 +11551,25 @@ function bindDashboardsMethods(target, dashboards) {
10749
11551
  target.getConfigurationHealth = dashboards.getConfigurationHealth.bind(dashboards);
10750
11552
  }
10751
11553
 
10752
- // src/client/bindings/activity-timeline.ts
10753
- function bindActivityTimelineMethods(target, activityTimeline) {
10754
- target.queryActivityTimeline = activityTimeline.queryActivityTimeline.bind(activityTimeline);
11554
+ // src/client/bindings/activity.ts
11555
+ function bindActivityMethods(target, activity) {
11556
+ target.queryActivity = activity.queryActivity.bind(activity);
11557
+ target.queryActivityLatestSubjects = activity.queryActivityLatestSubjects.bind(activity);
11558
+ target.queryActivityOpenItems = activity.queryActivityOpenItems.bind(activity);
11559
+ target.queryActivityOneView = activity.queryActivityOneView.bind(activity);
11560
+ target.getActivityCounts = activity.getActivityCounts.bind(activity);
11561
+ target.getActivityCapabilities = activity.getActivityCapabilities.bind(activity);
11562
+ target.queryOrgActivity = activity.queryOrgActivity.bind(activity);
11563
+ target.queryOrgActivityLatestSubjects = activity.queryOrgActivityLatestSubjects.bind(activity);
11564
+ target.queryOrgActivityOpenItems = activity.queryOrgActivityOpenItems.bind(activity);
11565
+ target.queryOrgActivityOneView = activity.queryOrgActivityOneView.bind(activity);
11566
+ target.getOrgActivityCounts = activity.getOrgActivityCounts.bind(activity);
11567
+ target.queryWorkspaceActivity = activity.queryWorkspaceActivity.bind(activity);
11568
+ target.queryWorkspaceActivityLatestSubjects = activity.queryWorkspaceActivityLatestSubjects.bind(activity);
11569
+ target.queryWorkspaceActivityOpenItems = activity.queryWorkspaceActivityOpenItems.bind(activity);
11570
+ target.queryWorkspaceActivityOneView = activity.queryWorkspaceActivityOneView.bind(activity);
11571
+ target.getWorkspaceActivityCounts = activity.getWorkspaceActivityCounts.bind(activity);
11572
+ target.resolveEntityRefs = activity.resolveEntityRefs.bind(activity);
10755
11573
  }
10756
11574
 
10757
11575
  // src/client/bindings/motd.ts
@@ -10773,6 +11591,10 @@ function bindTrackedLinksMethods(target, trackedLinks) {
10773
11591
 
10774
11592
  // src/client/bindings/data-types.ts
10775
11593
  function bindDataTypesMethods(target, dataTypes) {
11594
+ target.getDataTypeDraft = dataTypes.getDataTypeDraft.bind(dataTypes);
11595
+ target.saveDataTypeDraft = dataTypes.saveDataTypeDraft.bind(dataTypes);
11596
+ target.publishDataTypeDraft = dataTypes.publishDataTypeDraft.bind(dataTypes);
11597
+ target.getDataTypeVersions = dataTypes.getDataTypeVersions.bind(dataTypes);
10776
11598
  target.getDataTypes = dataTypes.getDataTypes.bind(dataTypes);
10777
11599
  target.getDataType = dataTypes.getDataType.bind(dataTypes);
10778
11600
  target.getDataTypeByUuid = dataTypes.getDataTypeByUuid.bind(dataTypes);
@@ -10858,6 +11680,8 @@ function bindMembersMethods(target, members) {
10858
11680
  target.createMemberRole = members.createMemberRole.bind(members);
10859
11681
  target.updateMemberRole = members.updateMemberRole.bind(members);
10860
11682
  target.deleteMemberRole = members.deleteMemberRole.bind(members);
11683
+ target.getMemberRoleCleanupPlan = members.getMemberRoleCleanupPlan.bind(members);
11684
+ target.mergeMemberRoles = members.mergeMemberRoles.bind(members);
10861
11685
  target.getMemberFields = members.getMemberFields.bind(members);
10862
11686
  target.getMemberFieldDefinitions = members.getMemberFieldDefinitions.bind(members);
10863
11687
  target.createMemberField = members.createMemberField.bind(members);
@@ -10875,11 +11699,15 @@ function bindMembersMethods(target, members) {
10875
11699
  target.createMemberMemory = members.createMemberMemory.bind(members);
10876
11700
  target.deleteMemberMemory = members.deleteMemberMemory.bind(members);
10877
11701
  target.getMemberSyncLinks = members.getMemberSyncLinks.bind(members);
11702
+ target.getMemberRelationships = members.getMemberRelationships.bind(members);
11703
+ target.createMemberRelationship = members.createMemberRelationship.bind(members);
11704
+ target.archiveMemberRelationship = members.archiveMemberRelationship.bind(members);
10878
11705
  }
10879
11706
 
10880
11707
  // src/client/bindings/workspaces.ts
10881
11708
  function bindWorkspacesMethods(target, workspaces, signupRequests) {
10882
11709
  target.getWorkspaces = workspaces.getWorkspaces.bind(workspaces);
11710
+ target.getDeviceAdmissibleWorkspaces = workspaces.getDeviceAdmissibleWorkspaces.bind(workspaces);
10883
11711
  target.getPublicWorkspaces = workspaces.getPublicWorkspaces.bind(workspaces);
10884
11712
  target.getWorkspace = workspaces.getWorkspace.bind(workspaces);
10885
11713
  target.createWorkspace = workspaces.createWorkspace.bind(workspaces);
@@ -10910,6 +11738,8 @@ function bindWorkspacesMethods(target, workspaces, signupRequests) {
10910
11738
  target.getProduct = workspaces.getProduct.bind(workspaces);
10911
11739
  target.getWorkspaceProduct = workspaces.getWorkspaceProduct.bind(workspaces);
10912
11740
  target.getPublicProducts = workspaces.getPublicProducts.bind(workspaces);
11741
+ target.previewPromoCode = workspaces.previewPromoCode.bind(workspaces);
11742
+ target.startPromoPlanTrial = workspaces.startPromoPlanTrial.bind(workspaces);
10913
11743
  target.getPublicProduct = workspaces.getPublicProduct.bind(workspaces);
10914
11744
  target.createProduct = workspaces.createProduct.bind(workspaces);
10915
11745
  target.updateProduct = workspaces.updateProduct.bind(workspaces);
@@ -10917,7 +11747,12 @@ function bindWorkspacesMethods(target, workspaces, signupRequests) {
10917
11747
  target.exportWorkspace = workspaces.exportWorkspace.bind(workspaces);
10918
11748
  target.exportWorkspaceZip = workspaces.exportWorkspaceZip.bind(workspaces);
10919
11749
  target.previewWorkspaceImport = workspaces.previewWorkspaceImport.bind(workspaces);
11750
+ target.previewWorkspaceImportZip = workspaces.previewWorkspaceImportZip.bind(workspaces);
10920
11751
  target.importWorkspace = workspaces.importWorkspace.bind(workspaces);
11752
+ target.importWorkspaceZip = workspaces.importWorkspaceZip.bind(workspaces);
11753
+ target.getImportSkippedRules = workspaces.getImportSkippedRules.bind(workspaces);
11754
+ target.getImportReadiness = workspaces.getImportReadiness.bind(workspaces);
11755
+ target.rebuildImportSkippedRules = workspaces.rebuildImportSkippedRules.bind(workspaces);
10921
11756
  target.previewImportWorkspace = workspaces.previewImportWorkspace.bind(workspaces);
10922
11757
  target.getWorkspaceThemes = workspaces.getWorkspaceThemes.bind(workspaces);
10923
11758
  target.updateWorkspaceThemes = workspaces.updateWorkspaceThemes.bind(workspaces);
@@ -11125,9 +11960,11 @@ function bindEventsMethods(target, events) {
11125
11960
  target.updateRoutine = events.updateRoutine.bind(events);
11126
11961
  target.deleteRoutine = events.deleteRoutine.bind(events);
11127
11962
  target.runRoutine = events.runRoutine.bind(events);
11963
+ target.getRoutineConfigEvents = events.getRoutineConfigEvents.bind(events);
11128
11964
  target.getRoutineRuns = events.getRoutineRuns.bind(events);
11129
11965
  target.resetRoutineRuns = events.resetRoutineRuns.bind(events);
11130
11966
  target.previewSchedule = events.previewSchedule.bind(events);
11967
+ target.previewRoutineVoiceReadiness = events.previewRoutineVoiceReadiness.bind(events);
11131
11968
  target.previewRoutineWorkflowAccess = events.previewRoutineWorkflowAccess.bind(events);
11132
11969
  }
11133
11970
 
@@ -11152,6 +11989,8 @@ function bindExperimentsMethods(target, experiments) {
11152
11989
  function bindWorkflowsMethods(target, workflows, workflowNotes, voice, supervisors) {
11153
11990
  target.getWorkflows = workflows.getWorkflows.bind(workflows);
11154
11991
  target.getWorkflow = workflows.getWorkflow.bind(workflows);
11992
+ target.getWorkflowOpeningTurnConversionReport = workflows.getWorkflowOpeningTurnConversionReport.bind(workflows);
11993
+ target.convertWorkflowStartTaskOpeningMessage = workflows.convertWorkflowStartTaskOpeningMessage.bind(workflows);
11155
11994
  target.getWorkflowActivity = workflows.getWorkflowActivity.bind(workflows);
11156
11995
  target.getWorkflowsActivityBatch = workflows.getWorkflowsActivityBatch.bind(workflows);
11157
11996
  target.getWorkflowDiagram = workflows.getWorkflowDiagram.bind(workflows);
@@ -11572,7 +12411,6 @@ function bindOperatorMethods(target, operatorGroups) {
11572
12411
  target.removeGroupMember = operatorGroups.removeGroupMember.bind(operatorGroups);
11573
12412
  target.getLiveOperators = operatorGroups.getLiveOperators.bind(operatorGroups);
11574
12413
  target.getPresenceStatus = operatorGroups.getPresenceStatus.bind(operatorGroups);
11575
- target.disconnectPresence = operatorGroups.disconnectPresence.bind(operatorGroups);
11576
12414
  target.getOperatorChatMessages = operatorGroups.getOperatorChatMessages.bind(operatorGroups);
11577
12415
  target.sendOperatorMessage = operatorGroups.sendOperatorMessage.bind(operatorGroups);
11578
12416
  }
@@ -11600,6 +12438,8 @@ function bindOrgMethods(target, org) {
11600
12438
  target.listLegalEntities = org.listLegalEntities.bind(org);
11601
12439
  target.getLegalEntity = org.getLegalEntity.bind(org);
11602
12440
  target.createLegalEntity = org.createLegalEntity.bind(org);
12441
+ target.getRegistrationDraft = org.getRegistrationDraft.bind(org);
12442
+ target.saveRegistrationDraft = org.saveRegistrationDraft.bind(org);
11603
12443
  target.getVoiceTrustProducts = org.getVoiceTrustProducts.bind(org);
11604
12444
  target.syncVoiceTrustProducts = org.syncVoiceTrustProducts.bind(org);
11605
12445
  target.createOrganizationWorkspace = org.createOrganizationWorkspace.bind(org);
@@ -11631,6 +12471,9 @@ function bindJourneysMethods(target, journeys) {
11631
12471
  target.getJourneys = journeys.getJourneys.bind(journeys);
11632
12472
  target.getJourney = journeys.getJourney.bind(journeys);
11633
12473
  target.getJourneyAuthoring = journeys.getJourneyAuthoring.bind(journeys);
12474
+ target.putJourneyV2Definition = journeys.putJourneyV2Definition.bind(journeys);
12475
+ target.getJourneyV2Validation = journeys.getJourneyV2Validation.bind(journeys);
12476
+ target.getJourneyFilterOptions = journeys.getJourneyFilterOptions.bind(journeys);
11634
12477
  target.getJourneyHealth = journeys.getJourneyHealth.bind(journeys);
11635
12478
  target.createJourney = journeys.createJourney.bind(journeys);
11636
12479
  target.updateJourney = journeys.updateJourney.bind(journeys);
@@ -11686,6 +12529,8 @@ function bindPersonasMethods(target, personas) {
11686
12529
  target.getPersona = personas.getPersona.bind(personas);
11687
12530
  target.createPersona = personas.createPersona.bind(personas);
11688
12531
  target.updatePersona = personas.updatePersona.bind(personas);
12532
+ target.archivePersona = personas.archivePersona.bind(personas);
12533
+ target.unarchivePersona = personas.unarchivePersona.bind(personas);
11689
12534
  target.deletePersona = personas.deletePersona.bind(personas);
11690
12535
  }
11691
12536
 
@@ -11785,8 +12630,11 @@ var GravityRailClient = class {
11785
12630
  // Chats API
11786
12631
  getChats;
11787
12632
  getChat;
12633
+ getChatBrowserLiveView;
12634
+ getChatMachineResources;
11788
12635
  getCurrentSmsChat;
11789
12636
  getChatCallbacks;
12637
+ getChatEhrWritebackOutcomes;
11790
12638
  cancelChatCallback;
11791
12639
  getChatTokenUsage;
11792
12640
  getChatTodos;
@@ -11798,6 +12646,8 @@ var GravityRailClient = class {
11798
12646
  archiveChat;
11799
12647
  unarchiveChat;
11800
12648
  createChat;
12649
+ createChatInteractionSession;
12650
+ transitionChatInteractionSession;
11801
12651
  createWorkflowOutboundVoiceChat;
11802
12652
  deleteChat;
11803
12653
  updateChat;
@@ -11836,8 +12686,6 @@ var GravityRailClient = class {
11836
12686
  getChatFilterCount;
11837
12687
  // Calls API
11838
12688
  getPhoneCalls;
11839
- initiateCall;
11840
- getVoiceToken;
11841
12689
  getMessageTiming;
11842
12690
  getRecordingInfo;
11843
12691
  listChatRecordings;
@@ -11846,6 +12694,10 @@ var GravityRailClient = class {
11846
12694
  validateCelExpression;
11847
12695
  // Data Types API
11848
12696
  getDataTypes;
12697
+ getDataTypeDraft;
12698
+ saveDataTypeDraft;
12699
+ publishDataTypeDraft;
12700
+ getDataTypeVersions;
11849
12701
  getDataType;
11850
12702
  getDataTypeByUuid;
11851
12703
  getDataTypeBySlug;
@@ -11941,6 +12793,10 @@ var GravityRailClient = class {
11941
12793
  deleteMemberMemory;
11942
12794
  // Member Sync Links
11943
12795
  getMemberSyncLinks;
12796
+ // Member Relationships
12797
+ getMemberRelationships;
12798
+ createMemberRelationship;
12799
+ archiveMemberRelationship;
11944
12800
  // Agent Tasks API (operator-facing async sub-agent inspection/cancel)
11945
12801
  getAgentTasks;
11946
12802
  getAgentTask;
@@ -11978,6 +12834,8 @@ var GravityRailClient = class {
11978
12834
  getPersona;
11979
12835
  createPersona;
11980
12836
  updatePersona;
12837
+ archivePersona;
12838
+ unarchivePersona;
11981
12839
  deletePersona;
11982
12840
  // Metrics API (customer-defined outcome metrics)
11983
12841
  listMetrics;
@@ -11997,8 +12855,26 @@ var GravityRailClient = class {
11997
12855
  getDashboardChannelStats;
11998
12856
  getDashboardWorkflowAssignmentStats;
11999
12857
  getConfigurationHealth;
12000
- // Activity Timeline API
12001
- queryActivityTimeline;
12858
+ // Activity Spine serving API — one query shape, three mounts
12859
+ // (docs/projects/active/activity-spine.md).
12860
+ queryActivity;
12861
+ queryActivityLatestSubjects;
12862
+ queryActivityOpenItems;
12863
+ queryActivityOneView;
12864
+ getActivityCounts;
12865
+ getActivityCapabilities;
12866
+ queryOrgActivity;
12867
+ queryOrgActivityLatestSubjects;
12868
+ queryOrgActivityOpenItems;
12869
+ queryOrgActivityOneView;
12870
+ getOrgActivityCounts;
12871
+ queryWorkspaceActivity;
12872
+ queryWorkspaceActivityLatestSubjects;
12873
+ queryWorkspaceActivityOpenItems;
12874
+ queryWorkspaceActivityOneView;
12875
+ getWorkspaceActivityCounts;
12876
+ // Hydration: typed refs in, display summaries out, one round trip.
12877
+ resolveEntityRefs;
12002
12878
  // MOTD API
12003
12879
  getMotd;
12004
12880
  // Tracked Links analytics (#10934)
@@ -12014,6 +12890,9 @@ var GravityRailClient = class {
12014
12890
  getJourneys;
12015
12891
  getJourney;
12016
12892
  getJourneyAuthoring;
12893
+ putJourneyV2Definition;
12894
+ getJourneyV2Validation;
12895
+ getJourneyFilterOptions;
12017
12896
  getJourneyHealth;
12018
12897
  createJourney;
12019
12898
  updateJourney;
@@ -12068,7 +12947,6 @@ var GravityRailClient = class {
12068
12947
  removeGroupMember;
12069
12948
  getLiveOperators;
12070
12949
  getPresenceStatus;
12071
- disconnectPresence;
12072
12950
  getOperatorChatMessages;
12073
12951
  sendOperatorMessage;
12074
12952
  // Access Grants API
@@ -12081,10 +12959,15 @@ var GravityRailClient = class {
12081
12959
  getAccessGrants;
12082
12960
  getMemberGrants;
12083
12961
  getGranteeGrants;
12962
+ // Intervention Requests API
12963
+ getAgentModeAttention;
12964
+ getInterventionRequests;
12965
+ resolveInterventionRequest;
12084
12966
  // Prompts API
12085
12967
  inspectPrompt;
12086
12968
  // Workspaces API
12087
12969
  getWorkspaces;
12970
+ getDeviceAdmissibleWorkspaces;
12088
12971
  getPublicWorkspaces;
12089
12972
  getWorkspace;
12090
12973
  createWorkspace;
@@ -12124,7 +13007,12 @@ var GravityRailClient = class {
12124
13007
  exportWorkspace;
12125
13008
  exportWorkspaceZip;
12126
13009
  previewWorkspaceImport;
13010
+ previewWorkspaceImportZip;
12127
13011
  importWorkspace;
13012
+ importWorkspaceZip;
13013
+ getImportSkippedRules;
13014
+ getImportReadiness;
13015
+ rebuildImportSkippedRules;
12128
13016
  previewImportWorkspace;
12129
13017
  getWorkspaceThemes;
12130
13018
  updateWorkspaceThemes;
@@ -12159,6 +13047,8 @@ var GravityRailClient = class {
12159
13047
  listLegalEntities;
12160
13048
  getLegalEntity;
12161
13049
  createLegalEntity;
13050
+ getRegistrationDraft;
13051
+ saveRegistrationDraft;
12162
13052
  getVoiceTrustProducts;
12163
13053
  syncVoiceTrustProducts;
12164
13054
  createOrganizationWorkspace;
@@ -12350,10 +13240,13 @@ var GravityRailClient = class {
12350
13240
  getRoutineRuns;
12351
13241
  resetRoutineRuns;
12352
13242
  previewSchedule;
13243
+ previewRoutineVoiceReadiness;
12353
13244
  previewRoutineWorkflowAccess;
12354
13245
  // Workflows API
12355
13246
  getWorkflows;
12356
13247
  getWorkflow;
13248
+ getWorkflowOpeningTurnConversionReport;
13249
+ convertWorkflowStartTaskOpeningMessage;
12357
13250
  getWorkflowActivity;
12358
13251
  getWorkflowsActivityBatch;
12359
13252
  getWorkflowDiagram;
@@ -12829,7 +13722,7 @@ var GravityRailClient = class {
12829
13722
  bindMetricsMethods(this, apis.metrics);
12830
13723
  bindQueriesMethods(this, apis.queries);
12831
13724
  bindDashboardsMethods(this, apis.dashboards);
12832
- bindActivityTimelineMethods(this, apis.activityTimeline);
13725
+ bindActivityMethods(this, apis.activity);
12833
13726
  bindMotdMethods(this, apis.motd);
12834
13727
  bindTrackedLinksMethods(this, apis.trackedLinks);
12835
13728
  bindJourneysMethods(this, apis.journeys);
@@ -12837,6 +13730,7 @@ var GravityRailClient = class {
12837
13730
  bindOperatorMethods(this, apis.operatorGroups);
12838
13731
  bindOrgMethods(this, apis.org);
12839
13732
  bindAccessGrantsMethods(this, apis.accessGrants);
13733
+ bindInterventionRequestsMethods(this, apis.interventionRequests);
12840
13734
  bindPromptsMethods(this, apis.prompts);
12841
13735
  bindWorkspacesMethods(this, apis.workspaces, apis.workspaceInvitations);
12842
13736
  bindAuthMethods(this, apis.auth, apis.assignments);
@@ -13069,6 +13963,30 @@ var QUERY_VALUELESS_OPS = /* @__PURE__ */ new Set([
13069
13963
  "exists"
13070
13964
  ]);
13071
13965
 
13966
+ // src/types/generated/channel_message.ts
13967
+ var ChannelMessageDirection = {
13968
+ inbound: "inbound",
13969
+ outbound: "outbound"
13970
+ };
13971
+ var ChannelMessageSource = {
13972
+ sms_record: "sms_record",
13973
+ other_chat: "other_chat"
13974
+ };
13975
+
13976
+ // src/types/generated/chat.ts
13977
+ var ChannelMessagesUnavailableReason = {
13978
+ not_single_channel: "not_single_channel",
13979
+ no_phone_number: "no_phone_number",
13980
+ no_counterpart_phone: "no_counterpart_phone"
13981
+ };
13982
+
13983
+ // src/types/generated/ehr_writeback.ts
13984
+ var EhrWritebackOutcomeResponseStatus = {
13985
+ accepted: "accepted",
13986
+ skipped: "skipped",
13987
+ failed: "failed"
13988
+ };
13989
+
13072
13990
  // src/types/chat-types.ts
13073
13991
  var SMS_DELIVERY_FAILURE_STATUSES = /* @__PURE__ */ new Set([
13074
13992
  "failed",
@@ -13230,6 +14148,46 @@ var PromoCodeStatus = {
13230
14148
  exhausted: "exhausted"
13231
14149
  };
13232
14150
 
14151
+ // src/types/generated/import_skipped_rule.ts
14152
+ var ImportReadinessIssueCode = {
14153
+ phone_not_provisioned: "phone_not_provisioned",
14154
+ phone_missing_default_workflow: "phone_missing_default_workflow",
14155
+ inbox_missing_default_workflow: "inbox_missing_default_workflow",
14156
+ workflow_missing_default_phone: "workflow_missing_default_phone"
14157
+ };
14158
+ var ImportReadinessIssueResourceType = {
14159
+ phone: "phone",
14160
+ inbox: "inbox",
14161
+ workflow: "workflow"
14162
+ };
14163
+ var ImportSkippedRuleResourceGroupResourceType = {
14164
+ phone: "phone",
14165
+ inbox: "inbox",
14166
+ member: "member"
14167
+ };
14168
+ var ImportSkippedRuleResponseNeededResourceTypesItem = {
14169
+ phone: "phone",
14170
+ inbox: "inbox",
14171
+ member: "member"
14172
+ };
14173
+ var ImportSkippedRuleResponseParentKind = {
14174
+ routine: "routine",
14175
+ journey_step: "journey_step",
14176
+ task: "task",
14177
+ workflow: "workflow",
14178
+ other: "other"
14179
+ };
14180
+ var ImportSkippedRuleResponseReasonCode = {
14181
+ missing_binding: "missing_binding",
14182
+ invalid_event_rule_cel: "invalid_event_rule_cel",
14183
+ unresolved_journey_scope: "unresolved_journey_scope"
14184
+ };
14185
+ var ImportSkippedRuleResponseStatus = {
14186
+ outstanding: "outstanding",
14187
+ reconnected: "reconnected",
14188
+ dismissed: "dismissed"
14189
+ };
14190
+
13233
14191
  // src/features/registry.ts
13234
14192
  var FeatureCategory = /* @__PURE__ */ ((FeatureCategory2) => {
13235
14193
  FeatureCategory2["COMMUNICATION"] = "communication";
@@ -13355,6 +14313,12 @@ function isChatType(value) {
13355
14313
 
13356
14314
  // src/constants/models.ts
13357
14315
  var DEFAULT_CHAT_MODEL = "aws:bedrock:claude-4-5-haiku";
14316
+ var DEFAULT_AGENT_CHAT_MODEL = "openai:chat:gpt-5.6-luna";
14317
+ var DEFAULT_AGENT_REALTIME_MODEL = "xai:realtime:voice-agent-2";
14318
+ var DEFAULT_AGENT_REALTIME_MODEL_CONFIG = {
14319
+ ttsModel: "native",
14320
+ voiceModel: "xai:voice:cosmo"
14321
+ };
13358
14322
  var DEFAULT_VOICE_INFERENCE_MODEL = "openai:chat:gpt-5.6-luna";
13359
14323
  var DEFAULT_CUSTOM_VOICE_MODEL = "elevenlabs:voice:river";
13360
14324
 
@@ -13446,6 +14410,51 @@ function getAllResourceSlugs() {
13446
14410
  return Object.keys(RESOURCE_METADATA);
13447
14411
  }
13448
14412
 
14413
+ // src/types/generated/activity_feed.ts
14414
+ var ActivityGrain = {
14415
+ month: "month",
14416
+ week: "week",
14417
+ day: "day",
14418
+ hour: "hour",
14419
+ event: "event"
14420
+ };
14421
+ var ActivityGroupBy = {
14422
+ workspace: "workspace",
14423
+ event_type: "event_type",
14424
+ family: "family",
14425
+ workspace_family: "workspace_family"
14426
+ };
14427
+ var ActivityOpenItemOrder = {
14428
+ priority: "priority",
14429
+ recency: "recency"
14430
+ };
14431
+ var ActivityWindowBasis = {
14432
+ absolute: "absolute",
14433
+ workspace_local: "workspace_local"
14434
+ };
14435
+
14436
+ // src/types/generated/family.ts
14437
+ var ActivityEventFamily = {
14438
+ people: "people",
14439
+ conversations: "conversations",
14440
+ journeys: "journeys",
14441
+ automation: "automation",
14442
+ operators: "operators",
14443
+ administration: "administration"
14444
+ };
14445
+ var ActivityOutcome = {
14446
+ ok: "ok",
14447
+ attention: "attention",
14448
+ failed: "failed"
14449
+ };
14450
+
14451
+ // src/types/generated/entity_ref.ts
14452
+ var RefResolutionStatus = {
14453
+ resolved: "resolved",
14454
+ unresolved: "unresolved",
14455
+ unsupported: "unsupported"
14456
+ };
14457
+
13449
14458
  // src/scopes.ts
13450
14459
  var ScopeCategory = /* @__PURE__ */ ((ScopeCategory2) => {
13451
14460
  ScopeCategory2["WORKSPACE"] = "workspace";
@@ -13551,7 +14560,9 @@ var SCOPES = {
13551
14560
  "chats:write": {
13552
14561
  name: "chats:write",
13553
14562
  category: "chats" /* CHATS */,
13554
- description: "Send messages in conversations",
14563
+ // Cross-member: acting in a conversation that is not yours. Sending in
14564
+ // your own needs no scope (see the chats:read note on "all").
14565
+ description: "Modify other members' conversations",
13555
14566
  implies: ["chats:read"]
13556
14567
  },
13557
14568
  "chats:admin": {
@@ -14250,6 +15261,8 @@ export {
14250
15261
  FhirVendor,
14251
15262
  FhirConnectionState,
14252
15263
  FhirClientType,
15264
+ TestChatRunLane,
15265
+ TestChatRunOutcome,
14253
15266
  CriterionType,
14254
15267
  DriverMode,
14255
15268
  AccessGrantResourceType,
@@ -14257,21 +15270,15 @@ export {
14257
15270
  AccessGrantStatus,
14258
15271
  AccessGrantTrigger,
14259
15272
  ConsentMethod,
15273
+ MemberRelationshipKind,
15274
+ RelatedMemberRole,
15275
+ RelationshipCardinality,
15276
+ MEMBER_RELATIONSHIP_KINDS,
14260
15277
  CONFIG_HEALTH_FACADE_CHECK_SLUGS,
14261
15278
  isConfigHealthFacadeCheckSlug,
14262
- ActivityActorKind,
14263
- ActivityAggregationKind,
14264
- ActivityCaptureState,
14265
- ActivityConfigAction,
14266
- ActivityConfigArea,
14267
- ActivityCoverageLimitation,
14268
- ActivityDirection,
14269
- ActivityEmptyReason,
14270
- ActivityEventType,
14271
- ActivityEventTypePreset,
14272
- ActivityGoalImpact,
14273
- ActivityTimelineProjection,
14274
- FormValueDisposition,
15279
+ UiPromptPresentedKind,
15280
+ UiPromptResponseKind,
15281
+ UiPromptResponseStatus,
14275
15282
  parseExperimentStatCount,
14276
15283
  TERMINAL_TASK_STATES,
14277
15284
  WorkspaceInvitationsApi,
@@ -14280,13 +15287,14 @@ export {
14280
15287
  createApiModules,
14281
15288
  createWorkspaceClient,
14282
15289
  bindAccessGrantsMethods,
15290
+ bindInterventionRequestsMethods,
14283
15291
  bindAgentTasksMethods,
14284
15292
  bindAgentsMethods,
14285
15293
  bindTasksMethods,
14286
15294
  bindChatsMethods,
14287
15295
  bindCallsMethods,
14288
15296
  bindDashboardsMethods,
14289
- bindActivityTimelineMethods,
15297
+ bindActivityMethods,
14290
15298
  bindMotdMethods,
14291
15299
  bindTrackedLinksMethods,
14292
15300
  bindDataTypesMethods,
@@ -14326,6 +15334,10 @@ export {
14326
15334
  getVoiceModelId,
14327
15335
  canPreviewVoice,
14328
15336
  QUERY_VALUELESS_OPS,
15337
+ ChannelMessageDirection,
15338
+ ChannelMessageSource,
15339
+ ChannelMessagesUnavailableReason,
15340
+ EhrWritebackOutcomeResponseStatus,
14329
15341
  SMS_DELIVERY_FAILURE_STATUSES,
14330
15342
  isSMSDeliveryFailureStatus,
14331
15343
  AGENT_NOTE_ORIGINS,
@@ -14348,6 +15360,13 @@ export {
14348
15360
  WorkflowRoutingMode,
14349
15361
  WIDGET_SLUGS,
14350
15362
  PromoCodeStatus,
15363
+ ImportReadinessIssueCode,
15364
+ ImportReadinessIssueResourceType,
15365
+ ImportSkippedRuleResourceGroupResourceType,
15366
+ ImportSkippedRuleResponseNeededResourceTypesItem,
15367
+ ImportSkippedRuleResponseParentKind,
15368
+ ImportSkippedRuleResponseReasonCode,
15369
+ ImportSkippedRuleResponseStatus,
14351
15370
  FeatureCategory,
14352
15371
  FeatureVisibility,
14353
15372
  initializeFeatures,
@@ -14369,14 +15388,24 @@ export {
14369
15388
  requiresAssistantParticipant,
14370
15389
  isChatType,
14371
15390
  DEFAULT_CHAT_MODEL,
15391
+ DEFAULT_AGENT_CHAT_MODEL,
15392
+ DEFAULT_AGENT_REALTIME_MODEL,
15393
+ DEFAULT_AGENT_REALTIME_MODEL_CONFIG,
14372
15394
  DEFAULT_VOICE_INFERENCE_MODEL,
14373
15395
  DEFAULT_CUSTOM_VOICE_MODEL,
14374
15396
  getResourceMetadata,
14375
15397
  getAllResourceSlugs,
15398
+ ActivityGrain,
15399
+ ActivityGroupBy,
15400
+ ActivityOpenItemOrder,
15401
+ ActivityWindowBasis,
15402
+ ActivityEventFamily,
15403
+ ActivityOutcome,
15404
+ RefResolutionStatus,
14376
15405
  ScopeCategory,
14377
15406
  SCOPES,
14378
15407
  ScopeManager,
14379
15408
  SCOPE_PRESETS,
14380
15409
  getRevisionState
14381
15410
  };
14382
- //# sourceMappingURL=chunk-WMA6YCAS.js.map
15411
+ //# sourceMappingURL=chunk-N446FGCT.js.map