@gravity-rail/sdk 0.21.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-B0eh2BEY.d.cts → chat-interaction-BKdImgZ5.d.ts} +8006 -3570
  7. package/dist/{client-CFz-BGmY.d.ts → chat-interaction-DLfC_h_P.d.cts} +8006 -3570
  8. package/dist/{chunk-3HAV5XUJ.js → chunk-HRUMZ46V.js} +1 -1
  9. package/dist/chunk-HRUMZ46V.js.map +1 -0
  10. package/dist/{chunk-24L4RD4Z.js → chunk-N446FGCT.js} +1247 -203
  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 +2302 -144
  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 +1337 -222
  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-fJ9PM15N.d.cts → revision-state-Bsq5dKwi.d.cts} +236 -5
  39. package/dist/{revision-state-KfOztBkY.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-24L4RD4Z.js.map +0 -1
  52. package/dist/chunk-3HAV5XUJ.js.map +0 -1
  53. package/dist/chunk-7OLBLLV7.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
  }
@@ -3395,10 +3504,18 @@ var InboxesApi = class extends BaseApiClient {
3395
3504
  });
3396
3505
  }
3397
3506
  /** Reply to an email from the inbox. */
3398
- async replyToEmail(wid, inboxId, emailId, content) {
3507
+ async replyToEmail(wid, inboxId, emailId, content, htmlContent) {
3508
+ const body = { content, htmlContent };
3399
3509
  return this.fetch(`w/${wid}/inboxes/${inboxId}/emails/${emailId}/reply`, {
3400
3510
  method: "POST",
3401
- body: JSON.stringify({ content })
3511
+ body: JSON.stringify(body)
3512
+ });
3513
+ }
3514
+ /** Compose and send a new email from an inbox. */
3515
+ async sendInboxEmail(wid, inboxId, body) {
3516
+ return this.fetch(`w/${wid}/inboxes/${inboxId}/emails`, {
3517
+ method: "POST",
3518
+ body: JSON.stringify(body)
3402
3519
  });
3403
3520
  }
3404
3521
  /**
@@ -4053,17 +4170,11 @@ var MembersApi = class extends BaseApiClient {
4053
4170
  * operator can decide whether to skip or explicitly overwrite before
4054
4171
  * committing. Requires MEMBERS_ADMIN and is bulk-PHI audited server-side.
4055
4172
  */
4056
- async previewImportMembers(wid, file, newMemberRoleId, options) {
4173
+ async previewImportMembers(wid, file, newMemberRoleId) {
4057
4174
  const formData = new FormData();
4058
4175
  formData.append("file", file);
4059
4176
  const params = new URLSearchParams();
4060
4177
  params.append("new_member_role_id", newMemberRoleId.toString());
4061
- if (options?.trustEmailAddresses) {
4062
- params.append("trust_email_addresses", "true");
4063
- }
4064
- if (options?.trustPhoneNumbers) {
4065
- params.append("trust_phone_numbers", "true");
4066
- }
4067
4178
  const response = await this.fetchRaw(
4068
4179
  `w/${wid}/members/import/preview?${params.toString()}`,
4069
4180
  {
@@ -4090,12 +4201,6 @@ var MembersApi = class extends BaseApiClient {
4090
4201
  formData.append("file", file);
4091
4202
  const params = new URLSearchParams();
4092
4203
  params.append("new_member_role_id", newMemberRoleId.toString());
4093
- if (options?.trustEmailAddresses) {
4094
- params.append("trust_email_addresses", "true");
4095
- }
4096
- if (options?.trustPhoneNumbers) {
4097
- params.append("trust_phone_numbers", "true");
4098
- }
4099
4204
  if (options?.identityConflictPolicy) {
4100
4205
  params.append("identity_conflict_policy", options.identityConflictPolicy);
4101
4206
  }
@@ -4344,6 +4449,28 @@ var MembersApi = class extends BaseApiClient {
4344
4449
  async getMemberSyncLinks(wid, memberId) {
4345
4450
  return this.fetch(`w/${wid}/members/${memberId}/sync-links`);
4346
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
+ }
4347
4474
  };
4348
4475
 
4349
4476
  // src/api/monday.ts
@@ -4591,12 +4718,6 @@ var OperatorApi = class extends BaseApiClient {
4591
4718
  async getPresenceStatus(wid) {
4592
4719
  return this.fetch(`w/${wid}/presence/me`);
4593
4720
  }
4594
- /** Disconnect the current member's presence session. */
4595
- async disconnectPresence(wid) {
4596
- return this.fetch(`w/${wid}/presence/disconnect-self`, {
4597
- method: "POST"
4598
- });
4599
- }
4600
4721
  // Operator chat message methods
4601
4722
  /** Get paginated chat messages for an operator chat. */
4602
4723
  async getOperatorChatMessages(wid, chatId, limit = 50, offset = 0) {
@@ -5166,6 +5287,28 @@ var OrgApi = class extends BaseApiClient {
5166
5287
  async getLegalEntity(orgUuid, legalEntityUuid) {
5167
5288
  return this.fetch(`o/${orgUuid}/legal-entities/${legalEntityUuid}`);
5168
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
+ }
5169
5312
  /** Cached voice trust product state (CNAM / SHAKEN-STIR / Voice Integrity) for one legal entity. */
5170
5313
  async getVoiceTrustProducts(orgUuid, legalEntityUuid) {
5171
5314
  return this.fetch(
@@ -5339,6 +5482,42 @@ var OrgApi = class extends BaseApiClient {
5339
5482
  }
5340
5483
  );
5341
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
+ }
5342
5521
  };
5343
5522
  function businessProfilePath(orgUuid, legalEntityUuid) {
5344
5523
  return legalEntityUuid ? `o/${orgUuid}/legal-entities/${legalEntityUuid}/business-profile` : `o/${orgUuid}/business-profile`;
@@ -5759,6 +5938,8 @@ var PersonasApi = class extends BaseApiClient {
5759
5938
  const q = new URLSearchParams();
5760
5939
  if (params?.page !== void 0) q.set("page", String(params.page));
5761
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));
5762
5943
  const qs = q.toString() ? `?${q.toString()}` : "";
5763
5944
  return this.fetch(`w/${wid}/personas${qs}`);
5764
5945
  }
@@ -5777,6 +5958,18 @@ var PersonasApi = class extends BaseApiClient {
5777
5958
  body: JSON.stringify(data)
5778
5959
  });
5779
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
+ }
5780
5973
  async deletePersona(wid, id) {
5781
5974
  return this.fetch(`w/${wid}/personas/${id}`, { method: "DELETE" });
5782
5975
  }
@@ -7268,6 +7461,59 @@ var JourneysApi = class extends BaseApiClient {
7268
7461
  async getJourneyAuthoring(wid, journeyId) {
7269
7462
  return this.fetch(`w/${wid}/journeys/${journeyId}/authoring`);
7270
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
+ }
7271
7517
  /** Create a new journey. Returns the READ projection (`JourneyRead`). */
7272
7518
  async createJourney(wid, data) {
7273
7519
  return this.fetch(`w/${wid}/journeys`, {
@@ -7275,7 +7521,14 @@ var JourneysApi = class extends BaseApiClient {
7275
7521
  body: JSON.stringify(data)
7276
7522
  });
7277
7523
  }
7278
- /** 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
+ */
7279
7532
  async updateJourney(wid, journeyId, data) {
7280
7533
  return this.fetch(`w/${wid}/journeys/${journeyId}`, {
7281
7534
  method: "PUT",
@@ -7382,8 +7635,6 @@ var JourneysApi = class extends BaseApiClient {
7382
7635
  qs.set("currentTaskId", String(params.currentTaskId));
7383
7636
  if (params?.runtimeFailureEdgeId !== void 0)
7384
7637
  qs.set("runtimeFailureEdgeId", String(params.runtimeFailureEdgeId));
7385
- if (params?.memberJourneyId !== void 0)
7386
- qs.set("memberJourneyId", String(params.memberJourneyId));
7387
7638
  const query = qs.toString();
7388
7639
  return this.fetch(
7389
7640
  `w/${wid}/journeys/${journeyId}/members${query ? `?${query}` : ""}`
@@ -7537,6 +7788,15 @@ var WorkflowsApi = class extends BaseApiClient {
7537
7788
  async getWorkflow(wid, id) {
7538
7789
  return this.fetch(`w/${wid}/workflows/${id}`);
7539
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
+ }
7540
7800
  /** Get activity metrics for a single workflow. */
7541
7801
  async getWorkflowActivity(wid, id, options) {
7542
7802
  const params = options?.days ? `?days=${options.days}` : "";
@@ -8028,7 +8288,9 @@ var Scope = /* @__PURE__ */ ((Scope2) => {
8028
8288
  var BulkMemberResultStatus = {
8029
8289
  created: "created",
8030
8290
  updated: "updated",
8031
- failed: "failed"
8291
+ failed: "failed",
8292
+ conflict: "conflict",
8293
+ skipped: "skipped"
8032
8294
  };
8033
8295
  var MemberImportMatchInfoMatchType = {
8034
8296
  external_id: "external_id",
@@ -8042,6 +8304,7 @@ var MemberImportPreviewRowAction = {
8042
8304
  update: "update",
8043
8305
  unchanged: "unchanged",
8044
8306
  conflict: "conflict",
8307
+ skipped: "skipped",
8045
8308
  error: "error"
8046
8309
  };
8047
8310
 
@@ -8190,6 +8453,8 @@ var EventRuleActionType = /* @__PURE__ */ ((EventRuleActionType2) => {
8190
8453
  EventRuleActionType2["CONNECTOR_OPERATION"] = "connector:operation";
8191
8454
  EventRuleActionType2["ECW_REFRESH_MEMBER_ENCOUNTERS"] = "ecw:refresh_member_encounters";
8192
8455
  EventRuleActionType2["PLAY_AUDIO"] = "audio:play";
8456
+ EventRuleActionType2["CHARLESTON_SEND_PMD_PAGE"] = "charleston:send_pmd_page";
8457
+ EventRuleActionType2["PATIENTSYNC_TRANSFER"] = "patientsync:transfer";
8193
8458
  return EventRuleActionType2;
8194
8459
  })(EventRuleActionType || {});
8195
8460
  function eventRuleActionParams(params) {
@@ -8211,6 +8476,7 @@ var WorkspaceFeature = /* @__PURE__ */ ((WorkspaceFeature2) => {
8211
8476
  WorkspaceFeature2["BROWSER"] = "browser";
8212
8477
  WorkspaceFeature2["WEB_SEARCH"] = "web_search";
8213
8478
  WorkspaceFeature2["CALENDAR"] = "calendar";
8479
+ WorkspaceFeature2["JOURNEY_V2_EDITOR"] = "journey_v2_editor";
8214
8480
  WorkspaceFeature2["EXPERIMENTS"] = "experiments";
8215
8481
  WorkspaceFeature2["MAILBOX_USER_INPUT"] = "mailbox_user_input";
8216
8482
  WorkspaceFeature2["FORKED_TRAJECTORIES"] = "forked_trajectories";
@@ -8336,6 +8602,7 @@ var ModelProvider = {
8336
8602
  elevenlabs: "elevenlabs",
8337
8603
  deepgram: "deepgram",
8338
8604
  xai: "xai",
8605
+ fireworks: "fireworks",
8339
8606
  custom: "custom"
8340
8607
  };
8341
8608
  var ModelType = {
@@ -8389,6 +8656,24 @@ var FhirClientType = /* @__PURE__ */ ((FhirClientType2) => {
8389
8656
  return FhirClientType2;
8390
8657
  })(FhirClientType || {});
8391
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
+
8392
8677
  // src/types/qualification-types.ts
8393
8678
  var CriterionType = /* @__PURE__ */ ((CriterionType2) => {
8394
8679
  CriterionType2["EXPRESSION"] = "expression";
@@ -8447,10 +8732,242 @@ var ConsentMethod = /* @__PURE__ */ ((ConsentMethod2) => {
8447
8732
  return ConsentMethod2;
8448
8733
  })(ConsentMethod || {});
8449
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
+
8450
8966
  // src/types/config-health-types.ts
8451
8967
  var CONFIG_HEALTH_FACADE_CHECK_SLUGS = [
8452
8968
  "workflow.config",
8453
8969
  "journey.authoring",
8970
+ "journey.v2_validation",
8454
8971
  "workflow.access",
8455
8972
  "routine.workflow_access",
8456
8973
  "workspace.validation"
@@ -8459,85 +8976,20 @@ function isConfigHealthFacadeCheckSlug(value) {
8459
8976
  return CONFIG_HEALTH_FACADE_CHECK_SLUGS.includes(value);
8460
8977
  }
8461
8978
 
8462
- // src/types/generated/activity_timeline.ts
8463
- var ActivityActorKind = {
8464
- member: "member",
8465
- agent: "agent",
8466
- operator: "operator",
8467
- event_rule: "event_rule",
8468
- api_key: "api_key",
8469
- system: "system"
8470
- };
8471
- var ActivityAggregationKind = {
8472
- burst: "burst",
8473
- conversation_session: "conversation_session",
8474
- operation: "operation"
8475
- };
8476
- var ActivityCaptureState = {
8477
- active: "active",
8478
- not_started: "not_started"
8479
- };
8480
- var ActivityConfigAction = {
8481
- created: "created",
8482
- updated: "updated",
8483
- deleted: "deleted"
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"
8484
8984
  };
8485
- var ActivityConfigArea = {
8486
- inbox: "inbox",
8487
- phone_number: "phone_number",
8488
- business_hours: "business_hours",
8489
- escalation_settings: "escalation_settings",
8490
- workspace_settings: "workspace_settings"
8491
- };
8492
- var ActivityCoverageLimitation = {
8493
- none: "none",
8494
- capture_started_at_cutover: "capture_started_at_cutover",
8495
- legacy_baseline_incomplete: "legacy_baseline_incomplete",
8496
- deletion_may_remove_history: "deletion_may_remove_history",
8497
- config_capture_started: "config_capture_started"
8498
- };
8499
- var ActivityDirection = {
8500
- inbound: "inbound",
8501
- outbound: "outbound"
8985
+ var UiPromptResponseKind = {
8986
+ render_ui: "render_ui",
8987
+ present_choice_list: "present_choice_list",
8988
+ inline_connect: "inline_connect"
8502
8989
  };
8503
- var ActivityEmptyReason = {
8504
- collection: "collection",
8505
- period: "period",
8506
- filtered: "filtered"
8507
- };
8508
- var ActivityEventType = {
8509
- workflow_started: "workflow_started",
8510
- assignment_task_transition: "assignment_task_transition",
8511
- journey_status_changed: "journey_status_changed",
8512
- journey_step_status_changed: "journey_step_status_changed",
8513
- journey_goal_status_changed: "journey_goal_status_changed",
8514
- chat_started: "chat_started",
8515
- message: "message",
8516
- call: "call",
8517
- form_field_changed: "form_field_changed",
8518
- config_changed: "config_changed"
8519
- };
8520
- var ActivityEventTypePreset = {
8521
- communications: "communications",
8522
- formUpdates: "formUpdates",
8523
- workflowTask: "workflowTask",
8524
- journey: "journey",
8525
- configuration: "configuration"
8526
- };
8527
- var ActivityGoalImpact = {
8528
- neutral: "neutral",
8529
- success: "success",
8530
- attention: "attention",
8531
- failure: "failure"
8532
- };
8533
- var ActivityTimelineProjection = {
8534
- timeline: "timeline"
8535
- };
8536
- var FormValueDisposition = {
8537
- shown: "shown",
8538
- omitted_long: "omitted_long",
8539
- omitted_structured: "omitted_structured",
8540
- omitted_burst: "omitted_burst"
8990
+ var UiPromptResponseStatus = {
8991
+ submitted: "submitted",
8992
+ declined: "declined"
8541
8993
  };
8542
8994
 
8543
8995
  // src/types/experiment-types.ts
@@ -8688,11 +9140,31 @@ var WorkspaceInvitationsApi = class extends BaseApiClient {
8688
9140
  };
8689
9141
 
8690
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
+ }
8691
9155
  var WorkspacesApi = class extends BaseApiClient {
8692
9156
  /** List all workspaces accessible to the current user. */
8693
9157
  async getWorkspaces() {
8694
9158
  return this.fetch("w/");
8695
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
+ }
8696
9168
  /** List all publicly visible workspaces. */
8697
9169
  async getPublicWorkspaces() {
8698
9170
  return this.fetch("w/public");
@@ -8986,18 +9458,62 @@ var WorkspacesApi = class extends BaseApiClient {
8986
9458
  const qs = searchParams.toString();
8987
9459
  return this.fetch(`w/${wid}/export${qs ? `?${qs}` : ""}`);
8988
9460
  }
8989
- /** Preview the result of importing workspace configuration without applying changes. */
8990
- 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) {
8991
9469
  return this.fetch(`w/${wid}/preview-import`, {
8992
9470
  method: "POST",
8993
9471
  body: JSON.stringify({
8994
9472
  exportData,
8995
9473
  importMappings,
8996
9474
  createNew,
8997
- autoMap
9475
+ autoMap,
9476
+ ...planFields(options)
8998
9477
  })
8999
9478
  });
9000
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
+ */
9001
9517
  /** Download a workspace export ZIP (``export.json`` + file blobs). */
9002
9518
  async exportWorkspaceZip(wid, workflowId, scope, exclude) {
9003
9519
  const searchParams = new URLSearchParams();
@@ -9011,46 +9527,138 @@ var WorkspacesApi = class extends BaseApiClient {
9011
9527
  /** Import workspace configuration from exported JSON, or from a ZIP archive.
9012
9528
  * Pass ``archive`` (the ZIP from ``exportWorkspaceZip``) to restore file
9013
9529
  * contents. ``exportData`` may be omitted when the ZIP contains it.
9014
- */
9015
- async importWorkspace(wid, exportData, importMappings, createNew, archive) {
9016
- const payload = {
9017
- importMappings,
9018
- createNew
9019
- };
9020
- if (exportData) {
9021
- payload.exportData = exportData;
9022
- }
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) {
9023
9543
  if (archive) {
9024
- const form = new FormData();
9025
- form.append(
9026
- "request",
9027
- new Blob([JSON.stringify(payload)], { type: "application/json" }),
9028
- "import.json"
9029
- );
9030
- form.append("archive", archive, "workspace-export.zip");
9031
- return this.fetch(`w/${wid}/import.zip`, {
9032
- method: "POST",
9033
- body: form
9544
+ return this.importWorkspaceZip(wid, archive, {
9545
+ ...options,
9546
+ exportData,
9547
+ importMappings,
9548
+ createNew,
9549
+ autoMap,
9550
+ activateWebhookRules
9034
9551
  });
9035
9552
  }
9036
9553
  if (!exportData) {
9037
9554
  throw new Error("exportData is required for JSON import");
9038
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
+ }
9039
9568
  return this.fetch(`w/${wid}/import`, {
9040
9569
  method: "POST",
9041
9570
  body: JSON.stringify(payload)
9042
9571
  });
9043
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
+ }
9044
9652
  /** Preview a workspace import using the legacy untyped interface. */
9045
9653
  // Legacy method for backward compatibility
9046
- 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
+ }
9047
9659
  return this.fetch(`w/${wid}/preview-import`, {
9048
9660
  method: "POST",
9049
- body: JSON.stringify({
9050
- exportData,
9051
- importMappings,
9052
- createNew
9053
- })
9661
+ body: JSON.stringify(payload)
9054
9662
  });
9055
9663
  }
9056
9664
  /** List available themes for a workspace. */
@@ -9165,36 +9773,35 @@ var DashboardsApi = class extends BaseApiClient {
9165
9773
 
9166
9774
  // src/api/devices.ts
9167
9775
  var DevicesApi = class extends BaseApiClient {
9168
- /** List devices visible to the caller (own devices, or all with devices:admin). */
9169
- async getDevices(wid, options = {}) {
9170
- const qs = options.mine ? "?mine=true" : "";
9171
- return this.fetch(`w/${wid}/devices${qs}`);
9776
+ /** List devices owned by the current Account. */
9777
+ async getDevices() {
9778
+ return this.fetch("account/devices");
9172
9779
  }
9173
- /** Fetch one device by UUID. Non-owners without devices:admin receive 404. */
9174
- async getDevice(wid, deviceUuid) {
9175
- 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}`);
9176
9783
  }
9177
9784
  /** List shippable companion-device products (Lantern, later SKUs). */
9178
- async getDeviceKinds(wid) {
9179
- return this.fetch(`w/${wid}/devices/kinds`);
9785
+ async getDeviceKinds() {
9786
+ return this.fetch("account/devices/kinds");
9180
9787
  }
9181
- /** Claim a pairing code shown on a companion device. Requires devices:write. */
9182
- async claimDevicePairing(wid, body) {
9183
- 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", {
9184
9791
  method: "POST",
9185
9792
  body: JSON.stringify(body)
9186
9793
  });
9187
9794
  }
9188
- /** Update display name and/or LAN capability flags. Requires devices:write. */
9189
- async updateDevice(wid, deviceUuid, body) {
9190
- 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}`, {
9191
9798
  method: "PATCH",
9192
9799
  body: JSON.stringify(body)
9193
9800
  });
9194
9801
  }
9195
- /** Revoke a device credential. The device must pair again. Requires devices:write. */
9196
- async revokeDevice(wid, deviceUuid) {
9197
- 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`, {
9198
9805
  method: "POST",
9199
9806
  body: JSON.stringify({})
9200
9807
  });
@@ -9375,11 +9982,155 @@ var PatientSyncConnectionsApi = class extends BaseApiClient {
9375
9982
  }
9376
9983
  };
9377
9984
 
9378
- // src/api/activity-timeline.ts
9379
- var ActivityTimelineApi = class extends BaseApiClient {
9380
- /** One page of activity. Omit `cursor` for a fresh snapshot. */
9381
- async queryActivityTimeline(wid, request = {}) {
9382
- 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`, {
9383
10134
  method: "POST",
9384
10135
  body: JSON.stringify(request)
9385
10136
  });
@@ -9407,6 +10158,10 @@ var MotdApi = class extends BaseApiClient {
9407
10158
 
9408
10159
  // src/api/intervention-requests.ts
9409
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
+ }
9410
10165
  /** List intervention requests in a workspace, newest first. */
9411
10166
  async getInterventionRequests(wid, params = {}) {
9412
10167
  const query = new URLSearchParams();
@@ -9420,6 +10175,23 @@ var InterventionRequestsApi = class extends BaseApiClient {
9420
10175
  `w/${wid}/intervention-requests${qs ? `?${qs}` : ""}`
9421
10176
  );
9422
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
+ }
9423
10195
  };
9424
10196
 
9425
10197
  // src/api/metrics.ts
@@ -9738,7 +10510,7 @@ function createApiModules(apiKey, baseUrl, customFetch) {
9738
10510
  connectionSync: new ConnectionSyncApi(apiKey, baseUrl, customFetch),
9739
10511
  mcpServers: new McpServersApi(apiKey, baseUrl, customFetch),
9740
10512
  members: new MembersApi(apiKey, baseUrl, customFetch),
9741
- activityTimeline: new ActivityTimelineApi(apiKey, baseUrl, customFetch),
10513
+ activity: new ActivityApi(apiKey, baseUrl, customFetch),
9742
10514
  motd: new MotdApi(apiKey, baseUrl, customFetch),
9743
10515
  trackedLinks: new TrackedLinksApi(apiKey, baseUrl, customFetch),
9744
10516
  confluence: new ConfluenceApi(apiKey, baseUrl, customFetch),
@@ -9785,6 +10557,8 @@ var WORKSPACE_METHOD_NAMES = [
9785
10557
  "archiveDataType",
9786
10558
  "archiveJourney",
9787
10559
  "archiveMember",
10560
+ "archiveMemberRelationship",
10561
+ "archivePersona",
9788
10562
  "archivePhoneNumber",
9789
10563
  "archiveStep",
9790
10564
  "archiveTask",
@@ -9837,6 +10611,8 @@ var WORKSPACE_METHOD_NAMES = [
9837
10611
  "createCalendarEventType",
9838
10612
  "createCalendarSchedule",
9839
10613
  "createChat",
10614
+ "createChatInteractionSession",
10615
+ "transitionChatInteractionSession",
9840
10616
  "createChatCompletion",
9841
10617
  "createChatFilter",
9842
10618
  "createChatLabel",
@@ -9866,6 +10642,7 @@ var WORKSPACE_METHOD_NAMES = [
9866
10642
  "createMemberFilter",
9867
10643
  "createMemberLabel",
9868
10644
  "createMemberMemory",
10645
+ "createMemberRelationship",
9869
10646
  "createMemberRole",
9870
10647
  "createMenuItem",
9871
10648
  "createNotificationRule",
@@ -9968,7 +10745,6 @@ var WORKSPACE_METHOD_NAMES = [
9968
10745
  "disconnectConfluence",
9969
10746
  "disconnectHubspot",
9970
10747
  "disconnectMondayConnection",
9971
- "disconnectPresence",
9972
10748
  "disconnectSalesforce",
9973
10749
  "discordLinkPreflight",
9974
10750
  "discoverOAuthMetadata",
@@ -10031,6 +10807,7 @@ var WORKSPACE_METHOD_NAMES = [
10031
10807
  "getAccessGrant",
10032
10808
  "getAccessGrants",
10033
10809
  "getAgent",
10810
+ "getAgentModeAttention",
10034
10811
  "getAgentTask",
10035
10812
  "getAgentTaskMessages",
10036
10813
  "getAgentTasks",
@@ -10062,7 +10839,9 @@ var WORKSPACE_METHOD_NAMES = [
10062
10839
  "getCharlestonTestDeliveryRecipients",
10063
10840
  "getChat",
10064
10841
  "getChatAssignmentTasks",
10842
+ "getChatBrowserLiveView",
10065
10843
  "getChatCallbacks",
10844
+ "getChatEhrWritebackOutcomes",
10066
10845
  "getChatEmails",
10067
10846
  "getChatFilter",
10068
10847
  "getChatFilterByUuid",
@@ -10071,6 +10850,7 @@ var WORKSPACE_METHOD_NAMES = [
10071
10850
  "getChatLabel",
10072
10851
  "getChatLabelByUuid",
10073
10852
  "getChatLabels",
10853
+ "getChatMachineResources",
10074
10854
  "getChatMessages",
10075
10855
  "getChatModelOverride",
10076
10856
  "getChatPhoneCalls",
@@ -10111,6 +10891,8 @@ var WORKSPACE_METHOD_NAMES = [
10111
10891
  "getDataRecordFilters",
10112
10892
  "getDataRecords",
10113
10893
  "getDataType",
10894
+ "getDataTypeDraft",
10895
+ "getDataTypeVersions",
10114
10896
  "getDataTypeByUuid",
10115
10897
  "getDataTypeBySlug",
10116
10898
  "getDataTypes",
@@ -10154,9 +10936,15 @@ var WORKSPACE_METHOD_NAMES = [
10154
10936
  "listChatRecordings",
10155
10937
  "previewQuery",
10156
10938
  "publishSiteSource",
10157
- "queryActivityTimeline",
10939
+ "publishDataTypeDraft",
10940
+ "saveDataTypeDraft",
10941
+ "queryWorkspaceActivity",
10942
+ "queryWorkspaceActivityLatestSubjects",
10943
+ "queryWorkspaceActivityOpenItems",
10944
+ "queryWorkspaceActivityOneView",
10158
10945
  "registerDiscordSlashCommands",
10159
10946
  "reopenWorkspaceSupportRequest",
10947
+ "resolveEntityRefs",
10160
10948
  "resetSiteSource",
10161
10949
  "resolveFilePath",
10162
10950
  "getFileLabel",
@@ -10184,16 +10972,22 @@ var WORKSPACE_METHOD_NAMES = [
10184
10972
  "getHubspotSyncLogs",
10185
10973
  "getHubspotTransformPresets",
10186
10974
  "getICalFeedUrl",
10975
+ "getImportSkippedRules",
10976
+ "getImportReadiness",
10977
+ "rebuildImportSkippedRules",
10187
10978
  "getInbox",
10188
10979
  "getInboxEmail",
10189
10980
  "getInboxEmails",
10190
10981
  "getInboxThreads",
10191
10982
  "getInboxes",
10983
+ "getInterventionRequests",
10192
10984
  "getJourney",
10193
10985
  "getJourneyAuthoring",
10986
+ "getJourneyFilterOptions",
10194
10987
  "getJourneyHealth",
10195
10988
  "getJourneyMembers",
10196
10989
  "getJourneyNotes",
10990
+ "getJourneyV2Validation",
10197
10991
  "getJourneys",
10198
10992
  "getLinkablePhones",
10199
10993
  "getLinkedHealthieMembers",
@@ -10221,6 +11015,7 @@ var WORKSPACE_METHOD_NAMES = [
10221
11015
  "getMemberMemories",
10222
11016
  "getMemberMemory",
10223
11017
  "getMemberRecordCounts",
11018
+ "getMemberRelationships",
10224
11019
  "getMemberRole",
10225
11020
  "getMemberRoleCleanupPlan",
10226
11021
  "getMemberRoleByUuid",
@@ -10269,8 +11064,6 @@ var WORKSPACE_METHOD_NAMES = [
10269
11064
  "getPublicFolder",
10270
11065
  "getPublicFolderFiles",
10271
11066
  "getPublicProducts",
10272
- "previewPromoCode",
10273
- "startPromoPlanTrial",
10274
11067
  "getQualification",
10275
11068
  "getQualifications",
10276
11069
  "getRecordingInfo",
@@ -10325,10 +11118,10 @@ var WORKSPACE_METHOD_NAMES = [
10325
11118
  "getUnreadNotificationCount",
10326
11119
  "getUsageDashboard",
10327
11120
  "getVariableRegistry",
10328
- "getVoiceToken",
10329
11121
  "getVoiceUsageReport",
10330
11122
  "getWebhookLogs",
10331
11123
  "getWorkflow",
11124
+ "getWorkflowOpeningTurnConversionReport",
10332
11125
  "getWorkflowAccessValidation",
10333
11126
  "getWorkflowActivity",
10334
11127
  "getWorkflowConfigValidation",
@@ -10345,6 +11138,7 @@ var WORKSPACE_METHOD_NAMES = [
10345
11138
  "getWorkflows",
10346
11139
  "getWorkflowsActivityBatch",
10347
11140
  "getWorkspace",
11141
+ "getWorkspaceActivityCounts",
10348
11142
  "getWorkspaceBuilder",
10349
11143
  "getWorkspaceBuilders",
10350
11144
  "getWorkspaceCounts",
@@ -10364,7 +11158,7 @@ var WORKSPACE_METHOD_NAMES = [
10364
11158
  "importMembers",
10365
11159
  "importSalesforceMembers",
10366
11160
  "importWorkspace",
10367
- "initiateCall",
11161
+ "importWorkspaceZip",
10368
11162
  "initiateOutboundCall",
10369
11163
  "inspectPrompt",
10370
11164
  "installHubspot",
@@ -10421,14 +11215,17 @@ var WORKSPACE_METHOD_NAMES = [
10421
11215
  "previewMemberWorkflowVoice",
10422
11216
  "previewRenameFieldSlug",
10423
11217
  "previewImportWorkspace",
11218
+ "previewRoutineVoiceReadiness",
10424
11219
  "previewRoutineWorkflowAccess",
10425
11220
  "previewSchedule",
10426
11221
  "previewTTS",
10427
11222
  "previewTemplate",
10428
11223
  "previewThinkingSound",
10429
11224
  "previewWorkspaceImport",
11225
+ "previewWorkspaceImportZip",
10430
11226
  "provisionClientWorkspace",
10431
11227
  "publishWorkflowRevision",
11228
+ "putJourneyV2Definition",
10432
11229
  "rateMessage",
10433
11230
  "getChatFeedback",
10434
11231
  "reenrollMember",
@@ -10449,6 +11246,7 @@ var WORKSPACE_METHOD_NAMES = [
10449
11246
  "resetRoutineRuns",
10450
11247
  "resolveAccessGrant",
10451
11248
  "resolveAnonymousMember",
11249
+ "resolveInterventionRequest",
10452
11250
  "restoreFileVersion",
10453
11251
  "revokeAccessGrant",
10454
11252
  "revokeApiKey",
@@ -10462,6 +11260,7 @@ var WORKSPACE_METHOD_NAMES = [
10462
11260
  "selectCurrentAssignmentTask",
10463
11261
  "sendAssistantMessage",
10464
11262
  "sendChatMessage",
11263
+ "sendInboxEmail",
10465
11264
  "sendOperatorMessage",
10466
11265
  "siteGoogleOAuthInitiate",
10467
11266
  "siteSendEmailCode",
@@ -10488,6 +11287,7 @@ var WORKSPACE_METHOD_NAMES = [
10488
11287
  "unarchiveChat",
10489
11288
  "unarchiveDataType",
10490
11289
  "unarchiveMember",
11290
+ "unarchivePersona",
10491
11291
  "unarchiveStep",
10492
11292
  "unarchiveTask",
10493
11293
  "unarchiveWorkflow",
@@ -10576,6 +11376,7 @@ var WORKSPACE_METHOD_NAMES = [
10576
11376
  "uploadFile",
10577
11377
  "updateVoicemailStatus",
10578
11378
  "updateWorkflow",
11379
+ "convertWorkflowStartTaskOpeningMessage",
10579
11380
  "updateWorkflowContributor",
10580
11381
  "updateWorkflowNote",
10581
11382
  "updateWorkflowRevisionMetadata",
@@ -10622,6 +11423,13 @@ function bindAccessGrantsMethods(target, accessGrants) {
10622
11423
  target.getGranteeGrants = accessGrants.getGranteeGrants.bind(accessGrants);
10623
11424
  }
10624
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
+
10625
11433
  // src/client/bindings/agent-tasks.ts
10626
11434
  function bindAgentTasksMethods(target, api) {
10627
11435
  target.getAgentTasks = api.getAgentTasks.bind(api);
@@ -10662,10 +11470,15 @@ function bindTasksMethods(target, tasks, abilities) {
10662
11470
 
10663
11471
  // src/client/bindings/chats.ts
10664
11472
  function bindChatsMethods(target, chats) {
11473
+ target.createChatInteractionSession = chats.createChatInteractionSession.bind(chats);
11474
+ target.transitionChatInteractionSession = chats.transitionChatInteractionSession.bind(chats);
10665
11475
  target.getChats = chats.getChats.bind(chats);
10666
11476
  target.getChat = chats.getChat.bind(chats);
11477
+ target.getChatBrowserLiveView = chats.getChatBrowserLiveView.bind(chats);
11478
+ target.getChatMachineResources = chats.getChatMachineResources.bind(chats);
10667
11479
  target.getCurrentSmsChat = chats.getCurrentSmsChat.bind(chats);
10668
11480
  target.getChatCallbacks = chats.getChatCallbacks.bind(chats);
11481
+ target.getChatEhrWritebackOutcomes = chats.getChatEhrWritebackOutcomes.bind(chats);
10669
11482
  target.cancelChatCallback = chats.cancelChatCallback.bind(chats);
10670
11483
  target.getChatTokenUsage = chats.getChatTokenUsage.bind(chats);
10671
11484
  target.getChatTodos = chats.getChatTodos.bind(chats);
@@ -10718,8 +11531,6 @@ function bindChatsMethods(target, chats) {
10718
11531
  // src/client/bindings/calls.ts
10719
11532
  function bindCallsMethods(target, calls, cel) {
10720
11533
  target.getPhoneCalls = calls.getPhoneCalls.bind(calls);
10721
- target.initiateCall = calls.initiateCall.bind(calls);
10722
- target.getVoiceToken = calls.getVoiceToken.bind(calls);
10723
11534
  target.getMessageTiming = calls.getMessageTiming.bind(calls);
10724
11535
  target.getRecordingInfo = calls.getRecordingInfo.bind(calls);
10725
11536
  target.listChatRecordings = calls.listChatRecordings.bind(calls);
@@ -10740,9 +11551,25 @@ function bindDashboardsMethods(target, dashboards) {
10740
11551
  target.getConfigurationHealth = dashboards.getConfigurationHealth.bind(dashboards);
10741
11552
  }
10742
11553
 
10743
- // src/client/bindings/activity-timeline.ts
10744
- function bindActivityTimelineMethods(target, activityTimeline) {
10745
- 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);
10746
11573
  }
10747
11574
 
10748
11575
  // src/client/bindings/motd.ts
@@ -10764,6 +11591,10 @@ function bindTrackedLinksMethods(target, trackedLinks) {
10764
11591
 
10765
11592
  // src/client/bindings/data-types.ts
10766
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);
10767
11598
  target.getDataTypes = dataTypes.getDataTypes.bind(dataTypes);
10768
11599
  target.getDataType = dataTypes.getDataType.bind(dataTypes);
10769
11600
  target.getDataTypeByUuid = dataTypes.getDataTypeByUuid.bind(dataTypes);
@@ -10849,6 +11680,8 @@ function bindMembersMethods(target, members) {
10849
11680
  target.createMemberRole = members.createMemberRole.bind(members);
10850
11681
  target.updateMemberRole = members.updateMemberRole.bind(members);
10851
11682
  target.deleteMemberRole = members.deleteMemberRole.bind(members);
11683
+ target.getMemberRoleCleanupPlan = members.getMemberRoleCleanupPlan.bind(members);
11684
+ target.mergeMemberRoles = members.mergeMemberRoles.bind(members);
10852
11685
  target.getMemberFields = members.getMemberFields.bind(members);
10853
11686
  target.getMemberFieldDefinitions = members.getMemberFieldDefinitions.bind(members);
10854
11687
  target.createMemberField = members.createMemberField.bind(members);
@@ -10866,11 +11699,15 @@ function bindMembersMethods(target, members) {
10866
11699
  target.createMemberMemory = members.createMemberMemory.bind(members);
10867
11700
  target.deleteMemberMemory = members.deleteMemberMemory.bind(members);
10868
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);
10869
11705
  }
10870
11706
 
10871
11707
  // src/client/bindings/workspaces.ts
10872
11708
  function bindWorkspacesMethods(target, workspaces, signupRequests) {
10873
11709
  target.getWorkspaces = workspaces.getWorkspaces.bind(workspaces);
11710
+ target.getDeviceAdmissibleWorkspaces = workspaces.getDeviceAdmissibleWorkspaces.bind(workspaces);
10874
11711
  target.getPublicWorkspaces = workspaces.getPublicWorkspaces.bind(workspaces);
10875
11712
  target.getWorkspace = workspaces.getWorkspace.bind(workspaces);
10876
11713
  target.createWorkspace = workspaces.createWorkspace.bind(workspaces);
@@ -10901,6 +11738,8 @@ function bindWorkspacesMethods(target, workspaces, signupRequests) {
10901
11738
  target.getProduct = workspaces.getProduct.bind(workspaces);
10902
11739
  target.getWorkspaceProduct = workspaces.getWorkspaceProduct.bind(workspaces);
10903
11740
  target.getPublicProducts = workspaces.getPublicProducts.bind(workspaces);
11741
+ target.previewPromoCode = workspaces.previewPromoCode.bind(workspaces);
11742
+ target.startPromoPlanTrial = workspaces.startPromoPlanTrial.bind(workspaces);
10904
11743
  target.getPublicProduct = workspaces.getPublicProduct.bind(workspaces);
10905
11744
  target.createProduct = workspaces.createProduct.bind(workspaces);
10906
11745
  target.updateProduct = workspaces.updateProduct.bind(workspaces);
@@ -10908,7 +11747,12 @@ function bindWorkspacesMethods(target, workspaces, signupRequests) {
10908
11747
  target.exportWorkspace = workspaces.exportWorkspace.bind(workspaces);
10909
11748
  target.exportWorkspaceZip = workspaces.exportWorkspaceZip.bind(workspaces);
10910
11749
  target.previewWorkspaceImport = workspaces.previewWorkspaceImport.bind(workspaces);
11750
+ target.previewWorkspaceImportZip = workspaces.previewWorkspaceImportZip.bind(workspaces);
10911
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);
10912
11756
  target.previewImportWorkspace = workspaces.previewImportWorkspace.bind(workspaces);
10913
11757
  target.getWorkspaceThemes = workspaces.getWorkspaceThemes.bind(workspaces);
10914
11758
  target.updateWorkspaceThemes = workspaces.updateWorkspaceThemes.bind(workspaces);
@@ -11116,9 +11960,11 @@ function bindEventsMethods(target, events) {
11116
11960
  target.updateRoutine = events.updateRoutine.bind(events);
11117
11961
  target.deleteRoutine = events.deleteRoutine.bind(events);
11118
11962
  target.runRoutine = events.runRoutine.bind(events);
11963
+ target.getRoutineConfigEvents = events.getRoutineConfigEvents.bind(events);
11119
11964
  target.getRoutineRuns = events.getRoutineRuns.bind(events);
11120
11965
  target.resetRoutineRuns = events.resetRoutineRuns.bind(events);
11121
11966
  target.previewSchedule = events.previewSchedule.bind(events);
11967
+ target.previewRoutineVoiceReadiness = events.previewRoutineVoiceReadiness.bind(events);
11122
11968
  target.previewRoutineWorkflowAccess = events.previewRoutineWorkflowAccess.bind(events);
11123
11969
  }
11124
11970
 
@@ -11143,6 +11989,8 @@ function bindExperimentsMethods(target, experiments) {
11143
11989
  function bindWorkflowsMethods(target, workflows, workflowNotes, voice, supervisors) {
11144
11990
  target.getWorkflows = workflows.getWorkflows.bind(workflows);
11145
11991
  target.getWorkflow = workflows.getWorkflow.bind(workflows);
11992
+ target.getWorkflowOpeningTurnConversionReport = workflows.getWorkflowOpeningTurnConversionReport.bind(workflows);
11993
+ target.convertWorkflowStartTaskOpeningMessage = workflows.convertWorkflowStartTaskOpeningMessage.bind(workflows);
11146
11994
  target.getWorkflowActivity = workflows.getWorkflowActivity.bind(workflows);
11147
11995
  target.getWorkflowsActivityBatch = workflows.getWorkflowsActivityBatch.bind(workflows);
11148
11996
  target.getWorkflowDiagram = workflows.getWorkflowDiagram.bind(workflows);
@@ -11262,6 +12110,7 @@ function bindCommunicationsMethods(target, phoneNumbers, inboxes, notificationRu
11262
12110
  target.getThreadEmails = inboxes.getThreadEmails.bind(inboxes);
11263
12111
  target.getChatEmails = inboxes.getChatEmails.bind(inboxes);
11264
12112
  target.replyToEmail = inboxes.replyToEmail.bind(inboxes);
12113
+ target.sendInboxEmail = inboxes.sendInboxEmail.bind(inboxes);
11265
12114
  target.getNotificationRules = notificationRules.getNotificationRules.bind(notificationRules);
11266
12115
  target.createNotificationRule = notificationRules.createNotificationRule.bind(notificationRules);
11267
12116
  target.updateNotificationRule = notificationRules.updateNotificationRule.bind(notificationRules);
@@ -11562,7 +12411,6 @@ function bindOperatorMethods(target, operatorGroups) {
11562
12411
  target.removeGroupMember = operatorGroups.removeGroupMember.bind(operatorGroups);
11563
12412
  target.getLiveOperators = operatorGroups.getLiveOperators.bind(operatorGroups);
11564
12413
  target.getPresenceStatus = operatorGroups.getPresenceStatus.bind(operatorGroups);
11565
- target.disconnectPresence = operatorGroups.disconnectPresence.bind(operatorGroups);
11566
12414
  target.getOperatorChatMessages = operatorGroups.getOperatorChatMessages.bind(operatorGroups);
11567
12415
  target.sendOperatorMessage = operatorGroups.sendOperatorMessage.bind(operatorGroups);
11568
12416
  }
@@ -11590,10 +12438,14 @@ function bindOrgMethods(target, org) {
11590
12438
  target.listLegalEntities = org.listLegalEntities.bind(org);
11591
12439
  target.getLegalEntity = org.getLegalEntity.bind(org);
11592
12440
  target.createLegalEntity = org.createLegalEntity.bind(org);
12441
+ target.getRegistrationDraft = org.getRegistrationDraft.bind(org);
12442
+ target.saveRegistrationDraft = org.saveRegistrationDraft.bind(org);
11593
12443
  target.getVoiceTrustProducts = org.getVoiceTrustProducts.bind(org);
11594
12444
  target.syncVoiceTrustProducts = org.syncVoiceTrustProducts.bind(org);
11595
12445
  target.createOrganizationWorkspace = org.createOrganizationWorkspace.bind(org);
11596
12446
  target.getOrgBillingCustomer = org.getOrgBillingCustomer.bind(org);
12447
+ target.getA2PCampaignConfig = org.getA2PCampaignConfig.bind(org);
12448
+ target.updateA2PCampaignConfig = org.updateA2PCampaignConfig.bind(org);
11597
12449
  target.getOrgWorkspaceUsage = org.getOrgWorkspaceUsage.bind(org);
11598
12450
  }
11599
12451
 
@@ -11619,6 +12471,9 @@ function bindJourneysMethods(target, journeys) {
11619
12471
  target.getJourneys = journeys.getJourneys.bind(journeys);
11620
12472
  target.getJourney = journeys.getJourney.bind(journeys);
11621
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);
11622
12477
  target.getJourneyHealth = journeys.getJourneyHealth.bind(journeys);
11623
12478
  target.createJourney = journeys.createJourney.bind(journeys);
11624
12479
  target.updateJourney = journeys.updateJourney.bind(journeys);
@@ -11674,6 +12529,8 @@ function bindPersonasMethods(target, personas) {
11674
12529
  target.getPersona = personas.getPersona.bind(personas);
11675
12530
  target.createPersona = personas.createPersona.bind(personas);
11676
12531
  target.updatePersona = personas.updatePersona.bind(personas);
12532
+ target.archivePersona = personas.archivePersona.bind(personas);
12533
+ target.unarchivePersona = personas.unarchivePersona.bind(personas);
11677
12534
  target.deletePersona = personas.deletePersona.bind(personas);
11678
12535
  }
11679
12536
 
@@ -11773,8 +12630,11 @@ var GravityRailClient = class {
11773
12630
  // Chats API
11774
12631
  getChats;
11775
12632
  getChat;
12633
+ getChatBrowserLiveView;
12634
+ getChatMachineResources;
11776
12635
  getCurrentSmsChat;
11777
12636
  getChatCallbacks;
12637
+ getChatEhrWritebackOutcomes;
11778
12638
  cancelChatCallback;
11779
12639
  getChatTokenUsage;
11780
12640
  getChatTodos;
@@ -11786,6 +12646,8 @@ var GravityRailClient = class {
11786
12646
  archiveChat;
11787
12647
  unarchiveChat;
11788
12648
  createChat;
12649
+ createChatInteractionSession;
12650
+ transitionChatInteractionSession;
11789
12651
  createWorkflowOutboundVoiceChat;
11790
12652
  deleteChat;
11791
12653
  updateChat;
@@ -11824,8 +12686,6 @@ var GravityRailClient = class {
11824
12686
  getChatFilterCount;
11825
12687
  // Calls API
11826
12688
  getPhoneCalls;
11827
- initiateCall;
11828
- getVoiceToken;
11829
12689
  getMessageTiming;
11830
12690
  getRecordingInfo;
11831
12691
  listChatRecordings;
@@ -11834,6 +12694,10 @@ var GravityRailClient = class {
11834
12694
  validateCelExpression;
11835
12695
  // Data Types API
11836
12696
  getDataTypes;
12697
+ getDataTypeDraft;
12698
+ saveDataTypeDraft;
12699
+ publishDataTypeDraft;
12700
+ getDataTypeVersions;
11837
12701
  getDataType;
11838
12702
  getDataTypeByUuid;
11839
12703
  getDataTypeBySlug;
@@ -11929,6 +12793,10 @@ var GravityRailClient = class {
11929
12793
  deleteMemberMemory;
11930
12794
  // Member Sync Links
11931
12795
  getMemberSyncLinks;
12796
+ // Member Relationships
12797
+ getMemberRelationships;
12798
+ createMemberRelationship;
12799
+ archiveMemberRelationship;
11932
12800
  // Agent Tasks API (operator-facing async sub-agent inspection/cancel)
11933
12801
  getAgentTasks;
11934
12802
  getAgentTask;
@@ -11966,6 +12834,8 @@ var GravityRailClient = class {
11966
12834
  getPersona;
11967
12835
  createPersona;
11968
12836
  updatePersona;
12837
+ archivePersona;
12838
+ unarchivePersona;
11969
12839
  deletePersona;
11970
12840
  // Metrics API (customer-defined outcome metrics)
11971
12841
  listMetrics;
@@ -11985,8 +12855,26 @@ var GravityRailClient = class {
11985
12855
  getDashboardChannelStats;
11986
12856
  getDashboardWorkflowAssignmentStats;
11987
12857
  getConfigurationHealth;
11988
- // Activity Timeline API
11989
- 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;
11990
12878
  // MOTD API
11991
12879
  getMotd;
11992
12880
  // Tracked Links analytics (#10934)
@@ -12002,6 +12890,9 @@ var GravityRailClient = class {
12002
12890
  getJourneys;
12003
12891
  getJourney;
12004
12892
  getJourneyAuthoring;
12893
+ putJourneyV2Definition;
12894
+ getJourneyV2Validation;
12895
+ getJourneyFilterOptions;
12005
12896
  getJourneyHealth;
12006
12897
  createJourney;
12007
12898
  updateJourney;
@@ -12056,7 +12947,6 @@ var GravityRailClient = class {
12056
12947
  removeGroupMember;
12057
12948
  getLiveOperators;
12058
12949
  getPresenceStatus;
12059
- disconnectPresence;
12060
12950
  getOperatorChatMessages;
12061
12951
  sendOperatorMessage;
12062
12952
  // Access Grants API
@@ -12069,10 +12959,15 @@ var GravityRailClient = class {
12069
12959
  getAccessGrants;
12070
12960
  getMemberGrants;
12071
12961
  getGranteeGrants;
12962
+ // Intervention Requests API
12963
+ getAgentModeAttention;
12964
+ getInterventionRequests;
12965
+ resolveInterventionRequest;
12072
12966
  // Prompts API
12073
12967
  inspectPrompt;
12074
12968
  // Workspaces API
12075
12969
  getWorkspaces;
12970
+ getDeviceAdmissibleWorkspaces;
12076
12971
  getPublicWorkspaces;
12077
12972
  getWorkspace;
12078
12973
  createWorkspace;
@@ -12112,7 +13007,12 @@ var GravityRailClient = class {
12112
13007
  exportWorkspace;
12113
13008
  exportWorkspaceZip;
12114
13009
  previewWorkspaceImport;
13010
+ previewWorkspaceImportZip;
12115
13011
  importWorkspace;
13012
+ importWorkspaceZip;
13013
+ getImportSkippedRules;
13014
+ getImportReadiness;
13015
+ rebuildImportSkippedRules;
12116
13016
  previewImportWorkspace;
12117
13017
  getWorkspaceThemes;
12118
13018
  updateWorkspaceThemes;
@@ -12147,10 +13047,14 @@ var GravityRailClient = class {
12147
13047
  listLegalEntities;
12148
13048
  getLegalEntity;
12149
13049
  createLegalEntity;
13050
+ getRegistrationDraft;
13051
+ saveRegistrationDraft;
12150
13052
  getVoiceTrustProducts;
12151
13053
  syncVoiceTrustProducts;
12152
13054
  createOrganizationWorkspace;
12153
13055
  getOrgBillingCustomer;
13056
+ getA2PCampaignConfig;
13057
+ updateA2PCampaignConfig;
12154
13058
  getOrgWorkspaceUsage;
12155
13059
  getVapidPublicKey;
12156
13060
  registerPushSubscription;
@@ -12336,10 +13240,13 @@ var GravityRailClient = class {
12336
13240
  getRoutineRuns;
12337
13241
  resetRoutineRuns;
12338
13242
  previewSchedule;
13243
+ previewRoutineVoiceReadiness;
12339
13244
  previewRoutineWorkflowAccess;
12340
13245
  // Workflows API
12341
13246
  getWorkflows;
12342
13247
  getWorkflow;
13248
+ getWorkflowOpeningTurnConversionReport;
13249
+ convertWorkflowStartTaskOpeningMessage;
12343
13250
  getWorkflowActivity;
12344
13251
  getWorkflowsActivityBatch;
12345
13252
  getWorkflowDiagram;
@@ -12453,6 +13360,7 @@ var GravityRailClient = class {
12453
13360
  getThreadEmails;
12454
13361
  getChatEmails;
12455
13362
  replyToEmail;
13363
+ sendInboxEmail;
12456
13364
  getNotificationRules;
12457
13365
  createNotificationRule;
12458
13366
  updateNotificationRule;
@@ -12814,7 +13722,7 @@ var GravityRailClient = class {
12814
13722
  bindMetricsMethods(this, apis.metrics);
12815
13723
  bindQueriesMethods(this, apis.queries);
12816
13724
  bindDashboardsMethods(this, apis.dashboards);
12817
- bindActivityTimelineMethods(this, apis.activityTimeline);
13725
+ bindActivityMethods(this, apis.activity);
12818
13726
  bindMotdMethods(this, apis.motd);
12819
13727
  bindTrackedLinksMethods(this, apis.trackedLinks);
12820
13728
  bindJourneysMethods(this, apis.journeys);
@@ -12822,6 +13730,7 @@ var GravityRailClient = class {
12822
13730
  bindOperatorMethods(this, apis.operatorGroups);
12823
13731
  bindOrgMethods(this, apis.org);
12824
13732
  bindAccessGrantsMethods(this, apis.accessGrants);
13733
+ bindInterventionRequestsMethods(this, apis.interventionRequests);
12825
13734
  bindPromptsMethods(this, apis.prompts);
12826
13735
  bindWorkspacesMethods(this, apis.workspaces, apis.workspaceInvitations);
12827
13736
  bindAuthMethods(this, apis.auth, apis.assignments);
@@ -13054,6 +13963,30 @@ var QUERY_VALUELESS_OPS = /* @__PURE__ */ new Set([
13054
13963
  "exists"
13055
13964
  ]);
13056
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
+
13057
13990
  // src/types/chat-types.ts
13058
13991
  var SMS_DELIVERY_FAILURE_STATUSES = /* @__PURE__ */ new Set([
13059
13992
  "failed",
@@ -13215,6 +14148,46 @@ var PromoCodeStatus = {
13215
14148
  exhausted: "exhausted"
13216
14149
  };
13217
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
+
13218
14191
  // src/features/registry.ts
13219
14192
  var FeatureCategory = /* @__PURE__ */ ((FeatureCategory2) => {
13220
14193
  FeatureCategory2["COMMUNICATION"] = "communication";
@@ -13340,6 +14313,12 @@ function isChatType(value) {
13340
14313
 
13341
14314
  // src/constants/models.ts
13342
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
+ };
13343
14322
  var DEFAULT_VOICE_INFERENCE_MODEL = "openai:chat:gpt-5.6-luna";
13344
14323
  var DEFAULT_CUSTOM_VOICE_MODEL = "elevenlabs:voice:river";
13345
14324
 
@@ -13431,6 +14410,51 @@ function getAllResourceSlugs() {
13431
14410
  return Object.keys(RESOURCE_METADATA);
13432
14411
  }
13433
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
+
13434
14458
  // src/scopes.ts
13435
14459
  var ScopeCategory = /* @__PURE__ */ ((ScopeCategory2) => {
13436
14460
  ScopeCategory2["WORKSPACE"] = "workspace";
@@ -13536,7 +14560,9 @@ var SCOPES = {
13536
14560
  "chats:write": {
13537
14561
  name: "chats:write",
13538
14562
  category: "chats" /* CHATS */,
13539
- 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",
13540
14566
  implies: ["chats:read"]
13541
14567
  },
13542
14568
  "chats:admin": {
@@ -14235,6 +15261,8 @@ export {
14235
15261
  FhirVendor,
14236
15262
  FhirConnectionState,
14237
15263
  FhirClientType,
15264
+ TestChatRunLane,
15265
+ TestChatRunOutcome,
14238
15266
  CriterionType,
14239
15267
  DriverMode,
14240
15268
  AccessGrantResourceType,
@@ -14242,21 +15270,15 @@ export {
14242
15270
  AccessGrantStatus,
14243
15271
  AccessGrantTrigger,
14244
15272
  ConsentMethod,
15273
+ MemberRelationshipKind,
15274
+ RelatedMemberRole,
15275
+ RelationshipCardinality,
15276
+ MEMBER_RELATIONSHIP_KINDS,
14245
15277
  CONFIG_HEALTH_FACADE_CHECK_SLUGS,
14246
15278
  isConfigHealthFacadeCheckSlug,
14247
- ActivityActorKind,
14248
- ActivityAggregationKind,
14249
- ActivityCaptureState,
14250
- ActivityConfigAction,
14251
- ActivityConfigArea,
14252
- ActivityCoverageLimitation,
14253
- ActivityDirection,
14254
- ActivityEmptyReason,
14255
- ActivityEventType,
14256
- ActivityEventTypePreset,
14257
- ActivityGoalImpact,
14258
- ActivityTimelineProjection,
14259
- FormValueDisposition,
15279
+ UiPromptPresentedKind,
15280
+ UiPromptResponseKind,
15281
+ UiPromptResponseStatus,
14260
15282
  parseExperimentStatCount,
14261
15283
  TERMINAL_TASK_STATES,
14262
15284
  WorkspaceInvitationsApi,
@@ -14265,13 +15287,14 @@ export {
14265
15287
  createApiModules,
14266
15288
  createWorkspaceClient,
14267
15289
  bindAccessGrantsMethods,
15290
+ bindInterventionRequestsMethods,
14268
15291
  bindAgentTasksMethods,
14269
15292
  bindAgentsMethods,
14270
15293
  bindTasksMethods,
14271
15294
  bindChatsMethods,
14272
15295
  bindCallsMethods,
14273
15296
  bindDashboardsMethods,
14274
- bindActivityTimelineMethods,
15297
+ bindActivityMethods,
14275
15298
  bindMotdMethods,
14276
15299
  bindTrackedLinksMethods,
14277
15300
  bindDataTypesMethods,
@@ -14311,6 +15334,10 @@ export {
14311
15334
  getVoiceModelId,
14312
15335
  canPreviewVoice,
14313
15336
  QUERY_VALUELESS_OPS,
15337
+ ChannelMessageDirection,
15338
+ ChannelMessageSource,
15339
+ ChannelMessagesUnavailableReason,
15340
+ EhrWritebackOutcomeResponseStatus,
14314
15341
  SMS_DELIVERY_FAILURE_STATUSES,
14315
15342
  isSMSDeliveryFailureStatus,
14316
15343
  AGENT_NOTE_ORIGINS,
@@ -14333,6 +15360,13 @@ export {
14333
15360
  WorkflowRoutingMode,
14334
15361
  WIDGET_SLUGS,
14335
15362
  PromoCodeStatus,
15363
+ ImportReadinessIssueCode,
15364
+ ImportReadinessIssueResourceType,
15365
+ ImportSkippedRuleResourceGroupResourceType,
15366
+ ImportSkippedRuleResponseNeededResourceTypesItem,
15367
+ ImportSkippedRuleResponseParentKind,
15368
+ ImportSkippedRuleResponseReasonCode,
15369
+ ImportSkippedRuleResponseStatus,
14336
15370
  FeatureCategory,
14337
15371
  FeatureVisibility,
14338
15372
  initializeFeatures,
@@ -14354,14 +15388,24 @@ export {
14354
15388
  requiresAssistantParticipant,
14355
15389
  isChatType,
14356
15390
  DEFAULT_CHAT_MODEL,
15391
+ DEFAULT_AGENT_CHAT_MODEL,
15392
+ DEFAULT_AGENT_REALTIME_MODEL,
15393
+ DEFAULT_AGENT_REALTIME_MODEL_CONFIG,
14357
15394
  DEFAULT_VOICE_INFERENCE_MODEL,
14358
15395
  DEFAULT_CUSTOM_VOICE_MODEL,
14359
15396
  getResourceMetadata,
14360
15397
  getAllResourceSlugs,
15398
+ ActivityGrain,
15399
+ ActivityGroupBy,
15400
+ ActivityOpenItemOrder,
15401
+ ActivityWindowBasis,
15402
+ ActivityEventFamily,
15403
+ ActivityOutcome,
15404
+ RefResolutionStatus,
14361
15405
  ScopeCategory,
14362
15406
  SCOPES,
14363
15407
  ScopeManager,
14364
15408
  SCOPE_PRESETS,
14365
15409
  getRevisionState
14366
15410
  };
14367
- //# sourceMappingURL=chunk-24L4RD4Z.js.map
15411
+ //# sourceMappingURL=chunk-N446FGCT.js.map