@gravity-rail/sdk 0.17.0 → 0.18.1

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.
@@ -1405,9 +1405,7 @@ var ChatsApi = class extends BaseApiClient {
1405
1405
  }
1406
1406
  /** Get loaded and revealed skills for a chat. */
1407
1407
  async getChatSkills(wid, chatId) {
1408
- return this.fetch(
1409
- `w/${wid}/chats/${chatId}/skills`
1410
- );
1408
+ return this.fetch(`w/${wid}/chats/${chatId}/skills`);
1411
1409
  }
1412
1410
  /** List built-in skills selectable before a Manager Chat (and on Routine manager tasks). */
1413
1411
  async getManagerSkills(wid) {
@@ -1949,6 +1947,7 @@ var DataTypesApi = class extends BaseApiClient {
1949
1947
  const params = new URLSearchParams();
1950
1948
  if (options?.memberId !== void 0) params.append("member_id", options.memberId.toString());
1951
1949
  if (options?.memberIds?.length) params.append("member_ids", options.memberIds.join(","));
1950
+ if (options?.recordId !== void 0) params.append("record_id", options.recordId.toString());
1952
1951
  if (options?.search) params.append("search", options.search);
1953
1952
  if (options?.searchField) params.append("search_field", options.searchField);
1954
1953
  if (options?.dataRecordFilterId != null) {
@@ -1969,9 +1968,7 @@ var DataTypesApi = class extends BaseApiClient {
1969
1968
  params.append("dataTypeId", options.dataTypeId.toString());
1970
1969
  }
1971
1970
  const qs = params.toString();
1972
- return this.fetch(
1973
- `w/${wid}/data-record-filters${qs ? `?${qs}` : ""}`
1974
- );
1971
+ return this.fetch(`w/${wid}/data-record-filters${qs ? `?${qs}` : ""}`);
1975
1972
  }
1976
1973
  /** Get a single data-record filter by ID. */
1977
1974
  async getDataRecordFilter(wid, filterId) {
@@ -1999,9 +1996,7 @@ var DataTypesApi = class extends BaseApiClient {
1999
1996
  }
2000
1997
  /** Get the count of records matching a saved filter. */
2001
1998
  async getDataRecordFilterCount(wid, filterId) {
2002
- return this.fetch(
2003
- `w/${wid}/data-record-filters/${filterId}/count`
2004
- );
1999
+ return this.fetch(`w/${wid}/data-record-filters/${filterId}/count`);
2005
2000
  }
2006
2001
  /** Get a single data record by ID. */
2007
2002
  async getDataRecord(wid, recordId) {
@@ -2484,6 +2479,27 @@ var EventsApi = class extends BaseApiClient {
2484
2479
  method: "POST"
2485
2480
  });
2486
2481
  }
2482
+ /**
2483
+ * Configuration change history for one routine, newest first.
2484
+ *
2485
+ * Answers "who turned this off, when, and why" — including the
2486
+ * platform-initiated pauses (finite-repeat exhaustion, outbound-safety
2487
+ * runaway auto-pause) that no other surface exposes.
2488
+ *
2489
+ * `transitionsOnly` filters to rows that record a real trigger-gate
2490
+ * transition. Prefer it for a toggle-focused view: a full-form save always
2491
+ * re-sends every field, so unfiltered history includes saves that changed
2492
+ * nothing.
2493
+ */
2494
+ async getRoutineConfigEvents(wid, id, options = {}) {
2495
+ const params = new URLSearchParams();
2496
+ if (options.limit) params.append("limit", options.limit.toString());
2497
+ if (options.beforeId) params.append("before_id", options.beforeId.toString());
2498
+ if (options.transitionsOnly) params.append("transitions_only", "true");
2499
+ return this.fetch(
2500
+ `w/${wid}/routines/${id}/history${params.toString() ? `?${params.toString()}` : ""}`
2501
+ );
2502
+ }
2487
2503
  /** List routine run history with optional filtering by routine and status. */
2488
2504
  async getRoutineRuns(wid, options = {}) {
2489
2505
  const params = new URLSearchParams();
@@ -4519,9 +4535,9 @@ var OrgApi = class extends BaseApiClient {
4519
4535
  /**
4520
4536
  * Update the settings an org admin owns: name, slug and contact details.
4521
4537
  *
4522
- * Deliberately NOT the admin organization update — `primary` and
4523
- * `enforceCreditLimit` are superuser-only and are not fields on this
4524
- * endpoint's request model at all.
4538
+ * Deliberately NOT the admin organization update — `enforceCreditLimit`
4539
+ * is superuser-only and is not a field on this endpoint's request model
4540
+ * at all.
4525
4541
  */
4526
4542
  async updateOrganizationSettings(orgIdOrUuid, data) {
4527
4543
  return this.fetch(`o/${orgIdOrUuid}`, {
@@ -4557,6 +4573,21 @@ var OrgApi = class extends BaseApiClient {
4557
4573
  async getOrgBillingCustomer(orgIdOrUuid) {
4558
4574
  return this.fetch(`o/${orgIdOrUuid}/billing-customer`);
4559
4575
  }
4576
+ /**
4577
+ * Per-workspace usage for this organization's current credit window.
4578
+ *
4579
+ * Requires a billing role on the organization's billing customer — the
4580
+ * same gate `getOrgBillingCustomer().hasAccess` reports, and the one that
4581
+ * decides whether the billing tab is shown at all.
4582
+ *
4583
+ * `creditsUsed` is a real organization-wide total or it is null; it is
4584
+ * never a partial sum. There is deliberately no per-workspace "remaining"
4585
+ * figure — the caps belong to the organization, so `cap - oneWorkspace`
4586
+ * describes nothing.
4587
+ */
4588
+ async getOrgWorkspaceUsage(orgIdOrUuid) {
4589
+ return this.fetch(`o/${orgIdOrUuid}/usage/workspaces`);
4590
+ }
4560
4591
  /**
4561
4592
  * List members of an organization.
4562
4593
  */
@@ -5328,6 +5359,7 @@ var PhoneNumbersApi = class extends BaseApiClient {
5328
5359
  if (filters?.inbound !== void 0) params.set("inbound", String(filters.inbound));
5329
5360
  if (filters?.dateFrom) params.set("dateFrom", filters.dateFrom);
5330
5361
  if (filters?.dateTo) params.set("dateTo", filters.dateTo);
5362
+ if (filters?.callId !== void 0) params.set("callId", String(filters.callId));
5331
5363
  return this.fetch(`w/${wid}/calls?${params}`);
5332
5364
  }
5333
5365
  /** List paginated voicemails for a phone number. */
@@ -6343,12 +6375,6 @@ var SitesApi = class extends BaseApiClient {
6343
6375
  }
6344
6376
  return verifyResponse;
6345
6377
  }
6346
- /** Trigger a crawl of the site's external content source. */
6347
- async crawlSite(wid, siteId) {
6348
- return this.fetch(`w/${wid}/sites/${siteId}/crawl`, {
6349
- method: "POST"
6350
- });
6351
- }
6352
6378
  /** Create a new site in the workspace. */
6353
6379
  async createSite(wid, site) {
6354
6380
  return this.fetch(`w/${wid}/sites`, {
@@ -6519,8 +6545,8 @@ var SubscriptionsApi = class extends BaseApiClient {
6519
6545
  });
6520
6546
  }
6521
6547
  /**
6522
- * List self-service, purchasable plans (org or workspace). Only plans with a
6523
- * paid Stripe price are returned. No auth required.
6548
+ * List self-service, purchasable organization plans or add-ons. Only products
6549
+ * with a Stripe Price are returned; zero-amount plans are allowed.
6524
6550
  */
6525
6551
  async listSelfServeProducts(productType) {
6526
6552
  const qs = productType ? `?product_type=${productType}` : "";
@@ -6555,7 +6581,13 @@ var SubscriptionsApi = class extends BaseApiClient {
6555
6581
  }
6556
6582
  });
6557
6583
  }
6558
- /** Add a workspace to an existing subscription. */
6584
+ /**
6585
+ * Provision a new workspace under an existing org subscription.
6586
+ *
6587
+ * No product or period: the organization already holds the plan and the new
6588
+ * workspace bills through it. Returns before the workspace exists —
6589
+ * `provisioning: true` means poll for it.
6590
+ */
6559
6591
  async addWorkspaceToSubscription(subscriptionId, data) {
6560
6592
  return this.fetch(`subscriptions/${subscriptionId}/add-workspace`, {
6561
6593
  method: "POST",
@@ -7138,6 +7170,8 @@ var JourneysApi = class extends BaseApiClient {
7138
7170
  qs.set("currentTaskId", String(params.currentTaskId));
7139
7171
  if (params?.runtimeFailureEdgeId !== void 0)
7140
7172
  qs.set("runtimeFailureEdgeId", String(params.runtimeFailureEdgeId));
7173
+ if (params?.memberJourneyId !== void 0)
7174
+ qs.set("memberJourneyId", String(params.memberJourneyId));
7141
7175
  const query = qs.toString();
7142
7176
  return this.fetch(
7143
7177
  `w/${wid}/journeys/${journeyId}/members${query ? `?${query}` : ""}`
@@ -7174,6 +7208,36 @@ var JourneysApi = class extends BaseApiClient {
7174
7208
  async getMemberJourneys(wid, memberId) {
7175
7209
  return this.fetch(`w/${wid}/journeys/by-member/${memberId}`);
7176
7210
  }
7211
+ /**
7212
+ * Status history for one enrollment — the per-member journey timeline.
7213
+ *
7214
+ * This is where a step that completed having emitted nothing shows up as
7215
+ * `zeroEmission: true` with its reason, instead of being indistinguishable
7216
+ * from a step that sent (GRA-7341). Newest first.
7217
+ *
7218
+ * PHI-safe: identifiers, closed status codes, operator-authored step names,
7219
+ * counts, and timestamps. `entry.reason` is populated only for rows the
7220
+ * server allowlists; every other row reports `reasonRedacted: true`.
7221
+ *
7222
+ * `zeroEmissionOnly` narrows the page to the dropped-send rows. Use it when
7223
+ * that is all you need: without it a busy enrollment can push every
7224
+ * zero-emission row off the first page, and a caller that renders only what
7225
+ * it loaded would report "nothing was dropped" — the exact failure this
7226
+ * endpoint exists to eliminate. `zeroEmissionCount` is unaffected by the
7227
+ * filter and always counts the whole enrollment.
7228
+ */
7229
+ async getEnrollmentStatusLog(wid, journeyId, memberJourneyId, params = {}) {
7230
+ const qs = new URLSearchParams();
7231
+ if (params.page !== void 0) qs.set("page", String(params.page));
7232
+ if (params.pageSize !== void 0) qs.set("pageSize", String(params.pageSize));
7233
+ if (params.zeroEmissionOnly !== void 0) {
7234
+ qs.set("zeroEmissionOnly", String(params.zeroEmissionOnly));
7235
+ }
7236
+ const query = qs.toString();
7237
+ return this.fetch(
7238
+ `w/${wid}/journeys/${journeyId}/enrollments/${memberJourneyId}/status-log` + (query ? `?${query}` : "")
7239
+ );
7240
+ }
7177
7241
  /** List members currently or historically associated with one journey step. */
7178
7242
  async getStepMembers(wid, journeyId, stepUuid, params = {}) {
7179
7243
  const qs = new URLSearchParams();
@@ -7912,18 +7976,20 @@ var MASKED_SECRET_SENTINEL = "__SECRET_SET__";
7912
7976
  // src/types/billing-types.ts
7913
7977
  var WorkspaceFeature = /* @__PURE__ */ ((WorkspaceFeature2) => {
7914
7978
  WorkspaceFeature2["PHONE"] = "phone";
7979
+ WorkspaceFeature2["A2P_REGISTRATION"] = "a2p_registration";
7915
7980
  WorkspaceFeature2["EMAIL"] = "email";
7916
7981
  WorkspaceFeature2["WHATSAPP"] = "whatsapp";
7917
7982
  WorkspaceFeature2["DISCORD"] = "discord";
7918
7983
  WorkspaceFeature2["SLACK"] = "slack";
7919
7984
  WorkspaceFeature2["TEAMS"] = "teams";
7920
7985
  WorkspaceFeature2["SITES"] = "sites";
7921
- WorkspaceFeature2["FORMS"] = "forms";
7922
7986
  WorkspaceFeature2["MAPS"] = "maps";
7923
7987
  WorkspaceFeature2["BROWSER"] = "browser";
7924
7988
  WorkspaceFeature2["WEB_SEARCH"] = "web_search";
7925
7989
  WorkspaceFeature2["CALENDAR"] = "calendar";
7926
7990
  WorkspaceFeature2["EXPERIMENTS"] = "experiments";
7991
+ WorkspaceFeature2["MAILBOX_USER_INPUT"] = "mailbox_user_input";
7992
+ WorkspaceFeature2["FORKED_TRAJECTORIES"] = "forked_trajectories";
7927
7993
  WorkspaceFeature2["GMAIL"] = "gmail";
7928
7994
  WorkspaceFeature2["GCALENDAR"] = "gcalendar";
7929
7995
  WorkspaceFeature2["GDRIVE"] = "gdrive";
@@ -7940,6 +8006,9 @@ var WorkspaceFeature = /* @__PURE__ */ ((WorkspaceFeature2) => {
7940
8006
  WorkspaceFeature2["CONFLUENCE"] = "confluence";
7941
8007
  WorkspaceFeature2["AGENT_MEMORY"] = "agent_memory";
7942
8008
  WorkspaceFeature2["IMAGE_GENERATION"] = "image_generation";
8009
+ WorkspaceFeature2["STRICT_NATIVE_VOICE"] = "strict_native_voice";
8010
+ WorkspaceFeature2["CHARLESTON_NEPHROLOGY_PMD_PAGING"] = "charleston_nephrology_pmd_paging";
8011
+ WorkspaceFeature2["PATIENTSYNC_TRANSFER"] = "patientsync_transfer";
7943
8012
  return WorkspaceFeature2;
7944
8013
  })(WorkspaceFeature || {});
7945
8014
  var MemberFeature = /* @__PURE__ */ ((MemberFeature2) => {
@@ -7975,7 +8044,6 @@ var Resource = /* @__PURE__ */ ((Resource2) => {
7975
8044
  return Resource2;
7976
8045
  })(Resource || {});
7977
8046
  var ProductType = /* @__PURE__ */ ((ProductType2) => {
7978
- ProductType2["WORKSPACE"] = "workspace";
7979
8047
  ProductType2["ORG"] = "org";
7980
8048
  ProductType2["ADDON"] = "addon";
7981
8049
  return ProductType2;
@@ -7985,15 +8053,6 @@ var ORG_ONLY_RESOURCES = /* @__PURE__ */ new Set([
7985
8053
  "org_admin" /* ORG_ADMIN */,
7986
8054
  "phone_number" /* PHONE_NUMBER */
7987
8055
  ]);
7988
- var LIMIT_ONLY_RESOURCES = /* @__PURE__ */ new Set([
7989
- "member" /* MEMBER */,
7990
- "inbox" /* INBOX */,
7991
- "site" /* SITE */,
7992
- "phone_number" /* PHONE_NUMBER */,
7993
- "storage_mb" /* STORAGE_MB */,
7994
- "workspace" /* WORKSPACE */,
7995
- "org_admin" /* ORG_ADMIN */
7996
- ]);
7997
8056
 
7998
8057
  // src/types/workspace-types.ts
7999
8058
  var WorkspaceProvisionStatus = /* @__PURE__ */ ((WorkspaceProvisionStatus2) => {
@@ -8051,8 +8110,9 @@ var REALTIME_MODEL_GEMINI_VERTEX = "google:vertex:gemini-3.1-flash-live";
8051
8110
  var REALTIME_MODEL_NOVA_SONIC = "aws:bedrock:nova-sonic-1";
8052
8111
  var REALTIME_MODEL_CUSTOM = "custom:realtime:composable";
8053
8112
  var STT_MODEL_DEEPGRAM_FLUX = "deepgram:stt:flux-general-en";
8113
+ var STT_MODEL_DEEPGRAM_FLUX_SELFHOST = "deepgram:stt:flux-general-en:selfhost";
8054
8114
  var STT_MODEL_DEEPGRAM_FLUX_MULTI = "deepgram:stt:flux-general-multi";
8055
- var STT_MODEL_ELEVENLABS_SCRIBE = "elevenlabs:stt:scribe_v2_realtime";
8115
+ var STT_MODEL_DEEPGRAM_FLUX_MULTI_SELFHOST = "deepgram:stt:flux-general-multi:selfhost";
8056
8116
  var TTS_MODEL_ELEVENLABS_FLASH = "elevenlabs:tts:eleven_flash_v2_5";
8057
8117
  var TTS_MODEL_ELEVENLABS_TURBO = "elevenlabs:tts:eleven_turbo_v2_5";
8058
8118
  var TTS_MODEL_ELEVENLABS_MULTILINGUAL = "elevenlabs:tts:eleven_multilingual_v2";
@@ -8154,6 +8214,87 @@ function isConfigHealthFacadeCheckSlug(value) {
8154
8214
  return CONFIG_HEALTH_FACADE_CHECK_SLUGS.includes(value);
8155
8215
  }
8156
8216
 
8217
+ // src/types/generated/activity_timeline.ts
8218
+ var ActivityActorKind = {
8219
+ member: "member",
8220
+ agent: "agent",
8221
+ operator: "operator",
8222
+ event_rule: "event_rule",
8223
+ api_key: "api_key",
8224
+ system: "system"
8225
+ };
8226
+ var ActivityAggregationKind = {
8227
+ burst: "burst",
8228
+ conversation_session: "conversation_session",
8229
+ operation: "operation"
8230
+ };
8231
+ var ActivityCaptureState = {
8232
+ active: "active",
8233
+ not_started: "not_started"
8234
+ };
8235
+ var ActivityConfigAction = {
8236
+ created: "created",
8237
+ updated: "updated",
8238
+ deleted: "deleted"
8239
+ };
8240
+ var ActivityConfigArea = {
8241
+ inbox: "inbox",
8242
+ phone_number: "phone_number",
8243
+ business_hours: "business_hours",
8244
+ escalation_settings: "escalation_settings",
8245
+ workspace_settings: "workspace_settings"
8246
+ };
8247
+ var ActivityCoverageLimitation = {
8248
+ none: "none",
8249
+ capture_started_at_cutover: "capture_started_at_cutover",
8250
+ legacy_baseline_incomplete: "legacy_baseline_incomplete",
8251
+ deletion_may_remove_history: "deletion_may_remove_history",
8252
+ config_capture_started: "config_capture_started"
8253
+ };
8254
+ var ActivityDirection = {
8255
+ inbound: "inbound",
8256
+ outbound: "outbound"
8257
+ };
8258
+ var ActivityEmptyReason = {
8259
+ collection: "collection",
8260
+ period: "period",
8261
+ filtered: "filtered"
8262
+ };
8263
+ var ActivityEventType = {
8264
+ workflow_started: "workflow_started",
8265
+ assignment_task_transition: "assignment_task_transition",
8266
+ journey_status_changed: "journey_status_changed",
8267
+ journey_step_status_changed: "journey_step_status_changed",
8268
+ journey_goal_status_changed: "journey_goal_status_changed",
8269
+ chat_started: "chat_started",
8270
+ message: "message",
8271
+ call: "call",
8272
+ form_field_changed: "form_field_changed",
8273
+ config_changed: "config_changed"
8274
+ };
8275
+ var ActivityEventTypePreset = {
8276
+ communications: "communications",
8277
+ formUpdates: "formUpdates",
8278
+ workflowTask: "workflowTask",
8279
+ journey: "journey",
8280
+ configuration: "configuration"
8281
+ };
8282
+ var ActivityGoalImpact = {
8283
+ neutral: "neutral",
8284
+ success: "success",
8285
+ attention: "attention",
8286
+ failure: "failure"
8287
+ };
8288
+ var ActivityTimelineProjection = {
8289
+ timeline: "timeline"
8290
+ };
8291
+ var FormValueDisposition = {
8292
+ shown: "shown",
8293
+ omitted_long: "omitted_long",
8294
+ omitted_structured: "omitted_structured",
8295
+ omitted_burst: "omitted_burst"
8296
+ };
8297
+
8157
8298
  // src/types/experiment-types.ts
8158
8299
  function parseExperimentStatCount(value) {
8159
8300
  return typeof value === "number" ? value : null;
@@ -8913,6 +9054,17 @@ var PatientSyncConnectionsApi = class extends BaseApiClient {
8913
9054
  }
8914
9055
  };
8915
9056
 
9057
+ // src/api/activity-timeline.ts
9058
+ var ActivityTimelineApi = class extends BaseApiClient {
9059
+ /** One page of activity. Omit `cursor` for a fresh snapshot. */
9060
+ async queryActivityTimeline(wid, request = {}) {
9061
+ return this.fetch(`w/${wid}/activity-timeline/query`, {
9062
+ method: "POST",
9063
+ body: JSON.stringify(request)
9064
+ });
9065
+ }
9066
+ };
9067
+
8916
9068
  // src/api/motd.ts
8917
9069
  var MotdApi = class extends BaseApiClient {
8918
9070
  /**
@@ -9010,6 +9162,29 @@ var MetricsApi = class extends BaseApiClient {
9010
9162
  }
9011
9163
  };
9012
9164
 
9165
+ // src/api/projects.ts
9166
+ var ProjectsApi = class extends BaseApiClient {
9167
+ /** List projects (README frontmatter summaries). */
9168
+ async getProjects(wid, options = {}) {
9169
+ const params = new URLSearchParams();
9170
+ if (options.page !== void 0) params.append("page", options.page.toString());
9171
+ if (options.pageSize !== void 0) params.append("pageSize", options.pageSize.toString());
9172
+ return this.fetch(
9173
+ `w/${wid}/projects${params.toString() ? `?${params.toString()}` : ""}`
9174
+ );
9175
+ }
9176
+ /** One project: summary + present docs + plan summaries. */
9177
+ async getProject(wid, slug) {
9178
+ return this.fetch(`w/${wid}/projects/${encodeURIComponent(slug)}`);
9179
+ }
9180
+ /** One plan: summary + resolved process + flows + run state. */
9181
+ async getPlan(wid, slug, plan) {
9182
+ return this.fetch(
9183
+ `w/${wid}/projects/${encodeURIComponent(slug)}/plans/${encodeURIComponent(plan)}`
9184
+ );
9185
+ }
9186
+ };
9187
+
9013
9188
  // src/api/tracked-links.ts
9014
9189
  function withFilters(params, options) {
9015
9190
  if (options.dateFrom) params.append("dateFrom", options.dateFrom);
@@ -9219,6 +9394,7 @@ function createApiModules(apiKey, baseUrl, customFetch) {
9219
9394
  hubspot: new HubspotApi(apiKey, baseUrl, customFetch),
9220
9395
  features: new FeaturesApi(apiKey, baseUrl, customFetch),
9221
9396
  files: new FilesApi(apiKey, baseUrl, customFetch),
9397
+ projects: new ProjectsApi(apiKey, baseUrl, customFetch),
9222
9398
  inboxes: new InboxesApi(apiKey, baseUrl, customFetch),
9223
9399
  inquiries: new InquiriesApi(apiKey, baseUrl, customFetch),
9224
9400
  journeys: new JourneysApi(apiKey, baseUrl, customFetch),
@@ -9226,6 +9402,7 @@ function createApiModules(apiKey, baseUrl, customFetch) {
9226
9402
  connectionSync: new ConnectionSyncApi(apiKey, baseUrl, customFetch),
9227
9403
  mcpServers: new McpServersApi(apiKey, baseUrl, customFetch),
9228
9404
  members: new MembersApi(apiKey, baseUrl, customFetch),
9405
+ activityTimeline: new ActivityTimelineApi(apiKey, baseUrl, customFetch),
9229
9406
  motd: new MotdApi(apiKey, baseUrl, customFetch),
9230
9407
  trackedLinks: new TrackedLinksApi(apiKey, baseUrl, customFetch),
9231
9408
  confluence: new ConfluenceApi(apiKey, baseUrl, customFetch),
@@ -9312,7 +9489,6 @@ var WORKSPACE_METHOD_NAMES = [
9312
9489
  "configureSalesforce",
9313
9490
  "convertEmail",
9314
9491
  "convertFile",
9315
- "crawlSite",
9316
9492
  "createAbility",
9317
9493
  "createAccessGrant",
9318
9494
  "createAgent",
@@ -9603,6 +9779,7 @@ var WORKSPACE_METHOD_NAMES = [
9603
9779
  "getDocumoFaxSetup",
9604
9780
  "listDocumoFaxes",
9605
9781
  "getDocumoFaxStatus",
9782
+ "getEnrollmentStatusLog",
9606
9783
  "getEventRule",
9607
9784
  "getEventRules",
9608
9785
  "getExperiment",
@@ -9630,6 +9807,7 @@ var WORKSPACE_METHOD_NAMES = [
9630
9807
  "listChatRecordings",
9631
9808
  "previewQuery",
9632
9809
  "publishSiteSource",
9810
+ "queryActivityTimeline",
9633
9811
  "registerDiscordSlashCommands",
9634
9812
  "reopenWorkspaceSupportRequest",
9635
9813
  "resetSiteSource",
@@ -9735,8 +9913,11 @@ var WORKSPACE_METHOD_NAMES = [
9735
9913
  "getPhoneNumbers",
9736
9914
  "getPhoneUsageReport",
9737
9915
  "getPlatformApp",
9916
+ "getPlan",
9738
9917
  "getPresenceStatus",
9739
9918
  "getProducts",
9919
+ "getProject",
9920
+ "getProjects",
9740
9921
  "getPublicFile",
9741
9922
  "getPublicFolder",
9742
9923
  "getPublicFolderFiles",
@@ -9747,6 +9928,7 @@ var WORKSPACE_METHOD_NAMES = [
9747
9928
  "getRecordingInfo",
9748
9929
  "getResellerWorkspaces",
9749
9930
  "getRoutine",
9931
+ "getRoutineConfigEvents",
9750
9932
  "getRoutineRuns",
9751
9933
  "getRoutines",
9752
9934
  "getRuleExecutions",
@@ -10202,6 +10384,11 @@ function bindDashboardsMethods(target, dashboards) {
10202
10384
  target.getConfigurationHealth = dashboards.getConfigurationHealth.bind(dashboards);
10203
10385
  }
10204
10386
 
10387
+ // src/client/bindings/activity-timeline.ts
10388
+ function bindActivityTimelineMethods(target, activityTimeline) {
10389
+ target.queryActivityTimeline = activityTimeline.queryActivityTimeline.bind(activityTimeline);
10390
+ }
10391
+
10205
10392
  // src/client/bindings/motd.ts
10206
10393
  function bindMotdMethods(target, motd) {
10207
10394
  target.getMotd = motd.getMotd.bind(motd);
@@ -10464,7 +10651,6 @@ function bindSitesMethods(target, sites) {
10464
10651
  target.siteSendEmailCode = sites.siteSendEmailCode.bind(sites);
10465
10652
  target.siteVerifyCode = sites.siteVerifyCode.bind(sites);
10466
10653
  target.siteGoogleOAuthInitiate = sites.siteGoogleOAuthInitiate.bind(sites);
10467
- target.crawlSite = sites.crawlSite.bind(sites);
10468
10654
  target.createSite = sites.createSite.bind(sites);
10469
10655
  target.updateSite = sites.updateSite.bind(sites);
10470
10656
  target.deleteSite = sites.deleteSite.bind(sites);
@@ -10527,6 +10713,13 @@ function bindFilesMethods(target, files) {
10527
10713
  target.getPublicFolderFiles = files.getPublicFolderFiles.bind(files);
10528
10714
  }
10529
10715
 
10716
+ // src/client/bindings/projects.ts
10717
+ function bindProjectsMethods(target, projects) {
10718
+ target.getProjects = projects.getProjects.bind(projects);
10719
+ target.getProject = projects.getProject.bind(projects);
10720
+ target.getPlan = projects.getPlan.bind(projects);
10721
+ }
10722
+
10530
10723
  // src/client/bindings/events.ts
10531
10724
  function bindEventsMethods(target, events) {
10532
10725
  target.getEventRules = events.getEventRules.bind(events);
@@ -11015,6 +11208,7 @@ function bindOrgMethods(target, org) {
11015
11208
  target.syncVoiceTrustProducts = org.syncVoiceTrustProducts.bind(org);
11016
11209
  target.createOrganizationWorkspace = org.createOrganizationWorkspace.bind(org);
11017
11210
  target.getOrgBillingCustomer = org.getOrgBillingCustomer.bind(org);
11211
+ target.getOrgWorkspaceUsage = org.getOrgWorkspaceUsage.bind(org);
11018
11212
  }
11019
11213
 
11020
11214
  // src/client/bindings/pronunciations.ts
@@ -11059,6 +11253,7 @@ function bindJourneysMethods(target, journeys) {
11059
11253
  target.reenrollMember = journeys.reenrollMember.bind(journeys);
11060
11254
  target.deleteEnrollment = journeys.deleteEnrollment.bind(journeys);
11061
11255
  target.getMemberJourneys = journeys.getMemberJourneys.bind(journeys);
11256
+ target.getEnrollmentStatusLog = journeys.getEnrollmentStatusLog.bind(journeys);
11062
11257
  target.getStepMembers = journeys.getStepMembers.bind(journeys);
11063
11258
  target.getStepMemberCounts = journeys.getStepMemberCounts.bind(journeys);
11064
11259
  target.advanceStep = journeys.advanceStep.bind(journeys);
@@ -11396,6 +11591,8 @@ var GravityRailClient = class {
11396
11591
  getDashboardChannelStats;
11397
11592
  getDashboardWorkflowAssignmentStats;
11398
11593
  getConfigurationHealth;
11594
+ // Activity Timeline API
11595
+ queryActivityTimeline;
11399
11596
  // MOTD API
11400
11597
  getMotd;
11401
11598
  // Tracked Links analytics (#10934)
@@ -11431,6 +11628,7 @@ var GravityRailClient = class {
11431
11628
  reenrollMember;
11432
11629
  deleteEnrollment;
11433
11630
  getMemberJourneys;
11631
+ getEnrollmentStatusLog;
11434
11632
  getStepMembers;
11435
11633
  getStepMemberCounts;
11436
11634
  advanceStep;
@@ -11556,6 +11754,7 @@ var GravityRailClient = class {
11556
11754
  syncVoiceTrustProducts;
11557
11755
  createOrganizationWorkspace;
11558
11756
  getOrgBillingCustomer;
11757
+ getOrgWorkspaceUsage;
11559
11758
  getVapidPublicKey;
11560
11759
  registerPushSubscription;
11561
11760
  unregisterPushSubscription;
@@ -11655,7 +11854,6 @@ var GravityRailClient = class {
11655
11854
  siteSendEmailCode;
11656
11855
  siteVerifyCode;
11657
11856
  siteGoogleOAuthInitiate;
11658
- crawlSite;
11659
11857
  createSite;
11660
11858
  updateSite;
11661
11859
  deleteSite;
@@ -11676,6 +11874,9 @@ var GravityRailClient = class {
11676
11874
  // Files API
11677
11875
  getFiles;
11678
11876
  getFile;
11877
+ getProjects;
11878
+ getProject;
11879
+ getPlan;
11679
11880
  resolveFilePath;
11680
11881
  downloadFilesZip;
11681
11882
  createFile;
@@ -11732,6 +11933,7 @@ var GravityRailClient = class {
11732
11933
  updateRoutine;
11733
11934
  deleteRoutine;
11734
11935
  runRoutine;
11936
+ getRoutineConfigEvents;
11735
11937
  getRoutineRuns;
11736
11938
  resetRoutineRuns;
11737
11939
  previewSchedule;
@@ -12197,6 +12399,7 @@ var GravityRailClient = class {
12197
12399
  bindMetricsMethods(this, apis.metrics);
12198
12400
  bindQueriesMethods(this, apis.queries);
12199
12401
  bindDashboardsMethods(this, apis.dashboards);
12402
+ bindActivityTimelineMethods(this, apis.activityTimeline);
12200
12403
  bindMotdMethods(this, apis.motd);
12201
12404
  bindTrackedLinksMethods(this, apis.trackedLinks);
12202
12405
  bindJourneysMethods(this, apis.journeys);
@@ -12209,6 +12412,7 @@ var GravityRailClient = class {
12209
12412
  bindAuthMethods(this, apis.auth, apis.assignments);
12210
12413
  bindSitesMethods(this, apis.sites);
12211
12414
  bindFilesMethods(this, apis.files);
12415
+ bindProjectsMethods(this, apis.projects);
12212
12416
  bindEventsMethods(this, apis.events);
12213
12417
  bindWorkflowsMethods(this, apis.workflows, apis.workflowNotes, apis.voice, apis.supervisors);
12214
12418
  bindCalendarsMethods(this, apis.calendars);
@@ -12728,105 +12932,79 @@ var RESOURCE_METADATA = {
12728
12932
  label: "Credits",
12729
12933
  unit: "credit",
12730
12934
  unitPlural: "credits",
12731
- description: "AI model usage billed as tokens with model-specific multipliers",
12732
- requiresFeature: null,
12733
- scope: "any"
12935
+ description: "AI model usage billed as tokens with model-specific multipliers"
12734
12936
  },
12735
12937
  ["stt" /* STT */]: {
12736
12938
  label: "Speech-to-Text",
12737
12939
  unit: "minute",
12738
12940
  unitPlural: "minutes",
12739
- description: "Audio transcription in minutes",
12740
- requiresFeature: null,
12741
- scope: "any"
12941
+ description: "Audio transcription in minutes"
12742
12942
  },
12743
12943
  ["tts" /* TTS */]: {
12744
12944
  label: "Text-to-Speech",
12745
12945
  unit: "1,000 characters",
12746
12946
  unitPlural: "1,000 characters",
12747
- description: "Text synthesized to audio, billed in lots of 1,000 characters",
12748
- requiresFeature: null,
12749
- scope: "any"
12947
+ description: "Text synthesized to audio, billed in lots of 1,000 characters"
12750
12948
  },
12751
12949
  ["sms" /* SMS */]: {
12752
12950
  label: "SMS Messages",
12753
12951
  unit: "message",
12754
12952
  unitPlural: "messages",
12755
- description: "Text messages sent via phone number",
12756
- requiresFeature: "phone" /* PHONE */,
12757
- scope: "any"
12953
+ description: "Text messages sent via phone number"
12758
12954
  },
12759
12955
  ["email" /* EMAIL */]: {
12760
12956
  label: "Emails",
12761
12957
  unit: "message",
12762
12958
  unitPlural: "messages",
12763
- description: "Email messages sent or received",
12764
- requiresFeature: "email" /* EMAIL */,
12765
- scope: "any"
12959
+ description: "Email messages sent or received"
12766
12960
  },
12767
12961
  ["phone_call" /* PHONE_CALL */]: {
12768
12962
  label: "Phone Calls",
12769
12963
  unit: "minute",
12770
12964
  unitPlural: "minutes",
12771
- description: "Phone call duration in minutes",
12772
- requiresFeature: "phone" /* PHONE */,
12773
- scope: "any"
12965
+ description: "Phone call duration in minutes"
12774
12966
  },
12775
12967
  ["phone_number" /* PHONE_NUMBER */]: {
12776
12968
  label: "Phone Numbers",
12777
12969
  unit: "number",
12778
12970
  unitPlural: "numbers",
12779
- description: "Active phone numbers for calling and SMS",
12780
- requiresFeature: "phone" /* PHONE */,
12781
- scope: "any"
12971
+ description: "Active phone numbers for calling and SMS"
12782
12972
  },
12783
12973
  ["inbox" /* INBOX */]: {
12784
12974
  label: "Email Inboxes",
12785
12975
  unit: "inbox",
12786
12976
  unitPlural: "inboxes",
12787
- description: "Email inboxes for receiving messages",
12788
- requiresFeature: "email" /* EMAIL */,
12789
- scope: "any"
12977
+ description: "Email inboxes for receiving messages"
12790
12978
  },
12791
12979
  ["site" /* SITE */]: {
12792
12980
  label: "Sites",
12793
12981
  unit: "site",
12794
12982
  unitPlural: "sites",
12795
- description: "Published websites",
12796
- requiresFeature: "sites" /* SITES */,
12797
- scope: "any"
12983
+ description: "Published websites"
12798
12984
  },
12799
12985
  ["member" /* MEMBER */]: {
12800
12986
  label: "Members",
12801
12987
  unit: "member",
12802
12988
  unitPlural: "members",
12803
- description: "Total workspace members",
12804
- requiresFeature: null,
12805
- scope: "workspace"
12989
+ description: "Members across the organization"
12806
12990
  },
12807
12991
  ["workspace" /* WORKSPACE */]: {
12808
12992
  label: "Workspaces",
12809
12993
  unit: "workspace",
12810
12994
  unitPlural: "workspaces",
12811
- description: "Workspaces in the organization",
12812
- requiresFeature: null,
12813
- scope: "org"
12995
+ description: "Workspaces in the organization"
12814
12996
  },
12815
12997
  ["org_admin" /* ORG_ADMIN */]: {
12816
12998
  label: "Organization Admins",
12817
12999
  unit: "admin",
12818
13000
  unitPlural: "admins",
12819
- description: "Organization administrators",
12820
- requiresFeature: null,
12821
- scope: "org"
13001
+ description: "Organization administrators"
12822
13002
  },
12823
13003
  ["storage_mb" /* STORAGE_MB */]: {
12824
13004
  label: "Storage",
12825
13005
  unit: "MB",
12826
13006
  unitPlural: "MB",
12827
- description: "File storage in megabytes",
12828
- requiresFeature: null,
12829
- scope: "any"
13007
+ description: "File storage in megabytes"
12830
13008
  }
12831
13009
  };
12832
13010
  function getResourceMetadata(resource) {
@@ -12835,35 +13013,6 @@ function getResourceMetadata(resource) {
12835
13013
  function getAllResourceSlugs() {
12836
13014
  return Object.keys(RESOURCE_METADATA);
12837
13015
  }
12838
- function getScopeFromProductType(productType) {
12839
- const isOrgProduct = productType === "org" /* ORG */;
12840
- return isOrgProduct ? "org" : "workspace";
12841
- }
12842
- function getApplicableResources(scope, enabledFeatures) {
12843
- const enabledSet = enabledFeatures ? new Set(enabledFeatures) : null;
12844
- return Object.entries(RESOURCE_METADATA).filter(([_slug, metadata]) => {
12845
- if (scope === "workspace" && metadata.scope === "org") {
12846
- return false;
12847
- }
12848
- if (scope === "org" && metadata.scope === "workspace") {
12849
- return false;
12850
- }
12851
- if (enabledSet !== null && metadata.requiresFeature !== null) {
12852
- if (!enabledSet.has(metadata.requiresFeature)) {
12853
- return false;
12854
- }
12855
- }
12856
- return true;
12857
- }).map(([slug]) => slug).sort((a, b) => {
12858
- const metaA = RESOURCE_METADATA[a];
12859
- const metaB = RESOURCE_METADATA[b];
12860
- return metaA.label.localeCompare(metaB.label);
12861
- });
12862
- }
12863
- function getApplicableResourceSlugs(productType) {
12864
- const scope = getScopeFromProductType(productType);
12865
- return getApplicableResources(scope);
12866
- }
12867
13016
 
12868
13017
  // src/scopes.ts
12869
13018
  var ScopeCategory = /* @__PURE__ */ ((ScopeCategory2) => {
@@ -13004,7 +13153,10 @@ var SCOPES = {
13004
13153
  "workflows:read": {
13005
13154
  name: "workflows:read",
13006
13155
  category: "workflows" /* WORKFLOWS */,
13007
- description: "View workflow definitions"
13156
+ // Object access is separate: listing and opening a specific workflow
13157
+ // additionally require ownership, workflows:admin, a workflow role
13158
+ // association, or an access grant (WorkflowAction.USE).
13159
+ description: "Access the Workflows area and view workflows shared with you"
13008
13160
  },
13009
13161
  "workflows:write": {
13010
13162
  name: "workflows:write",
@@ -13618,7 +13770,6 @@ export {
13618
13770
  Resource,
13619
13771
  ProductType,
13620
13772
  ORG_ONLY_RESOURCES,
13621
- LIMIT_ONLY_RESOURCES,
13622
13773
  WorkspaceProvisionStatus,
13623
13774
  InvitationStatus,
13624
13775
  ModelProvider,
@@ -13631,8 +13782,9 @@ export {
13631
13782
  REALTIME_MODEL_NOVA_SONIC,
13632
13783
  REALTIME_MODEL_CUSTOM,
13633
13784
  STT_MODEL_DEEPGRAM_FLUX,
13785
+ STT_MODEL_DEEPGRAM_FLUX_SELFHOST,
13634
13786
  STT_MODEL_DEEPGRAM_FLUX_MULTI,
13635
- STT_MODEL_ELEVENLABS_SCRIBE,
13787
+ STT_MODEL_DEEPGRAM_FLUX_MULTI_SELFHOST,
13636
13788
  TTS_MODEL_ELEVENLABS_FLASH,
13637
13789
  TTS_MODEL_ELEVENLABS_TURBO,
13638
13790
  TTS_MODEL_ELEVENLABS_MULTILINGUAL,
@@ -13653,6 +13805,19 @@ export {
13653
13805
  ConsentMethod,
13654
13806
  CONFIG_HEALTH_FACADE_CHECK_SLUGS,
13655
13807
  isConfigHealthFacadeCheckSlug,
13808
+ ActivityActorKind,
13809
+ ActivityAggregationKind,
13810
+ ActivityCaptureState,
13811
+ ActivityConfigAction,
13812
+ ActivityConfigArea,
13813
+ ActivityCoverageLimitation,
13814
+ ActivityDirection,
13815
+ ActivityEmptyReason,
13816
+ ActivityEventType,
13817
+ ActivityEventTypePreset,
13818
+ ActivityGoalImpact,
13819
+ ActivityTimelineProjection,
13820
+ FormValueDisposition,
13656
13821
  parseExperimentStatCount,
13657
13822
  TERMINAL_TASK_STATES,
13658
13823
  WorkspaceInvitationsApi,
@@ -13667,6 +13832,7 @@ export {
13667
13832
  bindChatsMethods,
13668
13833
  bindCallsMethods,
13669
13834
  bindDashboardsMethods,
13835
+ bindActivityTimelineMethods,
13670
13836
  bindMotdMethods,
13671
13837
  bindTrackedLinksMethods,
13672
13838
  bindDataTypesMethods,
@@ -13675,6 +13841,7 @@ export {
13675
13841
  bindAuthMethods,
13676
13842
  bindSitesMethods,
13677
13843
  bindFilesMethods,
13844
+ bindProjectsMethods,
13678
13845
  bindEventsMethods,
13679
13846
  bindExperimentsMethods,
13680
13847
  bindWorkflowsMethods,
@@ -13751,13 +13918,10 @@ export {
13751
13918
  DEFAULT_CUSTOM_VOICE_MODEL,
13752
13919
  getResourceMetadata,
13753
13920
  getAllResourceSlugs,
13754
- getScopeFromProductType,
13755
- getApplicableResources,
13756
- getApplicableResourceSlugs,
13757
13921
  ScopeCategory,
13758
13922
  SCOPES,
13759
13923
  ScopeManager,
13760
13924
  SCOPE_PRESETS,
13761
13925
  getRevisionState
13762
13926
  };
13763
- //# sourceMappingURL=chunk-CEFOCGYO.js.map
13927
+ //# sourceMappingURL=chunk-PUIYXJSZ.js.map