@gravity-rail/sdk 0.10.1 → 0.11.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.
- package/README.md +7 -8
- package/dist/{chunk-TJT7A4CO.js → chunk-V7ZKEH4V.js} +1 -1
- package/dist/chunk-V7ZKEH4V.js.map +1 -0
- package/dist/{chunk-2BJG4GYM.js → chunk-YESHLUL7.js} +812 -180
- package/dist/chunk-YESHLUL7.js.map +1 -0
- package/dist/{client-BffM3KcA.d.cts → client-BCgXtr8p.d.cts} +2630 -1114
- package/dist/{client-DfjAYbt8.d.ts → client-Dh1l20Ue.d.ts} +2630 -1114
- package/dist/helpers.cjs +6 -18
- package/dist/helpers.cjs.map +1 -1
- package/dist/helpers.d.cts +2 -2
- package/dist/helpers.d.ts +2 -2
- package/dist/helpers.js +6 -18
- package/dist/helpers.js.map +1 -1
- package/dist/index.cjs +842 -268
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +23 -21
- package/dist/index.d.ts +23 -21
- package/dist/index.js +51 -95
- package/dist/index.js.map +1 -1
- package/dist/internal.cjs +956 -258
- package/dist/internal.cjs.map +1 -1
- package/dist/internal.d.cts +443 -74
- package/dist/internal.d.ts +443 -74
- package/dist/internal.js +71 -2
- package/dist/internal.js.map +1 -1
- package/dist/realtime.cjs +42 -0
- package/dist/realtime.cjs.map +1 -1
- package/dist/realtime.d.cts +26 -0
- package/dist/realtime.d.ts +26 -0
- package/dist/realtime.js +42 -0
- package/dist/realtime.js.map +1 -1
- package/dist/{scopes-CmNKWrzb.d.ts → revision-state-BTF-MnbW.d.cts} +220 -18
- package/dist/{scopes-CjSvITpL.d.cts → revision-state-DOH1NMGb.d.ts} +220 -18
- package/dist/schemas.cjs +27 -110
- package/dist/schemas.cjs.map +1 -1
- package/dist/schemas.d.cts +48 -466
- package/dist/schemas.d.ts +48 -466
- package/dist/schemas.js +27 -107
- package/dist/schemas.js.map +1 -1
- package/dist/{inquiries-UcWNYo-Q.d.cts → tasks-C4aYbWVv.d.cts} +452 -141
- package/dist/{inquiries-UcWNYo-Q.d.ts → tasks-C4aYbWVv.d.ts} +452 -141
- package/package.json +1 -1
- package/dist/chunk-2BJG4GYM.js.map +0 -1
- package/dist/chunk-TJT7A4CO.js.map +0 -1
package/dist/index.cjs
CHANGED
|
@@ -46,6 +46,7 @@ __export(src_exports, {
|
|
|
46
46
|
CalendarScheduleAvailabilityType: () => CalendarScheduleAvailabilityType,
|
|
47
47
|
CalendarScheduleRecurrence: () => CalendarScheduleRecurrence,
|
|
48
48
|
CalendarSource: () => CalendarSource,
|
|
49
|
+
CapabilityClass: () => CapabilityClass,
|
|
49
50
|
ConsentMethod: () => ConsentMethod,
|
|
50
51
|
CriterionType: () => CriterionType,
|
|
51
52
|
DEFAULT_CHAT_MODEL: () => DEFAULT_CHAT_MODEL,
|
|
@@ -105,6 +106,7 @@ __export(src_exports, {
|
|
|
105
106
|
PERMISSION_VERIFY: () => PERMISSION_VERIFY,
|
|
106
107
|
PIDS_DISPOSITIONS: () => PIDS_DISPOSITIONS,
|
|
107
108
|
PIDS_SOURCES: () => PIDS_SOURCES,
|
|
109
|
+
POSITIVE_RATING_THRESHOLD: () => POSITIVE_RATING_THRESHOLD,
|
|
108
110
|
ProductType: () => ProductType,
|
|
109
111
|
QUERY_VALUELESS_OPS: () => QUERY_VALUELESS_OPS,
|
|
110
112
|
QueriesApi: () => QueriesApi,
|
|
@@ -141,6 +143,7 @@ __export(src_exports, {
|
|
|
141
143
|
TaskBuilder: () => TaskBuilder,
|
|
142
144
|
TemplatesApi: () => TemplatesApi,
|
|
143
145
|
ToolkitState: () => ToolkitState,
|
|
146
|
+
WIDGET_SLUGS: () => WIDGET_SLUGS,
|
|
144
147
|
WorkflowAccessWarningResourceType: () => WorkflowAccessWarningResourceType,
|
|
145
148
|
WorkflowBuilder: () => WorkflowBuilder,
|
|
146
149
|
WorkflowResourceType: () => WorkflowAccessWarningResourceType,
|
|
@@ -166,12 +169,14 @@ __export(src_exports, {
|
|
|
166
169
|
getFeaturesByVisibility: () => getFeaturesByVisibility,
|
|
167
170
|
getMissingDependencies: () => getMissingDependencies,
|
|
168
171
|
getResourceMetadata: () => getResourceMetadata,
|
|
172
|
+
getRevisionState: () => getRevisionState,
|
|
169
173
|
getScopeFromProductType: () => getScopeFromProductType,
|
|
170
174
|
getTTSProvider: () => getTTSProvider,
|
|
171
175
|
getVoiceModelId: () => getVoiceModelId,
|
|
172
176
|
initializeFeatures: () => initializeFeatures,
|
|
173
177
|
isChatType: () => isChatType,
|
|
174
178
|
isFeatureAvailable: () => isFeatureAvailable,
|
|
179
|
+
isPositiveRating: () => isPositiveRating,
|
|
175
180
|
isRegistryInitialized: () => isRegistryInitialized,
|
|
176
181
|
isSMSDeliveryFailureStatus: () => isSMSDeliveryFailureStatus,
|
|
177
182
|
requiresAssistantParticipant: () => requiresAssistantParticipant,
|
|
@@ -660,20 +665,22 @@ var AbilitiesApi = class extends BaseApiClient {
|
|
|
660
665
|
}
|
|
661
666
|
/** Get the full spec for a single ability type by slug. */
|
|
662
667
|
async getAbilityType(wid, slug) {
|
|
663
|
-
return this.fetch(
|
|
664
|
-
`w/${wid}/abilities/types/${encodeURIComponent(slug)}`
|
|
665
|
-
);
|
|
668
|
+
return this.fetch(`w/${wid}/abilities/types/${encodeURIComponent(slug)}`);
|
|
666
669
|
}
|
|
667
670
|
/**
|
|
668
671
|
* List configured ability instances for a workflow or task scope.
|
|
669
|
-
*
|
|
672
|
+
* Provide exactly one of:
|
|
673
|
+
* - workflow scope: workflowId (stable root → draft revision) and/or
|
|
674
|
+
* workflowRevisionId (explicit pin)
|
|
675
|
+
* - taskId for task-scoped abilities
|
|
670
676
|
*/
|
|
671
677
|
async listAbilities(wid, options) {
|
|
672
678
|
const params = new URLSearchParams();
|
|
673
679
|
if (options.workflowId !== void 0)
|
|
674
680
|
params.append("workflowId", options.workflowId.toString());
|
|
675
|
-
if (options.
|
|
676
|
-
params.append("
|
|
681
|
+
if (options.workflowRevisionId !== void 0)
|
|
682
|
+
params.append("workflowRevisionId", options.workflowRevisionId.toString());
|
|
683
|
+
if (options.taskId !== void 0) params.append("taskId", options.taskId.toString());
|
|
677
684
|
return this.fetch(`w/${wid}/abilities?${params}`);
|
|
678
685
|
}
|
|
679
686
|
/** Create (enable) a configured ability on a workflow or task scope. */
|
|
@@ -696,6 +703,20 @@ var AbilitiesApi = class extends BaseApiClient {
|
|
|
696
703
|
method: "DELETE"
|
|
697
704
|
});
|
|
698
705
|
}
|
|
706
|
+
/**
|
|
707
|
+
* List recipient-directory rows approved for Charleston PMD test delivery
|
|
708
|
+
* (CS-150). Returns only {recipientKey, displayLabel} for active,
|
|
709
|
+
* test-delivery-allowed rows with a device id — never the PatientSync
|
|
710
|
+
* recipient_id. Scoped to agents:write + the charleston_nephrology_pmd_paging
|
|
711
|
+
* feature; used by the ability-config test-delivery dropdown. Kept on the
|
|
712
|
+
* ability-configuration API (not generic DataRecords) because the actual
|
|
713
|
+
* ability-editor scopes do not guarantee generic record access.
|
|
714
|
+
*/
|
|
715
|
+
async getCharlestonTestDeliveryRecipients(wid) {
|
|
716
|
+
return this.fetch(
|
|
717
|
+
`w/${wid}/app-connections/charleston_nephrology/test-delivery/eligible-recipients`
|
|
718
|
+
);
|
|
719
|
+
}
|
|
699
720
|
};
|
|
700
721
|
|
|
701
722
|
// src/api/access-grants.ts
|
|
@@ -767,6 +788,24 @@ var AccessGrantsApi = class extends BaseApiClient {
|
|
|
767
788
|
);
|
|
768
789
|
return resp.items;
|
|
769
790
|
}
|
|
791
|
+
/**
|
|
792
|
+
* List access grants *received* by a member (grantee view) — the
|
|
793
|
+
* "what can this agent do without asking?" list. Filter with
|
|
794
|
+
* status=active and/or a capabilityClass (e.g. 'tool.always_allow').
|
|
795
|
+
*/
|
|
796
|
+
async getGranteeGrants(wid, memberId, params) {
|
|
797
|
+
const searchParams = new URLSearchParams();
|
|
798
|
+
if (params?.status) searchParams.set("status", params.status);
|
|
799
|
+
if (params?.capabilityClass) {
|
|
800
|
+
searchParams.set("capability_class", params.capabilityClass);
|
|
801
|
+
}
|
|
802
|
+
if (params?.page) searchParams.set("page", params.page.toString());
|
|
803
|
+
if (params?.pageSize) searchParams.set("page_size", params.pageSize.toString());
|
|
804
|
+
const qs = searchParams.toString();
|
|
805
|
+
return this.fetch(
|
|
806
|
+
`w/${wid}/access-grants/grantee/${memberId}${qs ? `?${qs}` : ""}`
|
|
807
|
+
);
|
|
808
|
+
}
|
|
770
809
|
};
|
|
771
810
|
|
|
772
811
|
// src/api/agent-tasks.ts
|
|
@@ -853,25 +892,6 @@ var AgentsApi = class extends BaseApiClient {
|
|
|
853
892
|
method: "POST"
|
|
854
893
|
});
|
|
855
894
|
}
|
|
856
|
-
/** Resolve runtime tools for an agent on a simulated channel. */
|
|
857
|
-
async resolveAgentTools(wid, id, options) {
|
|
858
|
-
const params = new URLSearchParams();
|
|
859
|
-
params.append("channel", options.channel);
|
|
860
|
-
if (options.taskId !== void 0) params.append("taskId", options.taskId.toString());
|
|
861
|
-
if (options.taskUuid !== void 0) params.append("taskUuid", options.taskUuid);
|
|
862
|
-
return this.fetch(`w/${wid}/agents/${id}/resolve-tools?${params}`);
|
|
863
|
-
}
|
|
864
|
-
/**
|
|
865
|
-
* List the configured abilities effective for an agent via a task's workflow.
|
|
866
|
-
* Requires taskId because abilities are scoped to workflows/tasks, not agents.
|
|
867
|
-
*/
|
|
868
|
-
async listAgentAbilities(wid, id, options) {
|
|
869
|
-
const params = new URLSearchParams();
|
|
870
|
-
params.append("taskId", options.taskId.toString());
|
|
871
|
-
return this.fetch(
|
|
872
|
-
`w/${wid}/agents/${id}/abilities?${params}`
|
|
873
|
-
);
|
|
874
|
-
}
|
|
875
895
|
};
|
|
876
896
|
|
|
877
897
|
// src/api/ai-models.ts
|
|
@@ -1068,8 +1088,7 @@ var AssignmentsApi = class extends BaseApiClient {
|
|
|
1068
1088
|
if (options.sortOrder) params.append("sortOrder", options.sortOrder);
|
|
1069
1089
|
if (options.mine) params.append("mine", options.mine.toString());
|
|
1070
1090
|
if (options.taskId) params.append("taskId", options.taskId.toString());
|
|
1071
|
-
if (options.memberId !== void 0)
|
|
1072
|
-
params.append("memberId", options.memberId.toString());
|
|
1091
|
+
if (options.memberId !== void 0) params.append("memberId", options.memberId.toString());
|
|
1073
1092
|
if (options.status) params.append("status", options.status);
|
|
1074
1093
|
return this.fetch(
|
|
1075
1094
|
`w/${wid}/assignments${params.toString() ? `?${params.toString()}` : ""}`
|
|
@@ -1198,6 +1217,20 @@ var AuthApi = class extends BaseApiClient {
|
|
|
1198
1217
|
body: JSON.stringify(info)
|
|
1199
1218
|
});
|
|
1200
1219
|
}
|
|
1220
|
+
/**
|
|
1221
|
+
* Persist the account's FIRST-touch marketing attribution (write-once).
|
|
1222
|
+
*
|
|
1223
|
+
* Called by the browser at signup completion with its resolved UTM /
|
|
1224
|
+
* referrer / landing-page capture. The server keeps the first write and
|
|
1225
|
+
* ignores later posts (`recorded: false`), so calling this again is
|
|
1226
|
+
* harmless. Marketing context only — never emails, phones, or free text.
|
|
1227
|
+
*/
|
|
1228
|
+
async recordAcquisition(request) {
|
|
1229
|
+
return this.fetch("account/acquisition", {
|
|
1230
|
+
method: "POST",
|
|
1231
|
+
body: JSON.stringify(request)
|
|
1232
|
+
});
|
|
1233
|
+
}
|
|
1201
1234
|
/** Initiate SMS login by sending a verification code to the given phone number. */
|
|
1202
1235
|
async login(phoneNumber, wid, organizationUuid) {
|
|
1203
1236
|
const params = new URLSearchParams();
|
|
@@ -1421,23 +1454,29 @@ var AuthApi = class extends BaseApiClient {
|
|
|
1421
1454
|
// ===== TWO-FACTOR AUTHENTICATION LOGIN METHODS =====
|
|
1422
1455
|
/** Verify a TOTP code during login to complete two-factor authentication. */
|
|
1423
1456
|
async verifyTOTPAuth(tempToken, code) {
|
|
1424
|
-
return this.fetch(
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1457
|
+
return this.fetch(
|
|
1458
|
+
"auth/2fa/auth/totp",
|
|
1459
|
+
{
|
|
1460
|
+
method: "POST",
|
|
1461
|
+
body: JSON.stringify({
|
|
1462
|
+
temp_token: tempToken,
|
|
1463
|
+
code
|
|
1464
|
+
})
|
|
1465
|
+
}
|
|
1466
|
+
);
|
|
1431
1467
|
}
|
|
1432
1468
|
/** Verify a recovery code during login to complete two-factor authentication. */
|
|
1433
1469
|
async verifyRecoveryCodeAuth(tempToken, code) {
|
|
1434
|
-
return this.fetch(
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1470
|
+
return this.fetch(
|
|
1471
|
+
"auth/2fa/auth/recovery",
|
|
1472
|
+
{
|
|
1473
|
+
method: "POST",
|
|
1474
|
+
body: JSON.stringify({
|
|
1475
|
+
temp_token: tempToken,
|
|
1476
|
+
code
|
|
1477
|
+
})
|
|
1478
|
+
}
|
|
1479
|
+
);
|
|
1441
1480
|
}
|
|
1442
1481
|
/** Get WebAuthn credential request options for two-factor login verification. */
|
|
1443
1482
|
async getWebAuthnAuthOptions(tempToken) {
|
|
@@ -1450,13 +1489,16 @@ var AuthApi = class extends BaseApiClient {
|
|
|
1450
1489
|
}
|
|
1451
1490
|
/** Verify a WebAuthn assertion during login to complete two-factor authentication. */
|
|
1452
1491
|
async verifyWebAuthnAuth(tempToken, assertionResponse) {
|
|
1453
|
-
return this.fetch(
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1492
|
+
return this.fetch(
|
|
1493
|
+
"auth/2fa/webauthn",
|
|
1494
|
+
{
|
|
1495
|
+
method: "POST",
|
|
1496
|
+
body: JSON.stringify({
|
|
1497
|
+
temp_token: tempToken,
|
|
1498
|
+
assertion_response: assertionResponse
|
|
1499
|
+
})
|
|
1500
|
+
}
|
|
1501
|
+
);
|
|
1460
1502
|
}
|
|
1461
1503
|
// ===== ORGANIZATION MEMBERSHIP METHODS =====
|
|
1462
1504
|
/** List all organizations the current account belongs to. */
|
|
@@ -1838,6 +1880,15 @@ var CallsApi = class extends BaseApiClient {
|
|
|
1838
1880
|
async getMessageTiming(wid, chatId) {
|
|
1839
1881
|
return this.fetch(`w/${wid}/recordings/chat/${chatId}/message-timing`);
|
|
1840
1882
|
}
|
|
1883
|
+
/**
|
|
1884
|
+
* Get PHI-safe provenance metadata for the recording served by
|
|
1885
|
+
* `/audio.wav` — source, encryption, channels, duration, status, etc.
|
|
1886
|
+
* Staff-only Twilio SIDs are present only for superusers. Returns 404
|
|
1887
|
+
* when the chat has no native recording row (legacy chunk-only playback).
|
|
1888
|
+
*/
|
|
1889
|
+
async getRecordingInfo(wid, chatId) {
|
|
1890
|
+
return this.fetch(`w/${wid}/recordings/chat/${chatId}/info`);
|
|
1891
|
+
}
|
|
1841
1892
|
/** List the recorded audio chunks for a chat (metadata only). */
|
|
1842
1893
|
async listChatRecordings(wid, chatId, options = {}) {
|
|
1843
1894
|
const params = new URLSearchParams();
|
|
@@ -1896,8 +1947,7 @@ var ChatsApi = class extends BaseApiClient {
|
|
|
1896
1947
|
if (options.paused !== void 0) params.append("paused", options.paused.toString());
|
|
1897
1948
|
if (options.archived !== void 0) params.append("archived", options.archived.toString());
|
|
1898
1949
|
if (options.channel) params.append("channel", options.channel);
|
|
1899
|
-
|
|
1900
|
-
params.append("chatType", chatType);
|
|
1950
|
+
if (options.chatType) params.append("chatType", options.chatType);
|
|
1901
1951
|
if (options.memberId !== void 0) params.append("memberId", options.memberId.toString());
|
|
1902
1952
|
if (options.assistantMemberId !== void 0)
|
|
1903
1953
|
params.append("assistantMemberId", options.assistantMemberId.toString());
|
|
@@ -1908,6 +1958,11 @@ var ChatsApi = class extends BaseApiClient {
|
|
|
1908
1958
|
if (options.filters && options.filters.length > 0) {
|
|
1909
1959
|
params.append("filters", JSON.stringify(options.filters));
|
|
1910
1960
|
}
|
|
1961
|
+
if (options.query) params.append("query", JSON.stringify(options.query));
|
|
1962
|
+
if (options.workflowId !== void 0)
|
|
1963
|
+
params.append("workflowId", options.workflowId.toString());
|
|
1964
|
+
if (options.workflowRevisionId !== void 0)
|
|
1965
|
+
params.append("workflowRevisionId", options.workflowRevisionId.toString());
|
|
1911
1966
|
if (options.createdAfter) params.append("createdAfter", options.createdAfter);
|
|
1912
1967
|
if (options.createdBefore) params.append("createdBefore", options.createdBefore);
|
|
1913
1968
|
return params;
|
|
@@ -2028,6 +2083,25 @@ var ChatsApi = class extends BaseApiClient {
|
|
|
2028
2083
|
body: JSON.stringify(chat)
|
|
2029
2084
|
});
|
|
2030
2085
|
}
|
|
2086
|
+
/**
|
|
2087
|
+
* Get per-chat model provenance for the Chat sidebar's model summary area:
|
|
2088
|
+
* the effective chat + realtime models, the agent's current default (the
|
|
2089
|
+
* reset/inherit target), and pinned/matches flags.
|
|
2090
|
+
*/
|
|
2091
|
+
async getChatModelOverride(wid, id) {
|
|
2092
|
+
return this.fetch(`w/${wid}/chats/${id}/model-override`);
|
|
2093
|
+
}
|
|
2094
|
+
/**
|
|
2095
|
+
* Pin or reset the per-chat chat/realtime model snapshot. A concrete model id
|
|
2096
|
+
* pins that model; an empty/null id resets it to the agent's current default.
|
|
2097
|
+
* Only fields present in the payload are touched.
|
|
2098
|
+
*/
|
|
2099
|
+
async updateChatModelOverride(wid, id, override) {
|
|
2100
|
+
return this.fetch(`w/${wid}/chats/${id}/model-override`, {
|
|
2101
|
+
method: "PUT",
|
|
2102
|
+
body: JSON.stringify(override)
|
|
2103
|
+
});
|
|
2104
|
+
}
|
|
2031
2105
|
/** Update the mute status of a chat. */
|
|
2032
2106
|
async updateChatMute(wid, id, muted) {
|
|
2033
2107
|
return this.fetch(`w/${wid}/chats/${id}/mute`, {
|
|
@@ -2098,13 +2172,35 @@ var ChatsApi = class extends BaseApiClient {
|
|
|
2098
2172
|
})
|
|
2099
2173
|
});
|
|
2100
2174
|
}
|
|
2101
|
-
/**
|
|
2102
|
-
|
|
2175
|
+
/**
|
|
2176
|
+
* List durable feedback rows for a chat (thumbs, explicit, supervisor, extracted).
|
|
2177
|
+
*/
|
|
2178
|
+
async getChatFeedback(wid, chatId, options = {}) {
|
|
2179
|
+
const params = new URLSearchParams();
|
|
2180
|
+
if (options.page != null) params.set("page", String(options.page));
|
|
2181
|
+
if (options.pageSize != null) params.set("pageSize", String(options.pageSize));
|
|
2182
|
+
if (options.source) params.set("source", options.source);
|
|
2183
|
+
if (options.rating) params.set("rating", options.rating);
|
|
2184
|
+
if (options.authorKind) params.set("authorKind", options.authorKind);
|
|
2185
|
+
const qs = params.toString();
|
|
2186
|
+
return this.fetch(
|
|
2187
|
+
`w/${wid}/chats/${chatId}/feedback${qs ? `?${qs}` : ""}`
|
|
2188
|
+
);
|
|
2189
|
+
}
|
|
2190
|
+
/**
|
|
2191
|
+
* Rate a chat message by its UUID.
|
|
2192
|
+
* Optional ``comment`` updates free-text details on the same durable rating row.
|
|
2193
|
+
*/
|
|
2194
|
+
async rateMessage(wid, chatId, messageUuid, rating, comment) {
|
|
2195
|
+
const body = { rating };
|
|
2196
|
+
if (comment !== void 0) {
|
|
2197
|
+
body.comment = comment;
|
|
2198
|
+
}
|
|
2103
2199
|
return this.fetch(
|
|
2104
2200
|
`w/${wid}/chats/${chatId}/messages/${messageUuid}/rate`,
|
|
2105
2201
|
{
|
|
2106
2202
|
method: "POST",
|
|
2107
|
-
body: JSON.stringify(
|
|
2203
|
+
body: JSON.stringify(body)
|
|
2108
2204
|
}
|
|
2109
2205
|
);
|
|
2110
2206
|
}
|
|
@@ -2370,6 +2466,51 @@ var CustomToolkitsApi = class extends BaseApiClient {
|
|
|
2370
2466
|
}
|
|
2371
2467
|
};
|
|
2372
2468
|
|
|
2469
|
+
// src/api/dashboards.ts
|
|
2470
|
+
var DashboardsApi = class extends BaseApiClient {
|
|
2471
|
+
/** List all dashboards for the workspace, in tab order. */
|
|
2472
|
+
async getDashboards(wid) {
|
|
2473
|
+
return this.fetch(`w/${wid}/dashboards`);
|
|
2474
|
+
}
|
|
2475
|
+
/** Get a dashboard by ID. */
|
|
2476
|
+
async getDashboard(wid, id) {
|
|
2477
|
+
return this.fetch(`w/${wid}/dashboards/${id}`);
|
|
2478
|
+
}
|
|
2479
|
+
/** Create a named dashboard, optionally with an initial widget list. */
|
|
2480
|
+
async createDashboard(wid, body) {
|
|
2481
|
+
return this.fetch(`w/${wid}/dashboards`, {
|
|
2482
|
+
method: "POST",
|
|
2483
|
+
body: JSON.stringify(body)
|
|
2484
|
+
});
|
|
2485
|
+
}
|
|
2486
|
+
/** Update a dashboard's name, position, or widget list (full replace). */
|
|
2487
|
+
async updateDashboard(wid, id, body) {
|
|
2488
|
+
return this.fetch(`w/${wid}/dashboards/${id}`, {
|
|
2489
|
+
method: "PATCH",
|
|
2490
|
+
body: JSON.stringify(body)
|
|
2491
|
+
});
|
|
2492
|
+
}
|
|
2493
|
+
/** Delete a dashboard. */
|
|
2494
|
+
async deleteDashboard(wid, id) {
|
|
2495
|
+
await this.fetch(`w/${wid}/dashboards/${id}`, { method: "DELETE" });
|
|
2496
|
+
}
|
|
2497
|
+
/** Per-channel chat volume in the window + live needs-response backlog. */
|
|
2498
|
+
async getDashboardChannelStats(wid, options) {
|
|
2499
|
+
const params = new URLSearchParams();
|
|
2500
|
+
if (options?.hours !== void 0) params.append("hours", options.hours.toString());
|
|
2501
|
+
const query = params.toString();
|
|
2502
|
+
return this.fetch(
|
|
2503
|
+
`w/${wid}/dashboards/stats/channels${query ? `?${query}` : ""}`
|
|
2504
|
+
);
|
|
2505
|
+
}
|
|
2506
|
+
/** Assignment status rollup per root workflow. */
|
|
2507
|
+
async getDashboardWorkflowAssignmentStats(wid) {
|
|
2508
|
+
return this.fetch(
|
|
2509
|
+
`w/${wid}/dashboards/stats/workflow-assignments`
|
|
2510
|
+
);
|
|
2511
|
+
}
|
|
2512
|
+
};
|
|
2513
|
+
|
|
2373
2514
|
// src/api/data-types.ts
|
|
2374
2515
|
var DataTypesApi = class extends BaseApiClient {
|
|
2375
2516
|
/** List all data types for a workspace, optionally filtering by archived status. */
|
|
@@ -2442,12 +2583,58 @@ var DataTypesApi = class extends BaseApiClient {
|
|
|
2442
2583
|
if (options?.memberIds?.length) params.append("member_ids", options.memberIds.join(","));
|
|
2443
2584
|
if (options?.search) params.append("search", options.search);
|
|
2444
2585
|
if (options?.searchField) params.append("search_field", options.searchField);
|
|
2586
|
+
if (options?.dataRecordFilterId != null) {
|
|
2587
|
+
params.append("dataRecordFilterId", options.dataRecordFilterId.toString());
|
|
2588
|
+
}
|
|
2589
|
+
if (options?.query != null) params.append("query", JSON.stringify(options.query));
|
|
2445
2590
|
if (options?.page) params.append("page", options.page.toString());
|
|
2446
2591
|
if (options?.pageSize) params.append("page_size", options.pageSize.toString());
|
|
2447
2592
|
return this.fetch(
|
|
2448
2593
|
`w/${wid}/data-types/${dataTypeId}/records${params?.toString() ? `?${params.toString()}` : ""}`
|
|
2449
2594
|
);
|
|
2450
2595
|
}
|
|
2596
|
+
// Data-record filter APIs (saved Query IR predicates per form)
|
|
2597
|
+
/** List saved data-record filters, optionally scoped to one DataType. */
|
|
2598
|
+
async getDataRecordFilters(wid, options) {
|
|
2599
|
+
const params = new URLSearchParams();
|
|
2600
|
+
if (options?.dataTypeId != null) {
|
|
2601
|
+
params.append("dataTypeId", options.dataTypeId.toString());
|
|
2602
|
+
}
|
|
2603
|
+
const qs = params.toString();
|
|
2604
|
+
return this.fetch(
|
|
2605
|
+
`w/${wid}/data-record-filters${qs ? `?${qs}` : ""}`
|
|
2606
|
+
);
|
|
2607
|
+
}
|
|
2608
|
+
/** Get a single data-record filter by ID. */
|
|
2609
|
+
async getDataRecordFilter(wid, filterId) {
|
|
2610
|
+
return this.fetch(`w/${wid}/data-record-filters/${filterId}`);
|
|
2611
|
+
}
|
|
2612
|
+
/** Create a new saved data-record filter. */
|
|
2613
|
+
async createDataRecordFilter(wid, data) {
|
|
2614
|
+
return this.fetch(`w/${wid}/data-record-filters`, {
|
|
2615
|
+
method: "POST",
|
|
2616
|
+
body: JSON.stringify(data)
|
|
2617
|
+
});
|
|
2618
|
+
}
|
|
2619
|
+
/** Update a saved data-record filter. */
|
|
2620
|
+
async updateDataRecordFilter(wid, filterId, data) {
|
|
2621
|
+
return this.fetch(`w/${wid}/data-record-filters/${filterId}`, {
|
|
2622
|
+
method: "PUT",
|
|
2623
|
+
body: JSON.stringify(data)
|
|
2624
|
+
});
|
|
2625
|
+
}
|
|
2626
|
+
/** Delete a saved data-record filter. */
|
|
2627
|
+
async deleteDataRecordFilter(wid, filterId) {
|
|
2628
|
+
return this.fetch(`w/${wid}/data-record-filters/${filterId}`, {
|
|
2629
|
+
method: "DELETE"
|
|
2630
|
+
});
|
|
2631
|
+
}
|
|
2632
|
+
/** Get the count of records matching a saved filter. */
|
|
2633
|
+
async getDataRecordFilterCount(wid, filterId) {
|
|
2634
|
+
return this.fetch(
|
|
2635
|
+
`w/${wid}/data-record-filters/${filterId}/count`
|
|
2636
|
+
);
|
|
2637
|
+
}
|
|
2451
2638
|
/** Get a single data record by ID. */
|
|
2452
2639
|
async getDataRecord(wid, recordId) {
|
|
2453
2640
|
return this.fetch(`w/${wid}/data-types/records/${recordId}`);
|
|
@@ -2560,6 +2747,38 @@ var DiscordBotsApi = class extends BaseApiClient {
|
|
|
2560
2747
|
body: JSON.stringify(data)
|
|
2561
2748
|
});
|
|
2562
2749
|
}
|
|
2750
|
+
/**
|
|
2751
|
+
* Step-up preflight for the Discord account-link flow (GH #20196).
|
|
2752
|
+
*
|
|
2753
|
+
* A no-side-effect GET enforcing the same authenticated, stepped-up
|
|
2754
|
+
* `apps:write` session as authorize/complete-link. Call this through the
|
|
2755
|
+
* client *before* the full-page navigation to `/oauth/authorize`: a 401
|
|
2756
|
+
* `insufficient_user_authentication` triggers the SDK's enhanced-auth
|
|
2757
|
+
* (step-up) modal + retry, so a below-assurance session is prompted here
|
|
2758
|
+
* rather than hitting a raw 401 on a top-level browser navigation.
|
|
2759
|
+
* Resolves (204) once the session is sufficiently assured.
|
|
2760
|
+
*/
|
|
2761
|
+
async discordLinkPreflight(wid) {
|
|
2762
|
+
return this.fetch(`w/${wid}/app-connections/discord/oauth/link/preflight`);
|
|
2763
|
+
}
|
|
2764
|
+
/**
|
|
2765
|
+
* Complete an authenticated Discord account link (GH #20196).
|
|
2766
|
+
*
|
|
2767
|
+
* POST-only. Exchanges the one-time opaque handle (issued by the OAuth
|
|
2768
|
+
* callback and carried in the `?discord_link_handle=` return param) for a
|
|
2769
|
+
* persisted MemberCredential. Requires an authenticated, step-up-protected
|
|
2770
|
+
* session with `apps:write`; a 401 `insufficient_user_authentication`
|
|
2771
|
+
* triggers the SDK's enhanced-auth (step-up) retry automatically.
|
|
2772
|
+
*/
|
|
2773
|
+
async completeDiscordLink(wid, data) {
|
|
2774
|
+
return this.fetch(
|
|
2775
|
+
`w/${wid}/app-connections/discord/oauth/complete-link`,
|
|
2776
|
+
{
|
|
2777
|
+
method: "POST",
|
|
2778
|
+
body: JSON.stringify(data)
|
|
2779
|
+
}
|
|
2780
|
+
);
|
|
2781
|
+
}
|
|
2563
2782
|
/**
|
|
2564
2783
|
* Update an existing Discord bot configuration.
|
|
2565
2784
|
*/
|
|
@@ -2814,7 +3033,8 @@ var EventsApi = class extends BaseApiClient {
|
|
|
2814
3033
|
if (params.taskId) searchParams.append("taskId", params.taskId.toString());
|
|
2815
3034
|
if (params.dataTypeId) searchParams.append("dataTypeId", params.dataTypeId.toString());
|
|
2816
3035
|
if (params.routineId) searchParams.append("routineId", params.routineId.toString());
|
|
2817
|
-
if (params.
|
|
3036
|
+
if (params.workflowRevisionId)
|
|
3037
|
+
searchParams.append("workflowRevisionId", params.workflowRevisionId.toString());
|
|
2818
3038
|
if (params.journeyStepId)
|
|
2819
3039
|
searchParams.append("journeyStepId", params.journeyStepId.toString());
|
|
2820
3040
|
if (params.includeDisabled) searchParams.append("includeDisabled", "true");
|
|
@@ -2885,7 +3105,8 @@ var EventsApi = class extends BaseApiClient {
|
|
|
2885
3105
|
if (options.objectType) params.append("objectType", options.objectType);
|
|
2886
3106
|
if (options.eventType) params.append("eventType", options.eventType);
|
|
2887
3107
|
if (options.actionType) params.append("actionType", options.actionType);
|
|
2888
|
-
if (options.
|
|
3108
|
+
if (options.workflowRevisionId)
|
|
3109
|
+
params.append("workflowRevisionId", options.workflowRevisionId.toString());
|
|
2889
3110
|
return this.fetch(
|
|
2890
3111
|
`w/${wid}/event-rules/executions${params.toString() ? `?${params.toString()}` : ""}`
|
|
2891
3112
|
);
|
|
@@ -2897,6 +3118,20 @@ var EventsApi = class extends BaseApiClient {
|
|
|
2897
3118
|
body: JSON.stringify(request)
|
|
2898
3119
|
});
|
|
2899
3120
|
}
|
|
3121
|
+
/**
|
|
3122
|
+
* Preview which target-audience roles lack Workflow USE for the Workflows a
|
|
3123
|
+
* draft Routine would start. Non-persisting, non-blocking authoring assist —
|
|
3124
|
+
* returns warnings only (role/Workflow names + IDs; no Member data).
|
|
3125
|
+
*/
|
|
3126
|
+
async previewRoutineWorkflowAccess(wid, request) {
|
|
3127
|
+
return this.fetch(
|
|
3128
|
+
`w/${wid}/routines/preview-workflow-access`,
|
|
3129
|
+
{
|
|
3130
|
+
method: "POST",
|
|
3131
|
+
body: JSON.stringify(request)
|
|
3132
|
+
}
|
|
3133
|
+
);
|
|
3134
|
+
}
|
|
2900
3135
|
/** List routines with optional pagination and active status filtering. */
|
|
2901
3136
|
async getRoutines(wid, options = {}) {
|
|
2902
3137
|
const params = new URLSearchParams();
|
|
@@ -3467,6 +3702,17 @@ var FilesApi = class extends BaseApiClient {
|
|
|
3467
3702
|
async getFile(wid, id) {
|
|
3468
3703
|
return this.fetch(`w/${wid}/files/${id}`);
|
|
3469
3704
|
}
|
|
3705
|
+
/**
|
|
3706
|
+
* Resolve a wiki-style relative path (as authored in a markdown link or
|
|
3707
|
+
* image) to a file. `folderId` is the linking document's folder; omit it
|
|
3708
|
+
* to resolve from the workspace root. Handles `.`/`..` segments and an
|
|
3709
|
+
* omitted `.md` extension server-side.
|
|
3710
|
+
*/
|
|
3711
|
+
async resolveFilePath(wid, path, folderId) {
|
|
3712
|
+
const params = new URLSearchParams({ path });
|
|
3713
|
+
if (folderId != null) params.append("folderId", String(folderId));
|
|
3714
|
+
return this.fetch(`w/${wid}/files/resolve-path?${params.toString()}`);
|
|
3715
|
+
}
|
|
3470
3716
|
/**
|
|
3471
3717
|
* Download the given files + folders (folders recursively) as a single ZIP.
|
|
3472
3718
|
* Returns the raw archive bytes for the caller to save.
|
|
@@ -3520,6 +3766,36 @@ var FilesApi = class extends BaseApiClient {
|
|
|
3520
3766
|
method: "DELETE"
|
|
3521
3767
|
});
|
|
3522
3768
|
}
|
|
3769
|
+
/** List a file's version history (newest first). */
|
|
3770
|
+
async listFileVersions(wid, fileId) {
|
|
3771
|
+
return this.fetch(`w/${wid}/files/${fileId}/versions`);
|
|
3772
|
+
}
|
|
3773
|
+
/** Compare two versions of a file. For text files both raw contents are returned. */
|
|
3774
|
+
async getFileVersionDiff(wid, fileId, fromVersion, toVersion) {
|
|
3775
|
+
return this.fetch(
|
|
3776
|
+
`w/${wid}/files/${fileId}/versions/diff?fromVersion=${fromVersion}&toVersion=${toVersion}`
|
|
3777
|
+
);
|
|
3778
|
+
}
|
|
3779
|
+
/** Restore an earlier version as the file's current contents. */
|
|
3780
|
+
async restoreFileVersion(wid, fileId, versionNumber, changeNote) {
|
|
3781
|
+
return this.fetch(
|
|
3782
|
+
`w/${wid}/files/${fileId}/versions/${versionNumber}/restore`,
|
|
3783
|
+
{
|
|
3784
|
+
method: "POST",
|
|
3785
|
+
// Required JSON body: keeps this cookie-auth POST non-forgeable
|
|
3786
|
+
// by cross-site HTML forms (backend rejects bodyless requests).
|
|
3787
|
+
body: JSON.stringify(changeNote ? { changeNote } : {})
|
|
3788
|
+
}
|
|
3789
|
+
);
|
|
3790
|
+
}
|
|
3791
|
+
/**
|
|
3792
|
+
* Same-origin proxy URL for a version's raw contents. Mirrors the shape of
|
|
3793
|
+
* `FileResponse.cdnUrl`: an app-relative Next.js route that authenticates
|
|
3794
|
+
* via session cookies and forwards to the versioned contents endpoint.
|
|
3795
|
+
*/
|
|
3796
|
+
getFileVersionContentsUrl(wid, fileId, versionNumber) {
|
|
3797
|
+
return `/api/w/${wid}/files/${fileId}/versions/${versionNumber}/contents`;
|
|
3798
|
+
}
|
|
3523
3799
|
/** Convert a file to the specified format (text, markdown, or PDF). */
|
|
3524
3800
|
async convertFile(wid, fileId, format = "pdf") {
|
|
3525
3801
|
return this.fetch(
|
|
@@ -4160,7 +4436,7 @@ var MembersApi = class extends BaseApiClient {
|
|
|
4160
4436
|
});
|
|
4161
4437
|
}
|
|
4162
4438
|
/** List workspace members with pagination, filtering, and sorting. */
|
|
4163
|
-
async getWorkspaceMembers(wid, page = 1, pageSize = 10,
|
|
4439
|
+
async getWorkspaceMembers(wid, page = 1, pageSize = 10, search, role, sortBy, sortOrder, memberType, isArchived = false, isManager, memberTypes, hasAccount, excludeIds, memberFilterId, query) {
|
|
4164
4440
|
const params = new URLSearchParams();
|
|
4165
4441
|
if (memberFilterId != null) params.append("memberFilterId", memberFilterId.toString());
|
|
4166
4442
|
if (query != null) params.append("query", JSON.stringify(query));
|
|
@@ -4168,13 +4444,6 @@ var MembersApi = class extends BaseApiClient {
|
|
|
4168
4444
|
if (pageSize) params.append("pageSize", pageSize.toString());
|
|
4169
4445
|
if (sortBy) params.append("sortBy", sortBy);
|
|
4170
4446
|
if (sortOrder) params.append("sortOrder", sortOrder);
|
|
4171
|
-
if (filters) {
|
|
4172
|
-
if (Array.isArray(filters)) {
|
|
4173
|
-
params.append("filters", JSON.stringify(filters));
|
|
4174
|
-
} else {
|
|
4175
|
-
params.append("filters", JSON.stringify(filters));
|
|
4176
|
-
}
|
|
4177
|
-
}
|
|
4178
4447
|
if (search) params.append("search", search);
|
|
4179
4448
|
if (role) params.append("role", role);
|
|
4180
4449
|
if (memberTypes && memberTypes.length > 0) {
|
|
@@ -4270,22 +4539,6 @@ var MembersApi = class extends BaseApiClient {
|
|
|
4270
4539
|
body: JSON.stringify(data)
|
|
4271
4540
|
});
|
|
4272
4541
|
}
|
|
4273
|
-
/**
|
|
4274
|
-
* Convert a legacy rules filter to a query-engine predicate. One-way and
|
|
4275
|
-
* transactional: on success the filter's legacy rules are gone and
|
|
4276
|
-
* `query` holds the equivalent IR predicate. 409 if already query-format;
|
|
4277
|
-
* 422 when rules have no engine equivalent.
|
|
4278
|
-
*
|
|
4279
|
-
* With `dryRun: true` the same validation runs but nothing persists: the
|
|
4280
|
-
* response previews the normalized predicate in `query` while `rules`
|
|
4281
|
-
* stay intact on the filter.
|
|
4282
|
-
*/
|
|
4283
|
-
async convertMemberFilterToQuery(wid, filterId, opts) {
|
|
4284
|
-
const suffix = opts?.dryRun ? "?dryRun=true" : "";
|
|
4285
|
-
return this.fetch(`w/${wid}/member-filters/${filterId}/convert${suffix}`, {
|
|
4286
|
-
method: "PUT"
|
|
4287
|
-
});
|
|
4288
|
-
}
|
|
4289
4542
|
/** Delete a saved member filter. */
|
|
4290
4543
|
async deleteMemberFilter(wid, filterId) {
|
|
4291
4544
|
return this.fetch(`w/${wid}/member-filters/${filterId}`, {
|
|
@@ -4631,6 +4884,11 @@ var MembersApi = class extends BaseApiClient {
|
|
|
4631
4884
|
`w/${wid}/members/${memberId}/memories${qs ? `?${qs}` : ""}`
|
|
4632
4885
|
);
|
|
4633
4886
|
}
|
|
4887
|
+
async getMemberMemory(wid, memberId, key) {
|
|
4888
|
+
return this.fetch(
|
|
4889
|
+
`w/${wid}/members/${memberId}/memories/${encodeURIComponent(key)}`
|
|
4890
|
+
);
|
|
4891
|
+
}
|
|
4634
4892
|
async createMemberMemory(wid, memberId, body) {
|
|
4635
4893
|
return this.fetch(`w/${wid}/members/${memberId}/memories`, {
|
|
4636
4894
|
method: "POST",
|
|
@@ -4699,6 +4957,25 @@ var MilestonesApi = class extends BaseApiClient {
|
|
|
4699
4957
|
}
|
|
4700
4958
|
};
|
|
4701
4959
|
|
|
4960
|
+
// src/api/motd.ts
|
|
4961
|
+
var MotdApi = class extends BaseApiClient {
|
|
4962
|
+
/**
|
|
4963
|
+
* The Message-of-the-Day tip for the workspace on a given date.
|
|
4964
|
+
*
|
|
4965
|
+
* `date` is an ISO `YYYY-MM-DD` string (defaults to today, UTC, when
|
|
4966
|
+
* omitted); `offset` advances the rotation ("show another"). Selection is
|
|
4967
|
+
* deterministic — same date + workspace + offset always returns the same
|
|
4968
|
+
* tip — and cycles through the tip list.
|
|
4969
|
+
*/
|
|
4970
|
+
async getMotd(wid, options) {
|
|
4971
|
+
const params = new URLSearchParams();
|
|
4972
|
+
if (options?.date !== void 0) params.append("date", options.date);
|
|
4973
|
+
if (options?.offset !== void 0) params.append("offset", options.offset.toString());
|
|
4974
|
+
const query = params.toString();
|
|
4975
|
+
return this.fetch(`w/${wid}/motd${query ? `?${query}` : ""}`);
|
|
4976
|
+
}
|
|
4977
|
+
};
|
|
4978
|
+
|
|
4702
4979
|
// src/api/monday.ts
|
|
4703
4980
|
var MondayIntegrationApi = class extends BaseApiClient {
|
|
4704
4981
|
/**
|
|
@@ -4735,6 +5012,20 @@ var MondayIntegrationApi = class extends BaseApiClient {
|
|
|
4735
5012
|
// -----------------------------------------------------------------------
|
|
4736
5013
|
// Monday.com Connection management (OAuth, status, sync, reconciliation)
|
|
4737
5014
|
// -----------------------------------------------------------------------
|
|
5015
|
+
/**
|
|
5016
|
+
* Create the Monday.com connection shell (no credentials yet).
|
|
5017
|
+
*
|
|
5018
|
+
* First step of the guided setup flow: provisions the connection row so
|
|
5019
|
+
* the admin lands on the detail page where the OAuth callback URL is
|
|
5020
|
+
* shown — which they need to register their Monday.com app before they
|
|
5021
|
+
* have a Client ID / Secret to enter. Idempotent.
|
|
5022
|
+
*/
|
|
5023
|
+
async installMondayConnection(wid) {
|
|
5024
|
+
return this.fetch(`w/${wid}/app-connections/monday/install`, {
|
|
5025
|
+
method: "POST",
|
|
5026
|
+
body: JSON.stringify({})
|
|
5027
|
+
});
|
|
5028
|
+
}
|
|
4738
5029
|
async configureMondayConnection(wid, data) {
|
|
4739
5030
|
return this.fetch(`w/${wid}/app-connections/monday/configure`, {
|
|
4740
5031
|
method: "POST",
|
|
@@ -5561,6 +5852,14 @@ var OAuthApi = class extends BaseApiClient {
|
|
|
5561
5852
|
};
|
|
5562
5853
|
|
|
5563
5854
|
// src/api/phone-numbers.ts
|
|
5855
|
+
function appendAnalyticsFilters(params, filters) {
|
|
5856
|
+
if (!filters) return;
|
|
5857
|
+
if (filters.dateFrom) params.set("dateFrom", filters.dateFrom);
|
|
5858
|
+
if (filters.dateTo) params.set("dateTo", filters.dateTo);
|
|
5859
|
+
filters.terminationReason?.forEach((v) => params.append("terminationReason", v));
|
|
5860
|
+
filters.answeredBy?.forEach((v) => params.append("answeredBy", v));
|
|
5861
|
+
filters.memberLabel?.forEach((v) => params.append("memberLabel", v));
|
|
5862
|
+
}
|
|
5564
5863
|
var PhoneNumbersApi = class extends BaseApiClient {
|
|
5565
5864
|
/** List phone numbers in a workspace, optionally including archived. */
|
|
5566
5865
|
async getPhoneNumbers(wid, options) {
|
|
@@ -5684,6 +5983,62 @@ var PhoneNumbersApi = class extends BaseApiClient {
|
|
|
5684
5983
|
method: "POST"
|
|
5685
5984
|
});
|
|
5686
5985
|
}
|
|
5986
|
+
/**
|
|
5987
|
+
* Always-anonymized outbound-call analytics summary for one phone number.
|
|
5988
|
+
* No `analyticsSessionId` is sent — the summary carries no row-level PHI.
|
|
5989
|
+
*/
|
|
5990
|
+
async getPhoneNumberOutboundAnalyticsSummary(wid, id, filters) {
|
|
5991
|
+
const params = new URLSearchParams();
|
|
5992
|
+
appendAnalyticsFilters(params, filters);
|
|
5993
|
+
const query = params.toString();
|
|
5994
|
+
return this.fetch(
|
|
5995
|
+
`w/${wid}/phone-numbers/${id}/analytics/summary${query ? `?${query}` : ""}`
|
|
5996
|
+
);
|
|
5997
|
+
}
|
|
5998
|
+
/**
|
|
5999
|
+
* One paginated page of outbound-call analytics detail rows. Anonymized by
|
|
6000
|
+
* default; `raw: true` requires the `export:admin` scope server-side and is
|
|
6001
|
+
* audited per response. `analyticsSessionId` keeps the callee pseudonyms
|
|
6002
|
+
* stable across pagination/sort within one browser session.
|
|
6003
|
+
*/
|
|
6004
|
+
async getPhoneNumberOutboundAnalyticsCalls(wid, id, options) {
|
|
6005
|
+
const params = new URLSearchParams({
|
|
6006
|
+
analyticsSessionId: options.analyticsSessionId,
|
|
6007
|
+
page: String(options.page ?? 1),
|
|
6008
|
+
pageSize: String(options.pageSize ?? 50)
|
|
6009
|
+
});
|
|
6010
|
+
if (options.sort) params.set("sort", options.sort);
|
|
6011
|
+
if (options.sortDirection) params.set("sortDirection", options.sortDirection);
|
|
6012
|
+
if (options.raw) params.set("raw", "true");
|
|
6013
|
+
appendAnalyticsFilters(params, options.filters);
|
|
6014
|
+
return this.fetch(
|
|
6015
|
+
`w/${wid}/phone-numbers/${id}/analytics/calls?${params}`
|
|
6016
|
+
);
|
|
6017
|
+
}
|
|
6018
|
+
/**
|
|
6019
|
+
* Export outbound-call analytics as a CSV blob (respecting the current
|
|
6020
|
+
* filters + raw state). The server returns HTTP 400 when the result set
|
|
6021
|
+
* exceeds its export cap; that message is surfaced to the caller via
|
|
6022
|
+
* `ApiError` so the UI can toast it.
|
|
6023
|
+
*/
|
|
6024
|
+
async exportPhoneNumberOutboundAnalyticsCsv(wid, id, options) {
|
|
6025
|
+
const params = new URLSearchParams({ analyticsSessionId: options.analyticsSessionId });
|
|
6026
|
+
if (options.sort) params.set("sort", options.sort);
|
|
6027
|
+
if (options.sortDirection) params.set("sortDirection", options.sortDirection);
|
|
6028
|
+
if (options.raw) params.set("raw", "true");
|
|
6029
|
+
appendAnalyticsFilters(params, options.filters);
|
|
6030
|
+
const response = await this.fetchRaw(
|
|
6031
|
+
`w/${wid}/phone-numbers/${id}/analytics/export?${params}`,
|
|
6032
|
+
{},
|
|
6033
|
+
[400]
|
|
6034
|
+
);
|
|
6035
|
+
if (!response.ok) {
|
|
6036
|
+
const data = await response.json().catch(() => ({}));
|
|
6037
|
+
const message = typeof data?.detail === "string" ? data.detail : "Failed to export analytics";
|
|
6038
|
+
throw new ApiError(message, response.status);
|
|
6039
|
+
}
|
|
6040
|
+
return response.blob();
|
|
6041
|
+
}
|
|
5687
6042
|
};
|
|
5688
6043
|
|
|
5689
6044
|
// src/api/pronunciations.ts
|
|
@@ -6022,6 +6377,20 @@ var ReportsApi = class extends BaseApiClient {
|
|
|
6022
6377
|
|
|
6023
6378
|
// src/api/salesforce.ts
|
|
6024
6379
|
var SalesforceApi = class extends BaseApiClient {
|
|
6380
|
+
/**
|
|
6381
|
+
* Create the Salesforce connection shell (no credentials yet).
|
|
6382
|
+
*
|
|
6383
|
+
* First step of the guided setup flow: provisions the connection row so
|
|
6384
|
+
* the admin lands on the detail page where the OAuth callback URL is
|
|
6385
|
+
* shown — which they need to register their Salesforce Connected App
|
|
6386
|
+
* before they have a Client ID / Secret to enter. Idempotent.
|
|
6387
|
+
*/
|
|
6388
|
+
async installSalesforce(wid, data) {
|
|
6389
|
+
return this.fetch(`w/${wid}/app-connections/salesforce/install`, {
|
|
6390
|
+
method: "POST",
|
|
6391
|
+
body: JSON.stringify(data ?? {})
|
|
6392
|
+
});
|
|
6393
|
+
}
|
|
6025
6394
|
async configureSalesforce(wid, data) {
|
|
6026
6395
|
return this.fetch(
|
|
6027
6396
|
`w/${wid}/app-connections/salesforce/configure`,
|
|
@@ -6223,6 +6592,20 @@ var ConnectionSyncApi = class extends BaseApiClient {
|
|
|
6223
6592
|
|
|
6224
6593
|
// src/api/hubspot.ts
|
|
6225
6594
|
var HubspotApi = class extends BaseApiClient {
|
|
6595
|
+
/**
|
|
6596
|
+
* Create the HubSpot connection shell (no credentials yet).
|
|
6597
|
+
*
|
|
6598
|
+
* First step of the guided setup flow: provisions the connection row so
|
|
6599
|
+
* the admin lands on the detail page where the OAuth callback URL is
|
|
6600
|
+
* shown — which they need to register their HubSpot app before they have
|
|
6601
|
+
* a Client ID / Secret to enter. Idempotent.
|
|
6602
|
+
*/
|
|
6603
|
+
async installHubspot(wid) {
|
|
6604
|
+
return this.fetch(`w/${wid}/app-connections/hubspot/install`, {
|
|
6605
|
+
method: "POST",
|
|
6606
|
+
body: JSON.stringify({})
|
|
6607
|
+
});
|
|
6608
|
+
}
|
|
6226
6609
|
async configureHubspot(wid, data) {
|
|
6227
6610
|
return this.fetch(`w/${wid}/app-connections/hubspot/configure`, {
|
|
6228
6611
|
method: "POST",
|
|
@@ -6497,19 +6880,28 @@ var SitesApi = class extends BaseApiClient {
|
|
|
6497
6880
|
}
|
|
6498
6881
|
);
|
|
6499
6882
|
}
|
|
6500
|
-
/**
|
|
6883
|
+
/**
|
|
6884
|
+
* Verify a phone or email code and complete site authentication.
|
|
6885
|
+
*
|
|
6886
|
+
* When the account has 2FA enrolled, the backend returns a temporary token
|
|
6887
|
+
* with ``requiresTwoFactor: true`` and this method does **not** mint full
|
|
6888
|
+
* session cookies — the caller must complete the 2FA challenge (same handoff
|
|
6889
|
+
* as public-site Google OAuth).
|
|
6890
|
+
*/
|
|
6501
6891
|
async siteVerifyCode(wid, siteUuid, code, phoneNumber, email) {
|
|
6502
6892
|
const verifyResponse = await this.fetch(`s/${wid}/${siteUuid}/auth/verify`, {
|
|
6503
6893
|
method: "POST",
|
|
6504
6894
|
body: JSON.stringify({ code, phoneNumber, email })
|
|
6505
6895
|
});
|
|
6506
|
-
|
|
6507
|
-
|
|
6508
|
-
|
|
6509
|
-
|
|
6510
|
-
|
|
6511
|
-
|
|
6512
|
-
|
|
6896
|
+
if (!verifyResponse.requiresTwoFactor && verifyResponse.token) {
|
|
6897
|
+
const completeResponse = await fetch(`/api/auth/complete`, {
|
|
6898
|
+
method: "POST",
|
|
6899
|
+
headers: { "Content-Type": "application/json" },
|
|
6900
|
+
body: JSON.stringify({ token: verifyResponse.token })
|
|
6901
|
+
});
|
|
6902
|
+
if (!completeResponse.ok) {
|
|
6903
|
+
throw new Error("Failed to complete authentication");
|
|
6904
|
+
}
|
|
6513
6905
|
}
|
|
6514
6906
|
return verifyResponse;
|
|
6515
6907
|
}
|
|
@@ -6969,7 +7361,15 @@ var SupervisorsApi = class extends BaseApiClient {
|
|
|
6969
7361
|
|
|
6970
7362
|
// src/api/tasks.ts
|
|
6971
7363
|
var TasksApi = class extends BaseApiClient {
|
|
6972
|
-
/**
|
|
7364
|
+
/**
|
|
7365
|
+
* List all tasks in a workspace, optionally filtering by workflow or
|
|
7366
|
+
* including archived.
|
|
7367
|
+
*
|
|
7368
|
+
* `workflowId` is the STABLE workflow root id — the server resolves it to
|
|
7369
|
+
* that workflow's draft revision's tasks. `workflowRevisionId` filters an
|
|
7370
|
+
* explicit revision (the read-only published-revision view). Pass at most
|
|
7371
|
+
* one; passing both that disagree is a 400.
|
|
7372
|
+
*/
|
|
6973
7373
|
async getTasks(wid, options = {}) {
|
|
6974
7374
|
const params = new URLSearchParams();
|
|
6975
7375
|
if (options.includeArchived) {
|
|
@@ -6978,6 +7378,9 @@ var TasksApi = class extends BaseApiClient {
|
|
|
6978
7378
|
if (options.workflowId) {
|
|
6979
7379
|
params.append("workflow_id", options.workflowId.toString());
|
|
6980
7380
|
}
|
|
7381
|
+
if (options.workflowRevisionId) {
|
|
7382
|
+
params.append("workflow_revision_id", options.workflowRevisionId.toString());
|
|
7383
|
+
}
|
|
6981
7384
|
if (options.sortBy) {
|
|
6982
7385
|
params.append("sortBy", options.sortBy);
|
|
6983
7386
|
}
|
|
@@ -7332,11 +7735,18 @@ var JourneysApi = class extends BaseApiClient {
|
|
|
7332
7735
|
// src/api/workflows.ts
|
|
7333
7736
|
var WorkflowsApi = class extends BaseApiClient {
|
|
7334
7737
|
/** List all workflows in a workspace, optionally including archived ones. */
|
|
7335
|
-
async getWorkflows(wid,
|
|
7336
|
-
const
|
|
7337
|
-
|
|
7738
|
+
async getWorkflows(wid, options = {}) {
|
|
7739
|
+
const params = new URLSearchParams();
|
|
7740
|
+
if (options.archived) params.set("archived", "true");
|
|
7741
|
+
if (options.page) params.set("page", String(options.page));
|
|
7742
|
+
if (options.pageSize) params.set("pageSize", String(options.pageSize));
|
|
7743
|
+
if (options.sortBy) params.set("sortBy", options.sortBy);
|
|
7744
|
+
if (options.sortOrder) params.set("sortOrder", options.sortOrder);
|
|
7745
|
+
if (options.search) params.set("search", options.search);
|
|
7746
|
+
const qs = params.toString();
|
|
7747
|
+
return this.fetch(`w/${wid}/workflows${qs ? `?${qs}` : ""}`);
|
|
7338
7748
|
}
|
|
7339
|
-
/** Get a single workflow by ID. */
|
|
7749
|
+
/** Get a single workflow by ID (root + draft + active-revision summary). */
|
|
7340
7750
|
async getWorkflow(wid, id) {
|
|
7341
7751
|
return this.fetch(`w/${wid}/workflows/${id}`);
|
|
7342
7752
|
}
|
|
@@ -7384,7 +7794,7 @@ var WorkflowsApi = class extends BaseApiClient {
|
|
|
7384
7794
|
body: JSON.stringify(workflow)
|
|
7385
7795
|
});
|
|
7386
7796
|
}
|
|
7387
|
-
/** Update an existing workflow. */
|
|
7797
|
+
/** Update an existing workflow's draft revision. */
|
|
7388
7798
|
async updateWorkflow(wid, id, workflow) {
|
|
7389
7799
|
return this.fetch(`w/${wid}/workflows/${id}`, {
|
|
7390
7800
|
method: "PUT",
|
|
@@ -7405,13 +7815,15 @@ var WorkflowsApi = class extends BaseApiClient {
|
|
|
7405
7815
|
/** Archive a workflow. */
|
|
7406
7816
|
async archiveWorkflow(wid, id) {
|
|
7407
7817
|
return this.fetch(`w/${wid}/workflows/${id}/archive`, {
|
|
7408
|
-
method: "POST"
|
|
7818
|
+
method: "POST",
|
|
7819
|
+
body: JSON.stringify({})
|
|
7409
7820
|
});
|
|
7410
7821
|
}
|
|
7411
7822
|
/** Unarchive a previously archived workflow. */
|
|
7412
7823
|
async unarchiveWorkflow(wid, id) {
|
|
7413
7824
|
return this.fetch(`w/${wid}/workflows/${id}/unarchive`, {
|
|
7414
|
-
method: "POST"
|
|
7825
|
+
method: "POST",
|
|
7826
|
+
body: JSON.stringify({})
|
|
7415
7827
|
});
|
|
7416
7828
|
}
|
|
7417
7829
|
/** Clone a workflow with a new name. */
|
|
@@ -7427,16 +7839,20 @@ var WorkflowsApi = class extends BaseApiClient {
|
|
|
7427
7839
|
}
|
|
7428
7840
|
/** Create a new workflow from a template. */
|
|
7429
7841
|
async createWorkflowFromTemplate(wid, templateUuid, data) {
|
|
7430
|
-
return this.fetch(
|
|
7431
|
-
|
|
7432
|
-
|
|
7433
|
-
|
|
7842
|
+
return this.fetch(
|
|
7843
|
+
`w/${wid}/workflows/templates/${templateUuid}/create-workflow`,
|
|
7844
|
+
{
|
|
7845
|
+
method: "POST",
|
|
7846
|
+
body: JSON.stringify(data)
|
|
7847
|
+
}
|
|
7848
|
+
);
|
|
7434
7849
|
}
|
|
7435
7850
|
/** Get task assignment statistics for a workflow within an optional date range. */
|
|
7436
|
-
async getWorkflowTaskAssignmentStats(wid, id, fromDate, toDate) {
|
|
7851
|
+
async getWorkflowTaskAssignmentStats(wid, id, fromDate, toDate, workflowRevisionId) {
|
|
7437
7852
|
const params = new URLSearchParams();
|
|
7438
7853
|
if (fromDate) params.append("from_date", fromDate);
|
|
7439
7854
|
if (toDate) params.append("to_date", toDate);
|
|
7855
|
+
if (workflowRevisionId) params.append("workflowRevisionId", String(workflowRevisionId));
|
|
7440
7856
|
return this.fetch(
|
|
7441
7857
|
`w/${wid}/workflows/${id}/task-assignment-stats?${params.toString()}`
|
|
7442
7858
|
);
|
|
@@ -7486,6 +7902,24 @@ var WorkflowsApi = class extends BaseApiClient {
|
|
|
7486
7902
|
`w/${wid}/workflows/${workflowId}/route-dry-run?${params.toString()}`
|
|
7487
7903
|
);
|
|
7488
7904
|
}
|
|
7905
|
+
// Workflow Feedback API
|
|
7906
|
+
/**
|
|
7907
|
+
* List chat feedback for a workflow (thumbs ratings + explicit/extracted rows).
|
|
7908
|
+
* First consumer of the workspace-plane chat_feedback table.
|
|
7909
|
+
*/
|
|
7910
|
+
async getWorkflowFeedback(wid, workflowId, options = {}) {
|
|
7911
|
+
const params = new URLSearchParams();
|
|
7912
|
+
if (options.page != null) params.set("page", String(options.page));
|
|
7913
|
+
if (options.pageSize != null) params.set("pageSize", String(options.pageSize));
|
|
7914
|
+
if (options.source) params.set("source", options.source);
|
|
7915
|
+
if (options.rating) params.set("rating", options.rating);
|
|
7916
|
+
if (options.authorKind) params.set("authorKind", options.authorKind);
|
|
7917
|
+
if (options.includeTest != null) params.set("includeTest", String(options.includeTest));
|
|
7918
|
+
const qs = params.toString();
|
|
7919
|
+
return this.fetch(
|
|
7920
|
+
`w/${wid}/workflows/${workflowId}/feedback${qs ? `?${qs}` : ""}`
|
|
7921
|
+
);
|
|
7922
|
+
}
|
|
7489
7923
|
// Workflow Contributors API
|
|
7490
7924
|
/** List all contributors for a workflow. */
|
|
7491
7925
|
async getWorkflowContributors(wid, workflowId) {
|
|
@@ -7551,58 +7985,80 @@ var WorkflowsApi = class extends BaseApiClient {
|
|
|
7551
7985
|
body: JSON.stringify({ name })
|
|
7552
7986
|
});
|
|
7553
7987
|
}
|
|
7554
|
-
|
|
7555
|
-
|
|
7556
|
-
|
|
7557
|
-
return this.fetch(`w/${wid}/workflows/${workflowUuid}/versions`);
|
|
7558
|
-
}
|
|
7559
|
-
/** Get the active version of a workflow. */
|
|
7560
|
-
async getWorkflowVersionActive(wid, workflowUuid) {
|
|
7561
|
-
return this.fetch(
|
|
7562
|
-
`w/${wid}/workflows/${workflowUuid}/versions/active`
|
|
7563
|
-
);
|
|
7988
|
+
/** List relational revisions for a workflow. */
|
|
7989
|
+
async getWorkflowRevisions(wid, workflowId) {
|
|
7990
|
+
return this.fetch(`w/${wid}/workflows/${workflowId}/revisions`);
|
|
7564
7991
|
}
|
|
7565
|
-
/** Get
|
|
7566
|
-
async
|
|
7992
|
+
/** Get full workflow details for one relational workflow revision. */
|
|
7993
|
+
async getWorkflowRevision(wid, workflowId, revisionId) {
|
|
7567
7994
|
return this.fetch(
|
|
7568
|
-
`w/${wid}/workflows/${
|
|
7995
|
+
`w/${wid}/workflows/${workflowId}/revisions/${revisionId}`
|
|
7569
7996
|
);
|
|
7570
7997
|
}
|
|
7571
|
-
/**
|
|
7572
|
-
|
|
7573
|
-
|
|
7998
|
+
/** Freeze the workflow's draft as a published revision and clone a fresh draft.
|
|
7999
|
+
*
|
|
8000
|
+
* By default the just-published revision becomes the active revision —
|
|
8001
|
+
* live traffic flips to it immediately. Pass `setActive: false` to
|
|
8002
|
+
* publish without flipping live traffic (advanced flow).
|
|
8003
|
+
*/
|
|
8004
|
+
async publishWorkflowRevision(wid, workflowId, data = {}) {
|
|
8005
|
+
return this.fetch(`w/${wid}/workflows/${workflowId}/publish`, {
|
|
7574
8006
|
method: "POST",
|
|
7575
8007
|
body: JSON.stringify(data)
|
|
7576
8008
|
});
|
|
7577
8009
|
}
|
|
7578
|
-
|
|
8010
|
+
/** Point the workflow's active pointer at a chosen revision (pointer flip only).
|
|
8011
|
+
*
|
|
8012
|
+
* The target may be any of the workflow's published revisions.
|
|
8013
|
+
* Activating the draft requires `allowDraft: true` and a UI warning
|
|
8014
|
+
* confirmation.
|
|
8015
|
+
*/
|
|
8016
|
+
async activateWorkflowRevision(wid, workflowId, revisionId, data = {}) {
|
|
7579
8017
|
return this.fetch(
|
|
7580
|
-
`w/${wid}/workflows/${
|
|
7581
|
-
{
|
|
8018
|
+
`w/${wid}/workflows/${workflowId}/revisions/${revisionId}/activate`,
|
|
8019
|
+
{
|
|
8020
|
+
method: "POST",
|
|
8021
|
+
body: JSON.stringify(data)
|
|
8022
|
+
}
|
|
7582
8023
|
);
|
|
7583
8024
|
}
|
|
7584
|
-
/**
|
|
7585
|
-
|
|
8025
|
+
/** Update a revision's curation metadata (label + publish notes).
|
|
8026
|
+
*
|
|
8027
|
+
* Applies to both the draft and published revisions; it is not a graph
|
|
8028
|
+
* change, so it never marks the draft dirty.
|
|
8029
|
+
*/
|
|
8030
|
+
async updateWorkflowRevisionMetadata(wid, workflowId, revisionId, data) {
|
|
7586
8031
|
return this.fetch(
|
|
7587
|
-
`w/${wid}/workflows/${
|
|
8032
|
+
`w/${wid}/workflows/${workflowId}/revisions/${revisionId}`,
|
|
7588
8033
|
{
|
|
7589
|
-
method: "
|
|
8034
|
+
method: "PATCH",
|
|
8035
|
+
body: JSON.stringify(data)
|
|
7590
8036
|
}
|
|
7591
8037
|
);
|
|
7592
8038
|
}
|
|
7593
|
-
/**
|
|
7594
|
-
|
|
8039
|
+
/** Compare two revisions of the same workflow.
|
|
8040
|
+
*
|
|
8041
|
+
* `against` is a revision id or UUID; when omitted the diff compares the
|
|
8042
|
+
* named revision against the workflow's draft. Tasks are matched by
|
|
8043
|
+
* stable lineage, so a rename reads as a changed `name` field.
|
|
8044
|
+
*/
|
|
8045
|
+
async diffWorkflowRevisions(wid, workflowId, revisionId, against) {
|
|
8046
|
+
const qs = against !== void 0 ? `?against=${encodeURIComponent(String(against))}` : "";
|
|
7595
8047
|
return this.fetch(
|
|
7596
|
-
`w/${wid}/workflows/${
|
|
7597
|
-
{
|
|
7598
|
-
method: "POST"
|
|
7599
|
-
}
|
|
8048
|
+
`w/${wid}/workflows/${workflowId}/revisions/${revisionId}/diff${qs}`
|
|
7600
8049
|
);
|
|
7601
8050
|
}
|
|
7602
|
-
/**
|
|
7603
|
-
|
|
8051
|
+
/** Branch a published revision into the workflow's draft ("edit this
|
|
8052
|
+
* revision"): the draft becomes a fresh clone of the named published
|
|
8053
|
+
* revision. Pass `discardDraftChanges` to replace a dirty draft.
|
|
8054
|
+
*/
|
|
8055
|
+
async editWorkflowRevisionAsDraft(wid, workflowId, revisionId, data = {}) {
|
|
7604
8056
|
return this.fetch(
|
|
7605
|
-
`w/${wid}/workflows/${
|
|
8057
|
+
`w/${wid}/workflows/${workflowId}/revisions/${revisionId}/edit`,
|
|
8058
|
+
{
|
|
8059
|
+
method: "POST",
|
|
8060
|
+
body: JSON.stringify(data)
|
|
8061
|
+
}
|
|
7606
8062
|
);
|
|
7607
8063
|
}
|
|
7608
8064
|
};
|
|
@@ -7743,11 +8199,14 @@ var Scope = /* @__PURE__ */ ((Scope2) => {
|
|
|
7743
8199
|
Scope2["ANALYTICS_READ"] = "analytics:read";
|
|
7744
8200
|
Scope2["OPERATOR_READ"] = "operator:read";
|
|
7745
8201
|
Scope2["OPERATOR_WRITE"] = "operator:write";
|
|
8202
|
+
Scope2["EXPORT_READ"] = "export:read";
|
|
8203
|
+
Scope2["EXPORT_WRITE"] = "export:write";
|
|
8204
|
+
Scope2["EXPORT_ADMIN"] = "export:admin";
|
|
7746
8205
|
Scope2["ORG_INFO"] = "org:info";
|
|
7747
8206
|
Scope2["ORG_READ"] = "org:read";
|
|
7748
8207
|
Scope2["ORG_WRITE"] = "org:write";
|
|
7749
8208
|
Scope2["ORG_ADMIN"] = "org:admin";
|
|
7750
|
-
Scope2["
|
|
8209
|
+
Scope2["ORG_MANAGE_ADMINS"] = "org:manage_admins";
|
|
7751
8210
|
Scope2["ORG_DELETE"] = "org:delete";
|
|
7752
8211
|
return Scope2;
|
|
7753
8212
|
})(Scope || {});
|
|
@@ -7822,6 +8281,7 @@ var EventRuleEventType = /* @__PURE__ */ ((EventRuleEventType2) => {
|
|
|
7822
8281
|
EventRuleEventType2["MEMBER_LEFT"] = "workspace:member_left";
|
|
7823
8282
|
EventRuleEventType2["DATA_RECORD_CREATED"] = "data_record:created";
|
|
7824
8283
|
EventRuleEventType2["DATA_RECORD_UPDATED"] = "data_record:updated";
|
|
8284
|
+
EventRuleEventType2["DATA_RECORD_CHANGED"] = "data_record:changed";
|
|
7825
8285
|
EventRuleEventType2["CHAT_CREATED"] = "chat:created";
|
|
7826
8286
|
EventRuleEventType2["CHAT_CALLBACK"] = "chat:callback";
|
|
7827
8287
|
EventRuleEventType2["MEMBER_UPDATED"] = "member:updated";
|
|
@@ -7900,7 +8360,6 @@ var WorkspaceFeature = /* @__PURE__ */ ((WorkspaceFeature2) => {
|
|
|
7900
8360
|
WorkspaceFeature2["GCALENDAR"] = "gcalendar";
|
|
7901
8361
|
WorkspaceFeature2["MONDAY"] = "monday";
|
|
7902
8362
|
WorkspaceFeature2["RESELL_PRODUCTS"] = "resell_products";
|
|
7903
|
-
WorkspaceFeature2["HIPAA_COMPLIANCE"] = "hipaa_compliance";
|
|
7904
8363
|
WorkspaceFeature2["SOC2_COMPLIANCE"] = "soc2_compliance";
|
|
7905
8364
|
WorkspaceFeature2["EHR_FHIR"] = "ehr_fhir";
|
|
7906
8365
|
WorkspaceFeature2["EHR_ECLINICALWORKS"] = "ehr_eclinicalworks";
|
|
@@ -7910,7 +8369,6 @@ var WorkspaceFeature = /* @__PURE__ */ ((WorkspaceFeature2) => {
|
|
|
7910
8369
|
WorkspaceFeature2["CONFLUENCE"] = "confluence";
|
|
7911
8370
|
WorkspaceFeature2["AGENT_MEMORY"] = "agent_memory";
|
|
7912
8371
|
WorkspaceFeature2["IMAGE_GENERATION"] = "image_generation";
|
|
7913
|
-
WorkspaceFeature2["WORKFLOW_VERSIONING"] = "workflow_versioning";
|
|
7914
8372
|
return WorkspaceFeature2;
|
|
7915
8373
|
})(WorkspaceFeature || {});
|
|
7916
8374
|
var MemberFeature = /* @__PURE__ */ ((MemberFeature2) => {
|
|
@@ -7924,7 +8382,6 @@ var MemberFeature = /* @__PURE__ */ ((MemberFeature2) => {
|
|
|
7924
8382
|
var OrgFeature = /* @__PURE__ */ ((OrgFeature2) => {
|
|
7925
8383
|
OrgFeature2["SSO"] = "sso";
|
|
7926
8384
|
OrgFeature2["AUDIT_LOGS"] = "audit_logs";
|
|
7927
|
-
OrgFeature2["HIPAA_COMPLIANCE"] = "hipaa_compliance";
|
|
7928
8385
|
OrgFeature2["SOC2_COMPLIANCE"] = "soc2_compliance";
|
|
7929
8386
|
OrgFeature2["CUSTOM_BRANDING"] = "custom_branding";
|
|
7930
8387
|
OrgFeature2["PRIORITY_SUPPORT"] = "priority_support";
|
|
@@ -8177,8 +8634,15 @@ var AccessGrantResourceType = /* @__PURE__ */ ((AccessGrantResourceType2) => {
|
|
|
8177
8634
|
AccessGrantResourceType2["SITE"] = "site";
|
|
8178
8635
|
AccessGrantResourceType2["ASSIGNMENT"] = "assignment";
|
|
8179
8636
|
AccessGrantResourceType2["APP_CONNECTION"] = "app_connection";
|
|
8637
|
+
AccessGrantResourceType2["CAPABILITY"] = "capability";
|
|
8180
8638
|
return AccessGrantResourceType2;
|
|
8181
8639
|
})(AccessGrantResourceType || {});
|
|
8640
|
+
var CapabilityClass = /* @__PURE__ */ ((CapabilityClass2) => {
|
|
8641
|
+
CapabilityClass2["TOOL_ALWAYS_ALLOW"] = "tool.always_allow";
|
|
8642
|
+
CapabilityClass2["SELF_MODIFICATION_SCHEDULE"] = "self_modification.schedule";
|
|
8643
|
+
CapabilityClass2["ATTENTION_INTERRUPT_RUNG"] = "attention.interrupt_rung";
|
|
8644
|
+
return CapabilityClass2;
|
|
8645
|
+
})(CapabilityClass || {});
|
|
8182
8646
|
var AccessGrantStatus = /* @__PURE__ */ ((AccessGrantStatus2) => {
|
|
8183
8647
|
AccessGrantStatus2["PENDING"] = "pending";
|
|
8184
8648
|
AccessGrantStatus2["ACTIVE"] = "active";
|
|
@@ -8489,6 +8953,35 @@ var WorkspacesApi = class extends BaseApiClient {
|
|
|
8489
8953
|
async getWorkspaceSiteDomains(wid) {
|
|
8490
8954
|
return this.fetch(`w/${wid}/domains/for-site`);
|
|
8491
8955
|
}
|
|
8956
|
+
/**
|
|
8957
|
+
* List org domains available for enabling embeddable widgets. Widgets ride
|
|
8958
|
+
* on domain-ownership verification only, so the consumer gates selection on
|
|
8959
|
+
* `ownershipStatus === 'verified'`.
|
|
8960
|
+
*/
|
|
8961
|
+
async getWorkspaceWidgetDomains(wid) {
|
|
8962
|
+
return this.fetch(`w/${wid}/domains/for-widget`);
|
|
8963
|
+
}
|
|
8964
|
+
/** List this workspace's widget-domain enablement entries. */
|
|
8965
|
+
async listWidgetDomains(wid) {
|
|
8966
|
+
return this.fetch(`w/${wid}/widget-domains`);
|
|
8967
|
+
}
|
|
8968
|
+
/**
|
|
8969
|
+
* Enable/replace the set of widgets on one verified org domain. Idempotent
|
|
8970
|
+
* upsert keyed by `orgDomainUuid`; the server rejects unverified domains
|
|
8971
|
+
* (400) and cross-org domains (404).
|
|
8972
|
+
*/
|
|
8973
|
+
async upsertWidgetDomain(wid, orgDomainUuid, body) {
|
|
8974
|
+
return this.fetch(`w/${wid}/widget-domains/${orgDomainUuid}`, {
|
|
8975
|
+
method: "PUT",
|
|
8976
|
+
body: JSON.stringify(body)
|
|
8977
|
+
});
|
|
8978
|
+
}
|
|
8979
|
+
/** Remove this workspace's widget entry for a domain (disables all widgets). */
|
|
8980
|
+
async deleteWidgetDomain(wid, orgDomainUuid) {
|
|
8981
|
+
await this.fetch(`w/${wid}/widget-domains/${orgDomainUuid}`, {
|
|
8982
|
+
method: "DELETE"
|
|
8983
|
+
});
|
|
8984
|
+
}
|
|
8492
8985
|
/** List client workspaces managed by this reseller workspace, paginated. */
|
|
8493
8986
|
async getResellerWorkspaces(wid, params) {
|
|
8494
8987
|
const query = new URLSearchParams();
|
|
@@ -8648,7 +9141,7 @@ var WorkspacesApi = class extends BaseApiClient {
|
|
|
8648
9141
|
/**
|
|
8649
9142
|
* Get billing dashboard data for a workspace.
|
|
8650
9143
|
*
|
|
8651
|
-
* This endpoint is available to organization owners (with org:
|
|
9144
|
+
* This endpoint is available to organization owners (with org:info scope).
|
|
8652
9145
|
* Superusers should use the admin endpoint via getWorkspaceUsageDashboard.
|
|
8653
9146
|
*
|
|
8654
9147
|
* Returns comprehensive billing information including:
|
|
@@ -8745,6 +9238,7 @@ function createApiModules(apiKey, baseUrl, customFetch) {
|
|
|
8745
9238
|
customers: new CustomersApi(apiKey, baseUrl, customFetch),
|
|
8746
9239
|
resellers: new ResellersApi(apiKey, baseUrl, customFetch),
|
|
8747
9240
|
customToolkits: new CustomToolkitsApi(apiKey, baseUrl, customFetch),
|
|
9241
|
+
dashboards: new DashboardsApi(apiKey, baseUrl, customFetch),
|
|
8748
9242
|
dataTypes: new DataTypesApi(apiKey, baseUrl, customFetch),
|
|
8749
9243
|
discordBots: new DiscordBotsApi(apiKey, baseUrl, customFetch),
|
|
8750
9244
|
slackApps: new SlackAppsApi(apiKey, baseUrl, customFetch),
|
|
@@ -8765,6 +9259,7 @@ function createApiModules(apiKey, baseUrl, customFetch) {
|
|
|
8765
9259
|
mcpServers: new McpServersApi(apiKey, baseUrl, customFetch),
|
|
8766
9260
|
members: new MembersApi(apiKey, baseUrl, customFetch),
|
|
8767
9261
|
milestones: new MilestonesApi(apiKey, baseUrl, customFetch),
|
|
9262
|
+
motd: new MotdApi(apiKey, baseUrl, customFetch),
|
|
8768
9263
|
confluence: new ConfluenceApi(apiKey, baseUrl, customFetch),
|
|
8769
9264
|
mondayIntegration: new MondayIntegrationApi(apiKey, baseUrl, customFetch),
|
|
8770
9265
|
notificationRules: new NotificationRulesApi(apiKey, baseUrl, customFetch),
|
|
@@ -8797,7 +9292,7 @@ function createApiModules(apiKey, baseUrl, customFetch) {
|
|
|
8797
9292
|
|
|
8798
9293
|
// src/client/workspace-client.ts
|
|
8799
9294
|
var WORKSPACE_METHOD_NAMES = [
|
|
8800
|
-
"
|
|
9295
|
+
"activateWorkflowRevision",
|
|
8801
9296
|
"addGroupMember",
|
|
8802
9297
|
"advanceStep",
|
|
8803
9298
|
"approveWorkspaceInvitation",
|
|
@@ -8860,6 +9355,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
8860
9355
|
"createCustomTool",
|
|
8861
9356
|
"createCustomToolkit",
|
|
8862
9357
|
"createDataRecord",
|
|
9358
|
+
"createDataRecordFilter",
|
|
8863
9359
|
"createDataType",
|
|
8864
9360
|
"createDiscordBot",
|
|
8865
9361
|
"createEventRule",
|
|
@@ -8867,7 +9363,6 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
8867
9363
|
"createExperiment",
|
|
8868
9364
|
"createExperimentAssignment",
|
|
8869
9365
|
"createExperimentGroup",
|
|
8870
|
-
"convertMemberFilterToQuery",
|
|
8871
9366
|
"createFhirConnection",
|
|
8872
9367
|
"createFile",
|
|
8873
9368
|
"createFileLabel",
|
|
@@ -8907,7 +9402,6 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
8907
9402
|
"createWorkflowOutboundVoiceChat",
|
|
8908
9403
|
"createWorkspaceMember",
|
|
8909
9404
|
"createWorkspaceSupportRequest",
|
|
8910
|
-
"deactivateWorkflowVersion",
|
|
8911
9405
|
"deleteAbility",
|
|
8912
9406
|
"deleteAgent",
|
|
8913
9407
|
"deleteAssignment",
|
|
@@ -8923,6 +9417,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
8923
9417
|
"deleteCustomTool",
|
|
8924
9418
|
"deleteCustomToolkit",
|
|
8925
9419
|
"deleteDataRecord",
|
|
9420
|
+
"deleteDataRecordFilter",
|
|
8926
9421
|
"deleteDataType",
|
|
8927
9422
|
"deleteDiscordBot",
|
|
8928
9423
|
"deleteEnrollment",
|
|
@@ -8965,6 +9460,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
8965
9460
|
"deleteSupervisor",
|
|
8966
9461
|
"deleteTask",
|
|
8967
9462
|
"deleteTeamsApp",
|
|
9463
|
+
"deleteWidgetDomain",
|
|
8968
9464
|
"deleteWorkflow",
|
|
8969
9465
|
"deleteWorkflowContributor",
|
|
8970
9466
|
"deleteWorkflowNote",
|
|
@@ -8972,7 +9468,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
8972
9468
|
"deleteWorkspaceInvitationAdmin",
|
|
8973
9469
|
"denyWorkspaceInvitation",
|
|
8974
9470
|
"describeSalesforceObject",
|
|
8975
|
-
"
|
|
9471
|
+
"diffWorkflowRevisions",
|
|
8976
9472
|
"disableConfluence",
|
|
8977
9473
|
"disableCustomToolkit",
|
|
8978
9474
|
"disableHubspot",
|
|
@@ -8988,6 +9484,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
8988
9484
|
"dismissAllNotifications",
|
|
8989
9485
|
"dismissNotification",
|
|
8990
9486
|
"downloadEmailAttachment",
|
|
9487
|
+
"editWorkflowRevisionAsDraft",
|
|
8991
9488
|
"enableConfluence",
|
|
8992
9489
|
"enableCustomToolkit",
|
|
8993
9490
|
"enableHubspot",
|
|
@@ -9066,6 +9563,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
9066
9563
|
"getCalendarSchedules",
|
|
9067
9564
|
"getCalendars",
|
|
9068
9565
|
"getCelContext",
|
|
9566
|
+
"getCharlestonTestDeliveryRecipients",
|
|
9069
9567
|
"getChat",
|
|
9070
9568
|
"getChatAssignmentTasks",
|
|
9071
9569
|
"getChatCallbacks",
|
|
@@ -9099,6 +9597,9 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
9099
9597
|
"getCustomToolkits",
|
|
9100
9598
|
"getDataRecord",
|
|
9101
9599
|
"getDataRecordChanges",
|
|
9600
|
+
"getDataRecordFilter",
|
|
9601
|
+
"getDataRecordFilterCount",
|
|
9602
|
+
"getDataRecordFilters",
|
|
9102
9603
|
"getDataRecords",
|
|
9103
9604
|
"getDataType",
|
|
9104
9605
|
"getDataTypeByUuid",
|
|
@@ -9122,16 +9623,20 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
9122
9623
|
"getFhirConnections",
|
|
9123
9624
|
"getFieldIndexStatus",
|
|
9124
9625
|
"getFile",
|
|
9626
|
+
"resolveFilePath",
|
|
9125
9627
|
"getFileLabel",
|
|
9126
9628
|
"getFileLabelByUuid",
|
|
9127
9629
|
"getFileLabels",
|
|
9128
9630
|
"getFileSharing",
|
|
9631
|
+
"getFileVersionContentsUrl",
|
|
9632
|
+
"getFileVersionDiff",
|
|
9129
9633
|
"getFiles",
|
|
9130
9634
|
"getFirstRunState",
|
|
9131
9635
|
"getFolder",
|
|
9132
9636
|
"getFolderSharing",
|
|
9133
9637
|
"getFolders",
|
|
9134
9638
|
"getGoogleCalendarStatus",
|
|
9639
|
+
"getGranteeGrants",
|
|
9135
9640
|
"getHealthieAvailableSlots",
|
|
9136
9641
|
"getHealthieReconciliationMatches",
|
|
9137
9642
|
"getHealthieStatus",
|
|
@@ -9177,6 +9682,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
9177
9682
|
"getMemberLabelByUuid",
|
|
9178
9683
|
"getMemberLabels",
|
|
9179
9684
|
"getMemberMemories",
|
|
9685
|
+
"getMemberMemory",
|
|
9180
9686
|
"getMemberRecordCounts",
|
|
9181
9687
|
"getMemberRole",
|
|
9182
9688
|
"getMemberRoleByUuid",
|
|
@@ -9225,6 +9731,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
9225
9731
|
"getPublicProducts",
|
|
9226
9732
|
"getQualification",
|
|
9227
9733
|
"getQualifications",
|
|
9734
|
+
"getRecordingInfo",
|
|
9228
9735
|
"getResellerWorkspaces",
|
|
9229
9736
|
"getRoutine",
|
|
9230
9737
|
"getRoutineRuns",
|
|
@@ -9279,17 +9786,17 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
9279
9786
|
"getWorkflowAccessValidation",
|
|
9280
9787
|
"getWorkflowActivity",
|
|
9281
9788
|
"getWorkflowConfigValidation",
|
|
9789
|
+
"getWorkflowFeedback",
|
|
9282
9790
|
"getWorkflowContributors",
|
|
9283
9791
|
"getWorkflowDeletionPreview",
|
|
9284
9792
|
"getWorkflowDiagram",
|
|
9285
9793
|
"getWorkflowNotes",
|
|
9794
|
+
"getWorkflowRevision",
|
|
9795
|
+
"getWorkflowRevisions",
|
|
9286
9796
|
"getWorkflowRouteDryRun",
|
|
9287
9797
|
"getWorkflowTaskAssignmentStats",
|
|
9288
9798
|
"getWorkflowTemplates",
|
|
9289
9799
|
"getWorkflowThumbnailUrl",
|
|
9290
|
-
"getWorkflowVersion",
|
|
9291
|
-
"getWorkflowVersionActive",
|
|
9292
|
-
"getWorkflowVersions",
|
|
9293
9800
|
"getWorkflows",
|
|
9294
9801
|
"getWorkflowsActivityBatch",
|
|
9295
9802
|
"getWorkspace",
|
|
@@ -9303,6 +9810,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
9303
9810
|
"getWorkspaceNotices",
|
|
9304
9811
|
"getWorkspaceProduct",
|
|
9305
9812
|
"getWorkspaceSiteDomains",
|
|
9813
|
+
"getWorkspaceWidgetDomains",
|
|
9306
9814
|
"getWorkspaceSubscriptions",
|
|
9307
9815
|
"getWorkspaceSupportRequest",
|
|
9308
9816
|
"getWorkspaceThemes",
|
|
@@ -9314,6 +9822,9 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
9314
9822
|
"initiateCall",
|
|
9315
9823
|
"initiateOutboundCall",
|
|
9316
9824
|
"inspectPrompt",
|
|
9825
|
+
"installHubspot",
|
|
9826
|
+
"installMondayConnection",
|
|
9827
|
+
"installSalesforce",
|
|
9317
9828
|
"inviteMemberCredentialUpdate",
|
|
9318
9829
|
"inviteToWorkspace",
|
|
9319
9830
|
"leaveWorkspace",
|
|
@@ -9325,13 +9836,13 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
9325
9836
|
"linkMemberToSalesforce",
|
|
9326
9837
|
"linkPhoneNumber",
|
|
9327
9838
|
"listAbilities",
|
|
9328
|
-
"listAgentAbilities",
|
|
9329
9839
|
"listAppConnections",
|
|
9330
9840
|
"listAvailableAppConnections",
|
|
9331
9841
|
"listConfluencePages",
|
|
9332
9842
|
"listConfluenceSpaces",
|
|
9333
9843
|
"listConnectionMemberFieldKeys",
|
|
9334
9844
|
"setDefaultGooglePlatformAccount",
|
|
9845
|
+
"listFileVersions",
|
|
9335
9846
|
"listGoogleCalendars",
|
|
9336
9847
|
"listHealthieAppointmentTypes",
|
|
9337
9848
|
"listHealthiePatients",
|
|
@@ -9341,6 +9852,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
9341
9852
|
"listScenarios",
|
|
9342
9853
|
"listSnippets",
|
|
9343
9854
|
"listTestChatRuns",
|
|
9855
|
+
"listWidgetDomains",
|
|
9344
9856
|
"listWorkspaceInvitationsAdmin",
|
|
9345
9857
|
"listWorkspaceSupportRequests",
|
|
9346
9858
|
"markEmailAsRead",
|
|
@@ -9348,14 +9860,16 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
9348
9860
|
"markNotificationAsRead",
|
|
9349
9861
|
"previewImportMembers",
|
|
9350
9862
|
"previewImportWorkspace",
|
|
9863
|
+
"previewRoutineWorkflowAccess",
|
|
9351
9864
|
"previewSchedule",
|
|
9352
9865
|
"previewTTS",
|
|
9353
9866
|
"previewTemplate",
|
|
9354
9867
|
"previewThinkingSound",
|
|
9355
9868
|
"previewWorkspaceImport",
|
|
9356
9869
|
"provisionClientWorkspace",
|
|
9357
|
-
"
|
|
9870
|
+
"publishWorkflowRevision",
|
|
9358
9871
|
"rateMessage",
|
|
9872
|
+
"getChatFeedback",
|
|
9359
9873
|
"reenrollMember",
|
|
9360
9874
|
"registerLinkedRolesMetadata",
|
|
9361
9875
|
"registerPushSubscription",
|
|
@@ -9372,8 +9886,8 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
9372
9886
|
"requestWorkspaceMembership",
|
|
9373
9887
|
"resetRoutineRuns",
|
|
9374
9888
|
"resolveAccessGrant",
|
|
9375
|
-
"resolveAgentTools",
|
|
9376
9889
|
"resolveAnonymousMember",
|
|
9890
|
+
"restoreFileVersion",
|
|
9377
9891
|
"revokeAccessGrant",
|
|
9378
9892
|
"revokeApiKey",
|
|
9379
9893
|
"revokeICalToken",
|
|
@@ -9439,6 +9953,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
9439
9953
|
"updateCustomTool",
|
|
9440
9954
|
"updateCustomToolkit",
|
|
9441
9955
|
"updateDataRecord",
|
|
9956
|
+
"updateDataRecordFilter",
|
|
9442
9957
|
"updateDataType",
|
|
9443
9958
|
"updateDiscordBot",
|
|
9444
9959
|
"updateEventAttendee",
|
|
@@ -9491,12 +10006,13 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
9491
10006
|
"updateWorkflow",
|
|
9492
10007
|
"updateWorkflowContributor",
|
|
9493
10008
|
"updateWorkflowNote",
|
|
9494
|
-
"
|
|
10009
|
+
"updateWorkflowRevisionMetadata",
|
|
9495
10010
|
"updateWorkspace",
|
|
9496
10011
|
"updateWorkspaceDefaults",
|
|
9497
10012
|
"updateWorkspaceInvitationAdmin",
|
|
9498
10013
|
"updateWorkspaceThemes",
|
|
9499
10014
|
"upsertDataRecord",
|
|
10015
|
+
"upsertWidgetDomain",
|
|
9500
10016
|
"validateDataTypeSlug",
|
|
9501
10017
|
"validateWorkflowName"
|
|
9502
10018
|
];
|
|
@@ -9528,6 +10044,7 @@ function bindAccessGrantsMethods(target, accessGrants) {
|
|
|
9528
10044
|
target.revokeAccessGrant = accessGrants.revokeAccessGrant.bind(accessGrants);
|
|
9529
10045
|
target.getAccessGrants = accessGrants.getAccessGrants.bind(accessGrants);
|
|
9530
10046
|
target.getMemberGrants = accessGrants.getMemberGrants.bind(accessGrants);
|
|
10047
|
+
target.getGranteeGrants = accessGrants.getGranteeGrants.bind(accessGrants);
|
|
9531
10048
|
}
|
|
9532
10049
|
|
|
9533
10050
|
// src/client/bindings/agent-tasks.ts
|
|
@@ -9547,8 +10064,6 @@ function bindAgentsMethods(target, agents) {
|
|
|
9547
10064
|
target.deleteAgent = agents.deleteAgent.bind(agents);
|
|
9548
10065
|
target.archiveAgent = agents.archiveAgent.bind(agents);
|
|
9549
10066
|
target.unarchiveAgent = agents.unarchiveAgent.bind(agents);
|
|
9550
|
-
target.resolveAgentTools = agents.resolveAgentTools.bind(agents);
|
|
9551
|
-
target.listAgentAbilities = agents.listAgentAbilities.bind(agents);
|
|
9552
10067
|
}
|
|
9553
10068
|
|
|
9554
10069
|
// src/client/bindings/tasks.ts
|
|
@@ -9567,6 +10082,7 @@ function bindTasksMethods(target, tasks, abilities) {
|
|
|
9567
10082
|
target.createAbility = abilities.createAbility.bind(abilities);
|
|
9568
10083
|
target.updateAbility = abilities.updateAbility.bind(abilities);
|
|
9569
10084
|
target.deleteAbility = abilities.deleteAbility.bind(abilities);
|
|
10085
|
+
target.getCharlestonTestDeliveryRecipients = abilities.getCharlestonTestDeliveryRecipients.bind(abilities);
|
|
9570
10086
|
}
|
|
9571
10087
|
|
|
9572
10088
|
// src/client/bindings/chats.ts
|
|
@@ -9587,6 +10103,8 @@ function bindChatsMethods(target, chats) {
|
|
|
9587
10103
|
target.createWorkflowOutboundVoiceChat = chats.createWorkflowOutboundVoiceChat.bind(chats);
|
|
9588
10104
|
target.deleteChat = chats.deleteChat.bind(chats);
|
|
9589
10105
|
target.updateChat = chats.updateChat.bind(chats);
|
|
10106
|
+
target.getChatModelOverride = chats.getChatModelOverride.bind(chats);
|
|
10107
|
+
target.updateChatModelOverride = chats.updateChatModelOverride.bind(chats);
|
|
9590
10108
|
target.updateChatMute = chats.updateChatMute.bind(chats);
|
|
9591
10109
|
target.updateChatNeedsResponse = chats.updateChatNeedsResponse.bind(chats);
|
|
9592
10110
|
target.summarizeChat = chats.summarizeChat.bind(chats);
|
|
@@ -9596,6 +10114,7 @@ function bindChatsMethods(target, chats) {
|
|
|
9596
10114
|
target.initiateOutboundCall = chats.initiateOutboundCall.bind(chats);
|
|
9597
10115
|
target.sendAssistantMessage = chats.sendAssistantMessage.bind(chats);
|
|
9598
10116
|
target.rateMessage = chats.rateMessage.bind(chats);
|
|
10117
|
+
target.getChatFeedback = chats.getChatFeedback.bind(chats);
|
|
9599
10118
|
target.getChatAssignmentTasks = chats.getChatAssignmentTasks.bind(chats);
|
|
9600
10119
|
target.createChatCompletion = chats.createChatCompletion.bind(chats);
|
|
9601
10120
|
target.exportChats = chats.exportChats.bind(chats);
|
|
@@ -9624,11 +10143,28 @@ function bindCallsMethods(target, calls, cel) {
|
|
|
9624
10143
|
target.initiateCall = calls.initiateCall.bind(calls);
|
|
9625
10144
|
target.getVoiceToken = calls.getVoiceToken.bind(calls);
|
|
9626
10145
|
target.getMessageTiming = calls.getMessageTiming.bind(calls);
|
|
10146
|
+
target.getRecordingInfo = calls.getRecordingInfo.bind(calls);
|
|
9627
10147
|
target.listChatRecordings = calls.listChatRecordings.bind(calls);
|
|
9628
10148
|
target.getCallRecordingDownloadUrl = calls.getCallRecordingDownloadUrl.bind(calls);
|
|
9629
10149
|
target.getCelContext = cel.getCelContext.bind(cel);
|
|
9630
10150
|
}
|
|
9631
10151
|
|
|
10152
|
+
// src/client/bindings/dashboards.ts
|
|
10153
|
+
function bindDashboardsMethods(target, dashboards) {
|
|
10154
|
+
target.getDashboards = dashboards.getDashboards.bind(dashboards);
|
|
10155
|
+
target.getDashboard = dashboards.getDashboard.bind(dashboards);
|
|
10156
|
+
target.createDashboard = dashboards.createDashboard.bind(dashboards);
|
|
10157
|
+
target.updateDashboard = dashboards.updateDashboard.bind(dashboards);
|
|
10158
|
+
target.deleteDashboard = dashboards.deleteDashboard.bind(dashboards);
|
|
10159
|
+
target.getDashboardChannelStats = dashboards.getDashboardChannelStats.bind(dashboards);
|
|
10160
|
+
target.getDashboardWorkflowAssignmentStats = dashboards.getDashboardWorkflowAssignmentStats.bind(dashboards);
|
|
10161
|
+
}
|
|
10162
|
+
|
|
10163
|
+
// src/client/bindings/motd.ts
|
|
10164
|
+
function bindMotdMethods(target, motd) {
|
|
10165
|
+
target.getMotd = motd.getMotd.bind(motd);
|
|
10166
|
+
}
|
|
10167
|
+
|
|
9632
10168
|
// src/client/bindings/data-types.ts
|
|
9633
10169
|
function bindDataTypesMethods(target, dataTypes) {
|
|
9634
10170
|
target.getDataTypes = dataTypes.getDataTypes.bind(dataTypes);
|
|
@@ -9652,6 +10188,12 @@ function bindDataTypesMethods(target, dataTypes) {
|
|
|
9652
10188
|
target.getFieldIndexStatus = dataTypes.getFieldIndexStatus.bind(dataTypes);
|
|
9653
10189
|
target.validateDataTypeSlug = dataTypes.validateDataTypeSlug.bind(dataTypes);
|
|
9654
10190
|
target.getMemberRecordCounts = dataTypes.getMemberRecordCounts.bind(dataTypes);
|
|
10191
|
+
target.getDataRecordFilters = dataTypes.getDataRecordFilters.bind(dataTypes);
|
|
10192
|
+
target.getDataRecordFilter = dataTypes.getDataRecordFilter.bind(dataTypes);
|
|
10193
|
+
target.createDataRecordFilter = dataTypes.createDataRecordFilter.bind(dataTypes);
|
|
10194
|
+
target.updateDataRecordFilter = dataTypes.updateDataRecordFilter.bind(dataTypes);
|
|
10195
|
+
target.deleteDataRecordFilter = dataTypes.deleteDataRecordFilter.bind(dataTypes);
|
|
10196
|
+
target.getDataRecordFilterCount = dataTypes.getDataRecordFilterCount.bind(dataTypes);
|
|
9655
10197
|
}
|
|
9656
10198
|
|
|
9657
10199
|
// src/client/bindings/members.ts
|
|
@@ -9678,7 +10220,6 @@ function bindMembersMethods(target, members) {
|
|
|
9678
10220
|
target.getMemberFilter = members.getMemberFilter.bind(members);
|
|
9679
10221
|
target.createMemberFilter = members.createMemberFilter.bind(members);
|
|
9680
10222
|
target.updateMemberFilter = members.updateMemberFilter.bind(members);
|
|
9681
|
-
target.convertMemberFilterToQuery = members.convertMemberFilterToQuery.bind(members);
|
|
9682
10223
|
target.deleteMemberFilter = members.deleteMemberFilter.bind(members);
|
|
9683
10224
|
target.getMemberFilterCount = members.getMemberFilterCount.bind(members);
|
|
9684
10225
|
target.getMemberLabels = members.getMemberLabels.bind(members);
|
|
@@ -9706,6 +10247,7 @@ function bindMembersMethods(target, members) {
|
|
|
9706
10247
|
target.resolveAnonymousMember = members.resolveAnonymousMember.bind(members);
|
|
9707
10248
|
target.expireAnonymousMember = members.expireAnonymousMember.bind(members);
|
|
9708
10249
|
target.getMemberMemories = members.getMemberMemories.bind(members);
|
|
10250
|
+
target.getMemberMemory = members.getMemberMemory.bind(members);
|
|
9709
10251
|
target.createMemberMemory = members.createMemberMemory.bind(members);
|
|
9710
10252
|
target.deleteMemberMemory = members.deleteMemberMemory.bind(members);
|
|
9711
10253
|
target.getMemberSyncLinks = members.getMemberSyncLinks.bind(members);
|
|
@@ -9763,6 +10305,10 @@ function bindWorkspacesMethods(target, workspaces, signupRequests) {
|
|
|
9763
10305
|
target.listPushSubscriptions = workspaces.listPushSubscriptions.bind(workspaces);
|
|
9764
10306
|
target.getWorkspaceEmailDomains = workspaces.getWorkspaceEmailDomains.bind(workspaces);
|
|
9765
10307
|
target.getWorkspaceSiteDomains = workspaces.getWorkspaceSiteDomains.bind(workspaces);
|
|
10308
|
+
target.getWorkspaceWidgetDomains = workspaces.getWorkspaceWidgetDomains.bind(workspaces);
|
|
10309
|
+
target.listWidgetDomains = workspaces.listWidgetDomains.bind(workspaces);
|
|
10310
|
+
target.upsertWidgetDomain = workspaces.upsertWidgetDomain.bind(workspaces);
|
|
10311
|
+
target.deleteWidgetDomain = workspaces.deleteWidgetDomain.bind(workspaces);
|
|
9766
10312
|
target.listWorkspaceInvitations = signupRequests.listWorkspaceInvitations.bind(signupRequests);
|
|
9767
10313
|
target.listWorkspaceInvitationsAdmin = signupRequests.listWorkspaceInvitationsAdmin.bind(signupRequests);
|
|
9768
10314
|
target.getWorkspaceInvitation = signupRequests.getWorkspaceInvitation.bind(signupRequests);
|
|
@@ -9782,6 +10328,7 @@ function bindWorkspacesMethods(target, workspaces, signupRequests) {
|
|
|
9782
10328
|
function bindAuthMethods(target, auth, assignments) {
|
|
9783
10329
|
target.getUserAccount = auth.getUserAccount.bind(auth);
|
|
9784
10330
|
target.updateUserAccount = auth.updateUserAccount.bind(auth);
|
|
10331
|
+
target.recordAcquisition = auth.recordAcquisition.bind(auth);
|
|
9785
10332
|
target.login = auth.login.bind(auth);
|
|
9786
10333
|
target.resendCode = auth.resendCode.bind(auth);
|
|
9787
10334
|
target.verifyCodeWith2FA = auth.verifyCodeWith2FA.bind(auth);
|
|
@@ -9892,6 +10439,11 @@ function bindFilesMethods(target, files) {
|
|
|
9892
10439
|
target.uploadFile = files.uploadFile.bind(files);
|
|
9893
10440
|
target.updateFile = files.updateFile.bind(files);
|
|
9894
10441
|
target.deleteFile = files.deleteFile.bind(files);
|
|
10442
|
+
target.resolveFilePath = files.resolveFilePath.bind(files);
|
|
10443
|
+
target.listFileVersions = files.listFileVersions.bind(files);
|
|
10444
|
+
target.getFileVersionDiff = files.getFileVersionDiff.bind(files);
|
|
10445
|
+
target.restoreFileVersion = files.restoreFileVersion.bind(files);
|
|
10446
|
+
target.getFileVersionContentsUrl = files.getFileVersionContentsUrl.bind(files);
|
|
9895
10447
|
target.convertFile = files.convertFile.bind(files);
|
|
9896
10448
|
target.generateFileUploadUrl = files.generateFileUploadUrl.bind(files);
|
|
9897
10449
|
target.getFolders = files.getFolders.bind(files);
|
|
@@ -9942,6 +10494,7 @@ function bindEventsMethods(target, events) {
|
|
|
9942
10494
|
target.getRoutineRuns = events.getRoutineRuns.bind(events);
|
|
9943
10495
|
target.resetRoutineRuns = events.resetRoutineRuns.bind(events);
|
|
9944
10496
|
target.previewSchedule = events.previewSchedule.bind(events);
|
|
10497
|
+
target.previewRoutineWorkflowAccess = events.previewRoutineWorkflowAccess.bind(events);
|
|
9945
10498
|
}
|
|
9946
10499
|
|
|
9947
10500
|
// src/client/bindings/experiments.ts
|
|
@@ -9986,18 +10539,18 @@ function bindWorkflowsMethods(target, workflows, workflowNotes, voice, superviso
|
|
|
9986
10539
|
target.createWorkflowNote = workflowNotes.createWorkflowNote.bind(workflowNotes);
|
|
9987
10540
|
target.updateWorkflowNote = workflowNotes.updateWorkflowNote.bind(workflowNotes);
|
|
9988
10541
|
target.deleteWorkflowNote = workflowNotes.deleteWorkflowNote.bind(workflowNotes);
|
|
10542
|
+
target.getWorkflowFeedback = workflows.getWorkflowFeedback.bind(workflows);
|
|
9989
10543
|
target.getWorkflowContributors = workflows.getWorkflowContributors.bind(workflows);
|
|
9990
10544
|
target.createWorkflowContributor = workflows.createWorkflowContributor.bind(workflows);
|
|
9991
10545
|
target.updateWorkflowContributor = workflows.updateWorkflowContributor.bind(workflows);
|
|
9992
10546
|
target.deleteWorkflowContributor = workflows.deleteWorkflowContributor.bind(workflows);
|
|
9993
|
-
target.
|
|
9994
|
-
target.
|
|
9995
|
-
target.
|
|
9996
|
-
target.
|
|
9997
|
-
target.
|
|
9998
|
-
target.
|
|
9999
|
-
target.
|
|
10000
|
-
target.diffWorkflowVersions = workflows.diffWorkflowVersions.bind(workflows);
|
|
10547
|
+
target.getWorkflowRevisions = workflows.getWorkflowRevisions.bind(workflows);
|
|
10548
|
+
target.getWorkflowRevision = workflows.getWorkflowRevision.bind(workflows);
|
|
10549
|
+
target.publishWorkflowRevision = workflows.publishWorkflowRevision.bind(workflows);
|
|
10550
|
+
target.activateWorkflowRevision = workflows.activateWorkflowRevision.bind(workflows);
|
|
10551
|
+
target.updateWorkflowRevisionMetadata = workflows.updateWorkflowRevisionMetadata.bind(workflows);
|
|
10552
|
+
target.diffWorkflowRevisions = workflows.diffWorkflowRevisions.bind(workflows);
|
|
10553
|
+
target.editWorkflowRevisionAsDraft = workflows.editWorkflowRevisionAsDraft.bind(workflows);
|
|
10001
10554
|
target.getWorkspaceBuilders = workflows.getWorkspaceBuilders.bind(workflows);
|
|
10002
10555
|
target.getWorkspaceBuilder = workflows.getWorkspaceBuilder.bind(workflows);
|
|
10003
10556
|
target.buildWorkspace = workflows.buildWorkspace.bind(workflows);
|
|
@@ -10062,6 +10615,9 @@ function bindCommunicationsMethods(target, phoneNumbers, inboxes, notificationRu
|
|
|
10062
10615
|
target.getArchiveBlockers = phoneNumbers.getArchiveBlockers.bind(phoneNumbers);
|
|
10063
10616
|
target.archivePhoneNumber = phoneNumbers.archivePhoneNumber.bind(phoneNumbers);
|
|
10064
10617
|
target.getPhoneNumberCalls = phoneNumbers.getPhoneNumberCalls.bind(phoneNumbers);
|
|
10618
|
+
target.getPhoneNumberOutboundAnalyticsSummary = phoneNumbers.getPhoneNumberOutboundAnalyticsSummary.bind(phoneNumbers);
|
|
10619
|
+
target.getPhoneNumberOutboundAnalyticsCalls = phoneNumbers.getPhoneNumberOutboundAnalyticsCalls.bind(phoneNumbers);
|
|
10620
|
+
target.exportPhoneNumberOutboundAnalyticsCsv = phoneNumbers.exportPhoneNumberOutboundAnalyticsCsv.bind(phoneNumbers);
|
|
10065
10621
|
target.getPhoneNumberMessages = phoneNumbers.getPhoneNumberMessages.bind(phoneNumbers);
|
|
10066
10622
|
target.getPhoneNumberVoicemails = phoneNumbers.getPhoneNumberVoicemails.bind(phoneNumbers);
|
|
10067
10623
|
target.fetchVoicemailAudio = phoneNumbers.fetchVoicemailAudio.bind(phoneNumbers);
|
|
@@ -10191,6 +10747,7 @@ function bindIntegrationsMethods(target, mondayIntegration, discordBots, slackAp
|
|
|
10191
10747
|
target.getMondayBoardColumns = mondayIntegration.getBoardColumns.bind(mondayIntegration);
|
|
10192
10748
|
target.getMondayBoardGroups = mondayIntegration.getBoardGroups.bind(mondayIntegration);
|
|
10193
10749
|
target.getMondayCurrentUserInfo = mondayIntegration.getCurrentUserInfo.bind(mondayIntegration);
|
|
10750
|
+
target.installMondayConnection = mondayIntegration.installMondayConnection.bind(mondayIntegration);
|
|
10194
10751
|
target.configureMondayConnection = mondayIntegration.configureMondayConnection.bind(mondayIntegration);
|
|
10195
10752
|
target.getMondayConnectionStatus = mondayIntegration.getMondayConnectionStatus.bind(mondayIntegration);
|
|
10196
10753
|
target.authorizeMondayConnection = mondayIntegration.authorizeMondayConnection.bind(mondayIntegration);
|
|
@@ -10225,6 +10782,8 @@ function bindIntegrationsMethods(target, mondayIntegration, discordBots, slackAp
|
|
|
10225
10782
|
target.getDiscordBotAccounts = discordBots.getDiscordBotAccounts.bind(discordBots);
|
|
10226
10783
|
target.getMyCredentials = discordBots.getMyCredentials.bind(discordBots);
|
|
10227
10784
|
target.unlinkCredential = discordBots.unlinkCredential.bind(discordBots);
|
|
10785
|
+
target.completeDiscordLink = discordBots.completeDiscordLink.bind(discordBots);
|
|
10786
|
+
target.discordLinkPreflight = discordBots.discordLinkPreflight.bind(discordBots);
|
|
10228
10787
|
target.getSlackApps = slackApps.getSlackApps.bind(slackApps);
|
|
10229
10788
|
target.getSlackApp = slackApps.getSlackApp.bind(slackApps);
|
|
10230
10789
|
target.createSlackApp = slackApps.createSlackApp.bind(slackApps);
|
|
@@ -10297,6 +10856,7 @@ function bindIntegrationsMethods(target, mondayIntegration, discordBots, slackAp
|
|
|
10297
10856
|
target.deleteConfluence = confluence.deleteConfluence.bind(confluence);
|
|
10298
10857
|
target.listConfluenceSpaces = confluence.listConfluenceSpaces.bind(confluence);
|
|
10299
10858
|
target.listConfluencePages = confluence.listConfluencePages.bind(confluence);
|
|
10859
|
+
target.installSalesforce = salesforce.installSalesforce.bind(salesforce);
|
|
10300
10860
|
target.configureSalesforce = salesforce.configureSalesforce.bind(salesforce);
|
|
10301
10861
|
target.startSalesforceOAuth = salesforce.startSalesforceOAuth.bind(salesforce);
|
|
10302
10862
|
target.getSalesforceStatus = salesforce.getSalesforceStatus.bind(salesforce);
|
|
@@ -10314,6 +10874,7 @@ function bindIntegrationsMethods(target, mondayIntegration, discordBots, slackAp
|
|
|
10314
10874
|
target.describeSalesforceObject = salesforce.describeSalesforceObject.bind(salesforce);
|
|
10315
10875
|
target.searchSalesforceRecords = salesforce.searchSalesforceRecords.bind(salesforce);
|
|
10316
10876
|
target.importSalesforceMembers = salesforce.importSalesforceMembers.bind(salesforce);
|
|
10877
|
+
target.installHubspot = hubspot.installHubspot.bind(hubspot);
|
|
10317
10878
|
target.configureHubspot = hubspot.configureHubspot.bind(hubspot);
|
|
10318
10879
|
target.startHubspotOAuth = hubspot.startHubspotOAuth.bind(hubspot);
|
|
10319
10880
|
target.getHubspotStatus = hubspot.getHubspotStatus.bind(hubspot);
|
|
@@ -10546,6 +11107,7 @@ var GravityRailClient = class {
|
|
|
10546
11107
|
createAbility;
|
|
10547
11108
|
updateAbility;
|
|
10548
11109
|
deleteAbility;
|
|
11110
|
+
getCharlestonTestDeliveryRecipients;
|
|
10549
11111
|
// Chats API
|
|
10550
11112
|
getChats;
|
|
10551
11113
|
getChat;
|
|
@@ -10563,6 +11125,8 @@ var GravityRailClient = class {
|
|
|
10563
11125
|
createWorkflowOutboundVoiceChat;
|
|
10564
11126
|
deleteChat;
|
|
10565
11127
|
updateChat;
|
|
11128
|
+
getChatModelOverride;
|
|
11129
|
+
updateChatModelOverride;
|
|
10566
11130
|
updateChatMute;
|
|
10567
11131
|
updateChatNeedsResponse;
|
|
10568
11132
|
summarizeChat;
|
|
@@ -10572,6 +11136,7 @@ var GravityRailClient = class {
|
|
|
10572
11136
|
initiateOutboundCall;
|
|
10573
11137
|
sendAssistantMessage;
|
|
10574
11138
|
rateMessage;
|
|
11139
|
+
getChatFeedback;
|
|
10575
11140
|
getChatAssignmentTasks;
|
|
10576
11141
|
createChatCompletion;
|
|
10577
11142
|
exportChats;
|
|
@@ -10597,6 +11162,7 @@ var GravityRailClient = class {
|
|
|
10597
11162
|
initiateCall;
|
|
10598
11163
|
getVoiceToken;
|
|
10599
11164
|
getMessageTiming;
|
|
11165
|
+
getRecordingInfo;
|
|
10600
11166
|
listChatRecordings;
|
|
10601
11167
|
getCallRecordingDownloadUrl;
|
|
10602
11168
|
getCelContext;
|
|
@@ -10622,6 +11188,12 @@ var GravityRailClient = class {
|
|
|
10622
11188
|
getFieldIndexStatus;
|
|
10623
11189
|
validateDataTypeSlug;
|
|
10624
11190
|
getMemberRecordCounts;
|
|
11191
|
+
getDataRecordFilters;
|
|
11192
|
+
getDataRecordFilter;
|
|
11193
|
+
createDataRecordFilter;
|
|
11194
|
+
updateDataRecordFilter;
|
|
11195
|
+
deleteDataRecordFilter;
|
|
11196
|
+
getDataRecordFilterCount;
|
|
10625
11197
|
// Members API
|
|
10626
11198
|
getCurrentMember;
|
|
10627
11199
|
getOwnedMembers;
|
|
@@ -10645,7 +11217,6 @@ var GravityRailClient = class {
|
|
|
10645
11217
|
getMemberFilter;
|
|
10646
11218
|
createMemberFilter;
|
|
10647
11219
|
updateMemberFilter;
|
|
10648
|
-
convertMemberFilterToQuery;
|
|
10649
11220
|
deleteMemberFilter;
|
|
10650
11221
|
getMemberFilterCount;
|
|
10651
11222
|
getMemberLabels;
|
|
@@ -10677,6 +11248,7 @@ var GravityRailClient = class {
|
|
|
10677
11248
|
expireAnonymousMember;
|
|
10678
11249
|
// Member Memories
|
|
10679
11250
|
getMemberMemories;
|
|
11251
|
+
getMemberMemory;
|
|
10680
11252
|
createMemberMemory;
|
|
10681
11253
|
deleteMemberMemory;
|
|
10682
11254
|
// Member Sync Links
|
|
@@ -10694,8 +11266,6 @@ var GravityRailClient = class {
|
|
|
10694
11266
|
deleteAgent;
|
|
10695
11267
|
archiveAgent;
|
|
10696
11268
|
unarchiveAgent;
|
|
10697
|
-
resolveAgentTools;
|
|
10698
|
-
listAgentAbilities;
|
|
10699
11269
|
// Qualifications API
|
|
10700
11270
|
getQualifications;
|
|
10701
11271
|
getQualification;
|
|
@@ -10721,6 +11291,16 @@ var GravityRailClient = class {
|
|
|
10721
11291
|
createPersona;
|
|
10722
11292
|
updatePersona;
|
|
10723
11293
|
deletePersona;
|
|
11294
|
+
// Dashboards API
|
|
11295
|
+
getDashboards;
|
|
11296
|
+
getDashboard;
|
|
11297
|
+
createDashboard;
|
|
11298
|
+
updateDashboard;
|
|
11299
|
+
deleteDashboard;
|
|
11300
|
+
getDashboardChannelStats;
|
|
11301
|
+
getDashboardWorkflowAssignmentStats;
|
|
11302
|
+
// MOTD API
|
|
11303
|
+
getMotd;
|
|
10724
11304
|
// Journeys API
|
|
10725
11305
|
getJourneys;
|
|
10726
11306
|
getJourney;
|
|
@@ -10788,6 +11368,7 @@ var GravityRailClient = class {
|
|
|
10788
11368
|
revokeAccessGrant;
|
|
10789
11369
|
getAccessGrants;
|
|
10790
11370
|
getMemberGrants;
|
|
11371
|
+
getGranteeGrants;
|
|
10791
11372
|
// Prompts API
|
|
10792
11373
|
inspectPrompt;
|
|
10793
11374
|
// Workspaces API
|
|
@@ -10837,6 +11418,10 @@ var GravityRailClient = class {
|
|
|
10837
11418
|
getUsageDashboard;
|
|
10838
11419
|
getWorkspaceEmailDomains;
|
|
10839
11420
|
getWorkspaceSiteDomains;
|
|
11421
|
+
getWorkspaceWidgetDomains;
|
|
11422
|
+
listWidgetDomains;
|
|
11423
|
+
upsertWidgetDomain;
|
|
11424
|
+
deleteWidgetDomain;
|
|
10840
11425
|
// Org API
|
|
10841
11426
|
listOrgDomains;
|
|
10842
11427
|
registerOrgDomain;
|
|
@@ -10877,6 +11462,7 @@ var GravityRailClient = class {
|
|
|
10877
11462
|
// Auth API
|
|
10878
11463
|
getUserAccount;
|
|
10879
11464
|
updateUserAccount;
|
|
11465
|
+
recordAcquisition;
|
|
10880
11466
|
login;
|
|
10881
11467
|
resendCode;
|
|
10882
11468
|
verifyCodeWith2FA;
|
|
@@ -10976,11 +11562,16 @@ var GravityRailClient = class {
|
|
|
10976
11562
|
// Files API
|
|
10977
11563
|
getFiles;
|
|
10978
11564
|
getFile;
|
|
11565
|
+
resolveFilePath;
|
|
10979
11566
|
downloadFilesZip;
|
|
10980
11567
|
createFile;
|
|
10981
11568
|
uploadFile;
|
|
10982
11569
|
updateFile;
|
|
10983
11570
|
deleteFile;
|
|
11571
|
+
listFileVersions;
|
|
11572
|
+
getFileVersionDiff;
|
|
11573
|
+
restoreFileVersion;
|
|
11574
|
+
getFileVersionContentsUrl;
|
|
10984
11575
|
convertFile;
|
|
10985
11576
|
generateFileUploadUrl;
|
|
10986
11577
|
getFolders;
|
|
@@ -11029,6 +11620,7 @@ var GravityRailClient = class {
|
|
|
11029
11620
|
getRoutineRuns;
|
|
11030
11621
|
resetRoutineRuns;
|
|
11031
11622
|
previewSchedule;
|
|
11623
|
+
previewRoutineWorkflowAccess;
|
|
11032
11624
|
// Workflows API
|
|
11033
11625
|
getWorkflows;
|
|
11034
11626
|
getWorkflow;
|
|
@@ -11053,18 +11645,18 @@ var GravityRailClient = class {
|
|
|
11053
11645
|
createWorkflowNote;
|
|
11054
11646
|
updateWorkflowNote;
|
|
11055
11647
|
deleteWorkflowNote;
|
|
11648
|
+
getWorkflowFeedback;
|
|
11056
11649
|
getWorkflowContributors;
|
|
11057
11650
|
createWorkflowContributor;
|
|
11058
11651
|
updateWorkflowContributor;
|
|
11059
11652
|
deleteWorkflowContributor;
|
|
11060
|
-
|
|
11061
|
-
|
|
11062
|
-
|
|
11063
|
-
|
|
11064
|
-
|
|
11065
|
-
|
|
11066
|
-
|
|
11067
|
-
diffWorkflowVersions;
|
|
11653
|
+
getWorkflowRevisions;
|
|
11654
|
+
getWorkflowRevision;
|
|
11655
|
+
publishWorkflowRevision;
|
|
11656
|
+
activateWorkflowRevision;
|
|
11657
|
+
updateWorkflowRevisionMetadata;
|
|
11658
|
+
diffWorkflowRevisions;
|
|
11659
|
+
editWorkflowRevisionAsDraft;
|
|
11068
11660
|
getWorkspaceBuilders;
|
|
11069
11661
|
getWorkspaceBuilder;
|
|
11070
11662
|
buildWorkspace;
|
|
@@ -11123,6 +11715,9 @@ var GravityRailClient = class {
|
|
|
11123
11715
|
getArchiveBlockers;
|
|
11124
11716
|
archivePhoneNumber;
|
|
11125
11717
|
getPhoneNumberCalls;
|
|
11718
|
+
getPhoneNumberOutboundAnalyticsSummary;
|
|
11719
|
+
getPhoneNumberOutboundAnalyticsCalls;
|
|
11720
|
+
exportPhoneNumberOutboundAnalyticsCsv;
|
|
11126
11721
|
getPhoneNumberMessages;
|
|
11127
11722
|
getPhoneNumberVoicemails;
|
|
11128
11723
|
fetchVoicemailAudio;
|
|
@@ -11241,6 +11836,7 @@ var GravityRailClient = class {
|
|
|
11241
11836
|
getMondayBoardGroups;
|
|
11242
11837
|
getMondayCurrentUserInfo;
|
|
11243
11838
|
// Monday.com Connection API
|
|
11839
|
+
installMondayConnection;
|
|
11244
11840
|
configureMondayConnection;
|
|
11245
11841
|
getMondayConnectionStatus;
|
|
11246
11842
|
authorizeMondayConnection;
|
|
@@ -11276,6 +11872,8 @@ var GravityRailClient = class {
|
|
|
11276
11872
|
getDiscordBotAccounts;
|
|
11277
11873
|
getMyCredentials;
|
|
11278
11874
|
unlinkCredential;
|
|
11875
|
+
completeDiscordLink;
|
|
11876
|
+
discordLinkPreflight;
|
|
11279
11877
|
// Slack Apps API
|
|
11280
11878
|
getSlackApps;
|
|
11281
11879
|
getSlackApp;
|
|
@@ -11354,6 +11952,7 @@ var GravityRailClient = class {
|
|
|
11354
11952
|
listConfluenceSpaces;
|
|
11355
11953
|
listConfluencePages;
|
|
11356
11954
|
// Salesforce API
|
|
11955
|
+
installSalesforce;
|
|
11357
11956
|
configureSalesforce;
|
|
11358
11957
|
startSalesforceOAuth;
|
|
11359
11958
|
getSalesforceStatus;
|
|
@@ -11372,6 +11971,7 @@ var GravityRailClient = class {
|
|
|
11372
11971
|
searchSalesforceRecords;
|
|
11373
11972
|
importSalesforceMembers;
|
|
11374
11973
|
// HubSpot API
|
|
11974
|
+
installHubspot;
|
|
11375
11975
|
configureHubspot;
|
|
11376
11976
|
startHubspotOAuth;
|
|
11377
11977
|
getHubspotStatus;
|
|
@@ -11473,6 +12073,8 @@ var GravityRailClient = class {
|
|
|
11473
12073
|
bindQualificationsMethods(this, apis.qualifications);
|
|
11474
12074
|
bindPersonasMethods(this, apis.personas);
|
|
11475
12075
|
bindQueriesMethods(this, apis.queries);
|
|
12076
|
+
bindDashboardsMethods(this, apis.dashboards);
|
|
12077
|
+
bindMotdMethods(this, apis.motd);
|
|
11476
12078
|
bindJourneysMethods(this, apis.journeys);
|
|
11477
12079
|
bindExperimentsMethods(this, apis.experiments);
|
|
11478
12080
|
bindOperatorMethods(this, apis.operatorGroups);
|
|
@@ -11693,27 +12295,25 @@ var MemberFilterBuilder = class extends WorkspaceBuilderResource {
|
|
|
11693
12295
|
super();
|
|
11694
12296
|
this.name = name;
|
|
11695
12297
|
this.description = options.description ?? "";
|
|
12298
|
+
this.query = options.query ?? null;
|
|
11696
12299
|
}
|
|
11697
12300
|
name;
|
|
11698
12301
|
description;
|
|
11699
|
-
|
|
11700
|
-
|
|
11701
|
-
|
|
11702
|
-
|
|
11703
|
-
|
|
11704
|
-
...options.objectIds ? { objectIds: options.objectIds } : {},
|
|
11705
|
-
...options.query ? { query: options.query } : {}
|
|
11706
|
-
});
|
|
12302
|
+
/** Query-engine predicate (JSON IR) authored on MemberFilter.query. */
|
|
12303
|
+
query = null;
|
|
12304
|
+
/** Set the filter's query-engine predicate (JSON IR). */
|
|
12305
|
+
setQuery(query) {
|
|
12306
|
+
this.query = query;
|
|
11707
12307
|
return this;
|
|
11708
12308
|
}
|
|
11709
12309
|
planLine() {
|
|
11710
|
-
return `MemberFilter: ${this.name}${this.
|
|
12310
|
+
return `MemberFilter: ${this.name}${this.query ? " (query)" : ""}`;
|
|
11711
12311
|
}
|
|
11712
12312
|
async apply(client) {
|
|
11713
12313
|
const payload = {
|
|
11714
12314
|
name: this.name,
|
|
11715
12315
|
description: this.description,
|
|
11716
|
-
|
|
12316
|
+
query: this.query
|
|
11717
12317
|
};
|
|
11718
12318
|
const result = await client.createMemberFilter(payload);
|
|
11719
12319
|
this._id = result.id;
|
|
@@ -12140,11 +12740,6 @@ var RoleUpdate = class extends WorkspaceBuilderResource {
|
|
|
12140
12740
|
}
|
|
12141
12741
|
};
|
|
12142
12742
|
|
|
12143
|
-
// src/constants/models.ts
|
|
12144
|
-
var DEFAULT_CHAT_MODEL = "aws:bedrock:claude-4-5-haiku";
|
|
12145
|
-
var DEFAULT_VOICE_INFERENCE_MODEL = "google:vertex:gemini-3-flash";
|
|
12146
|
-
var DEFAULT_CUSTOM_VOICE_MODEL = "elevenlabs:voice:river";
|
|
12147
|
-
|
|
12148
12743
|
// src/workspace-builder/workflows.ts
|
|
12149
12744
|
var PERM_KEYS = {
|
|
12150
12745
|
canRead: "canRead",
|
|
@@ -12242,8 +12837,13 @@ var TaskBuilder = class extends WorkspaceBuilderResource {
|
|
|
12242
12837
|
}
|
|
12243
12838
|
async apply(client) {
|
|
12244
12839
|
if (this._existed || this.workflow._id === void 0) return;
|
|
12840
|
+
if (this.workflow._draftRevisionId === void 0) {
|
|
12841
|
+
throw new Error(
|
|
12842
|
+
`Workflow '${this.workflow.name}' has no draft revision id; cannot create tasks. Tasks attach to a WorkflowRevision, not the stable workflow root.`
|
|
12843
|
+
);
|
|
12844
|
+
}
|
|
12245
12845
|
const result = await client.createTask({
|
|
12246
|
-
|
|
12846
|
+
workflowRevisionId: this.workflow._draftRevisionId,
|
|
12247
12847
|
name: this.name,
|
|
12248
12848
|
prompt: this.prompt,
|
|
12249
12849
|
description: this.description
|
|
@@ -12259,14 +12859,18 @@ var WorkflowBuilder = class extends WorkspaceBuilderResource {
|
|
|
12259
12859
|
this.name = name;
|
|
12260
12860
|
this.description = options.description ?? "";
|
|
12261
12861
|
this.prompt = options.prompt;
|
|
12262
|
-
this.
|
|
12862
|
+
this.copyFromAgentId = options.copyFromAgentId;
|
|
12263
12863
|
}
|
|
12264
12864
|
name;
|
|
12265
12865
|
description;
|
|
12266
12866
|
prompt;
|
|
12267
|
-
|
|
12867
|
+
copyFromAgentId;
|
|
12268
12868
|
tasks = [];
|
|
12269
12869
|
abilities = [];
|
|
12870
|
+
/** The DRAFT revision's id — where tasks and graph edits attach.
|
|
12871
|
+
* `_id` is the STABLE workflow root id; the two are different entities
|
|
12872
|
+
* and (after any publish) different numbers. */
|
|
12873
|
+
_draftRevisionId;
|
|
12270
12874
|
task(name, options = {}) {
|
|
12271
12875
|
const task = new TaskBuilder(
|
|
12272
12876
|
name,
|
|
@@ -12289,10 +12893,14 @@ var WorkflowBuilder = class extends WorkspaceBuilderResource {
|
|
|
12289
12893
|
return this.name;
|
|
12290
12894
|
}
|
|
12291
12895
|
adopt(existing) {
|
|
12292
|
-
|
|
12896
|
+
const root = existing.workflow ?? existing;
|
|
12897
|
+
super.adopt(root);
|
|
12898
|
+
const draft = existing.draftRevision;
|
|
12899
|
+
this._draftRevisionId = draft?.id ?? root.draftRevisionId;
|
|
12293
12900
|
const start = this.startTask;
|
|
12294
|
-
|
|
12295
|
-
|
|
12901
|
+
const startTaskId = draft?.startTaskId;
|
|
12902
|
+
if (start && startTaskId) {
|
|
12903
|
+
start._id = startTaskId;
|
|
12296
12904
|
start._existed = true;
|
|
12297
12905
|
}
|
|
12298
12906
|
}
|
|
@@ -12302,12 +12910,6 @@ var WorkflowBuilder = class extends WorkspaceBuilderResource {
|
|
|
12302
12910
|
if (this.abilities.length) details.push(`${this.abilities.length} abilities`);
|
|
12303
12911
|
return `Workflow: ${this.name}${details.length ? ` (${details.join(", ")})` : ""}`;
|
|
12304
12912
|
}
|
|
12305
|
-
needsDefaultAgent() {
|
|
12306
|
-
return !this._existed && this.agentId === void 0;
|
|
12307
|
-
}
|
|
12308
|
-
setAgentId(agentId) {
|
|
12309
|
-
this.agentId = agentId;
|
|
12310
|
-
}
|
|
12311
12913
|
async apply(client) {
|
|
12312
12914
|
if (this._existed) return;
|
|
12313
12915
|
const payload = {
|
|
@@ -12315,63 +12917,16 @@ var WorkflowBuilder = class extends WorkspaceBuilderResource {
|
|
|
12315
12917
|
description: this.description,
|
|
12316
12918
|
createMode: "taskless",
|
|
12317
12919
|
...this.prompt ? { prompt: this.prompt } : {},
|
|
12318
|
-
...this.
|
|
12920
|
+
...this.copyFromAgentId ? { copyFromAgentId: this.copyFromAgentId } : {},
|
|
12319
12921
|
...this.abilities.length ? { abilities: this.abilities.map((ability) => ability.toAbility()) } : {}
|
|
12320
12922
|
};
|
|
12321
12923
|
const result = await client.createWorkflow(payload);
|
|
12322
|
-
this._id = result.id;
|
|
12323
|
-
this._uuid = result.uuid;
|
|
12924
|
+
this._id = result.workflow.id;
|
|
12925
|
+
this._uuid = result.workflow.uuid;
|
|
12926
|
+
this._draftRevisionId = result.draftRevision.id;
|
|
12324
12927
|
this._created = true;
|
|
12325
12928
|
}
|
|
12326
12929
|
};
|
|
12327
|
-
var WORKSPACE_BUILDER_DEFAULT_AGENT_NAME = "Workspace Setup Agent";
|
|
12328
|
-
var WORKSPACE_BUILDER_DEFAULT_AGENT_PROMPT = "You help workspace members complete the workflow you are assigned to. Follow the task prompts, collect requested information accurately, and escalate when the workflow asks you to.";
|
|
12329
|
-
async function getOrCreateDefaultWorkflowAgent(client) {
|
|
12330
|
-
const existingAgents = recordsFromResponse(
|
|
12331
|
-
await client.getAgents({ pageSize: 100, includeArchived: false })
|
|
12332
|
-
);
|
|
12333
|
-
const existing = existingAgents.find((agent) => !agent.isArchived) ?? existingAgents[0];
|
|
12334
|
-
if (existing) {
|
|
12335
|
-
return {
|
|
12336
|
-
id: numberField(existing, "id"),
|
|
12337
|
-
name: stringField(existing, "name"),
|
|
12338
|
-
created: false
|
|
12339
|
-
};
|
|
12340
|
-
}
|
|
12341
|
-
const roles = recordsFromResponse(await client.getMemberRoles());
|
|
12342
|
-
const role = roles.find((candidate) => stringField(candidate, "name").toLowerCase() === "agent") ?? roles[0];
|
|
12343
|
-
if (!role) {
|
|
12344
|
-
throw new Error("Cannot create default workflow agent: workspace has no member roles");
|
|
12345
|
-
}
|
|
12346
|
-
const payload = {
|
|
12347
|
-
name: WORKSPACE_BUILDER_DEFAULT_AGENT_NAME,
|
|
12348
|
-
memberRoleId: numberField(role, "id"),
|
|
12349
|
-
chatModelId: DEFAULT_CHAT_MODEL,
|
|
12350
|
-
systemPrompt: WORKSPACE_BUILDER_DEFAULT_AGENT_PROMPT
|
|
12351
|
-
};
|
|
12352
|
-
const created = await client.createAgent(payload);
|
|
12353
|
-
return {
|
|
12354
|
-
id: created.id,
|
|
12355
|
-
name: created.name ?? WORKSPACE_BUILDER_DEFAULT_AGENT_NAME,
|
|
12356
|
-
created: true
|
|
12357
|
-
};
|
|
12358
|
-
}
|
|
12359
|
-
function recordsFromResponse(value) {
|
|
12360
|
-
if (Array.isArray(value)) return value;
|
|
12361
|
-
if (value && typeof value === "object" && Array.isArray(value.items)) {
|
|
12362
|
-
return value.items;
|
|
12363
|
-
}
|
|
12364
|
-
return [];
|
|
12365
|
-
}
|
|
12366
|
-
function numberField(record, key) {
|
|
12367
|
-
const value = record[key];
|
|
12368
|
-
if (typeof value !== "number") throw new Error(`Expected numeric ${key}`);
|
|
12369
|
-
return value;
|
|
12370
|
-
}
|
|
12371
|
-
function stringField(record, key) {
|
|
12372
|
-
const value = record[key];
|
|
12373
|
-
return typeof value === "string" ? value : "";
|
|
12374
|
-
}
|
|
12375
12930
|
var AgentBuilder = class extends WorkspaceBuilderResource {
|
|
12376
12931
|
constructor(name, options = {}) {
|
|
12377
12932
|
super();
|
|
@@ -12538,7 +13093,6 @@ ${"=".repeat(50)}`);
|
|
|
12538
13093
|
await this.resolveExisting(resources);
|
|
12539
13094
|
const summary = {};
|
|
12540
13095
|
writeLine("Applying...");
|
|
12541
|
-
await this.ensureWorkflowAgents(resources, summary);
|
|
12542
13096
|
for (const resource of resources) {
|
|
12543
13097
|
try {
|
|
12544
13098
|
if (resource._existed) {
|
|
@@ -12599,9 +13153,11 @@ Done! Created ${count} resources.`);
|
|
|
12599
13153
|
}
|
|
12600
13154
|
}
|
|
12601
13155
|
if (!workflowNames.size) return;
|
|
12602
|
-
|
|
13156
|
+
const existingWorkflows = await this.client.getWorkflows();
|
|
13157
|
+
for (const { workflow: existing } of existingWorkflows.items) {
|
|
12603
13158
|
if (existing.name && workflowNames.has(existing.name)) {
|
|
12604
|
-
|
|
13159
|
+
const detail = await this.client.getWorkflow(existing.id);
|
|
13160
|
+
workflowNames.get(existing.name).adopt(detail);
|
|
12605
13161
|
}
|
|
12606
13162
|
}
|
|
12607
13163
|
const adoptedWorkflows = resources.filter(
|
|
@@ -12610,7 +13166,9 @@ Done! Created ${count} resources.`);
|
|
|
12610
13166
|
if (!adoptedWorkflows.length) return;
|
|
12611
13167
|
const existingTasks = await this.client.getTasks();
|
|
12612
13168
|
for (const workflow of adoptedWorkflows) {
|
|
12613
|
-
const workflowTasks = existingTasks.filter(
|
|
13169
|
+
const workflowTasks = existingTasks.filter(
|
|
13170
|
+
(task) => (task.workflowRevisionId ?? task.workflowId) === workflow._draftRevisionId
|
|
13171
|
+
);
|
|
12614
13172
|
const taskByName = new Map(workflowTasks.map((task) => [task.name, task]));
|
|
12615
13173
|
for (const taskBuilder of workflow.tasks) {
|
|
12616
13174
|
const match = taskByName.get(taskBuilder.name);
|
|
@@ -12632,21 +13190,6 @@ Done! Created ${count} resources.`);
|
|
|
12632
13190
|
}
|
|
12633
13191
|
}
|
|
12634
13192
|
}
|
|
12635
|
-
async ensureWorkflowAgents(resources, summary) {
|
|
12636
|
-
const workflows = resources.filter(
|
|
12637
|
-
(resource) => resource instanceof WorkflowBuilder && resource.needsDefaultAgent()
|
|
12638
|
-
);
|
|
12639
|
-
if (!workflows.length) return;
|
|
12640
|
-
const agent = await getOrCreateDefaultWorkflowAgent(this.client);
|
|
12641
|
-
for (const workflow of workflows) workflow.setAgentId(agent.id);
|
|
12642
|
-
if (agent.created) {
|
|
12643
|
-
summary.agents ??= [];
|
|
12644
|
-
summary.agents.push(agent.id);
|
|
12645
|
-
writeLine(` Created Agent: ${agent.name} -> id=${agent.id}`);
|
|
12646
|
-
} else {
|
|
12647
|
-
writeLine(` Using Agent: ${agent.name || agent.id} -> id=${agent.id}`);
|
|
12648
|
-
}
|
|
12649
|
-
}
|
|
12650
13193
|
sortedResources() {
|
|
12651
13194
|
const all = [];
|
|
12652
13195
|
for (const resource of this.resources) {
|
|
@@ -12851,7 +13394,7 @@ var SEARCHABLE_EVENT_RULE_SOURCE_FIELDS = [
|
|
|
12851
13394
|
"taskId",
|
|
12852
13395
|
"dataTypeId",
|
|
12853
13396
|
"routineId",
|
|
12854
|
-
"
|
|
13397
|
+
"workflowRevisionId",
|
|
12855
13398
|
"journeyStepId"
|
|
12856
13399
|
];
|
|
12857
13400
|
var EVENT_RULE_SOURCE_FIELDS = [
|
|
@@ -13102,6 +13645,10 @@ var SMS_DELIVERY_FAILURE_STATUSES = /* @__PURE__ */ new Set([
|
|
|
13102
13645
|
function isSMSDeliveryFailureStatus(status) {
|
|
13103
13646
|
return status != null && SMS_DELIVERY_FAILURE_STATUSES.has(status);
|
|
13104
13647
|
}
|
|
13648
|
+
var POSITIVE_RATING_THRESHOLD = 0.5;
|
|
13649
|
+
function isPositiveRating(rating) {
|
|
13650
|
+
return rating != null && rating >= POSITIVE_RATING_THRESHOLD;
|
|
13651
|
+
}
|
|
13105
13652
|
|
|
13106
13653
|
// src/types/generated/organization.ts
|
|
13107
13654
|
var BusinessIndustry = {
|
|
@@ -13204,6 +13751,7 @@ var AbilityConfigIssueCode = {
|
|
|
13204
13751
|
missing_resource: "missing_resource",
|
|
13205
13752
|
invalid_state: "invalid_state",
|
|
13206
13753
|
feature_disabled: "feature_disabled",
|
|
13754
|
+
missing_connection: "missing_connection",
|
|
13207
13755
|
external_drift: "external_drift"
|
|
13208
13756
|
};
|
|
13209
13757
|
var AbilityConfigIssueSeverity = {
|
|
@@ -13217,6 +13765,9 @@ var WorkflowAccessWarningResourceType = {
|
|
|
13217
13765
|
calendar: "calendar"
|
|
13218
13766
|
};
|
|
13219
13767
|
|
|
13768
|
+
// src/types/widget-domain-types.ts
|
|
13769
|
+
var WIDGET_SLUGS = ["chat", "operator", "operator-tools", "chat-app"];
|
|
13770
|
+
|
|
13220
13771
|
// src/features/registry.ts
|
|
13221
13772
|
var FeatureCategory = /* @__PURE__ */ ((FeatureCategory2) => {
|
|
13222
13773
|
FeatureCategory2["COMMUNICATION"] = "communication";
|
|
@@ -13340,6 +13891,11 @@ function isChatType(value) {
|
|
|
13340
13891
|
return Object.values(CHAT_TYPES).includes(value);
|
|
13341
13892
|
}
|
|
13342
13893
|
|
|
13894
|
+
// src/constants/models.ts
|
|
13895
|
+
var DEFAULT_CHAT_MODEL = "aws:bedrock:claude-4-5-haiku";
|
|
13896
|
+
var DEFAULT_VOICE_INFERENCE_MODEL = "google:vertex:gemini-3-flash";
|
|
13897
|
+
var DEFAULT_CUSTOM_VOICE_MODEL = "elevenlabs:voice:river";
|
|
13898
|
+
|
|
13343
13899
|
// src/types/resource-metadata.ts
|
|
13344
13900
|
var RESOURCE_METADATA = {
|
|
13345
13901
|
["credit" /* CREDIT */]: {
|
|
@@ -14119,6 +14675,19 @@ var SCOPE_PRESETS = {
|
|
|
14119
14675
|
/** Full access - all available scopes */
|
|
14120
14676
|
ALL: Object.keys(SCOPES)
|
|
14121
14677
|
};
|
|
14678
|
+
|
|
14679
|
+
// src/utils/revision-state.ts
|
|
14680
|
+
function getRevisionState(workflow, revision) {
|
|
14681
|
+
const draftIsLive = workflow.activeRevisionId === workflow.draftRevisionId;
|
|
14682
|
+
const hasUnpublishedChanges = workflow.draftModifiedAt != null;
|
|
14683
|
+
return {
|
|
14684
|
+
isActive: revision != null && revision.id === workflow.activeRevisionId,
|
|
14685
|
+
isDraft: revision != null && revision.id === workflow.draftRevisionId,
|
|
14686
|
+
draftIsLive,
|
|
14687
|
+
hasUnpublishedChanges,
|
|
14688
|
+
state: revision?.publishedAt != null ? "published" : "draft"
|
|
14689
|
+
};
|
|
14690
|
+
}
|
|
14122
14691
|
// Annotate the CommonJS export names for ESM import in node:
|
|
14123
14692
|
0 && (module.exports = {
|
|
14124
14693
|
AbilityConfigIssueCode,
|
|
@@ -14147,6 +14716,7 @@ var SCOPE_PRESETS = {
|
|
|
14147
14716
|
CalendarScheduleAvailabilityType,
|
|
14148
14717
|
CalendarScheduleRecurrence,
|
|
14149
14718
|
CalendarSource,
|
|
14719
|
+
CapabilityClass,
|
|
14150
14720
|
ConsentMethod,
|
|
14151
14721
|
CriterionType,
|
|
14152
14722
|
DEFAULT_CHAT_MODEL,
|
|
@@ -14206,6 +14776,7 @@ var SCOPE_PRESETS = {
|
|
|
14206
14776
|
PERMISSION_VERIFY,
|
|
14207
14777
|
PIDS_DISPOSITIONS,
|
|
14208
14778
|
PIDS_SOURCES,
|
|
14779
|
+
POSITIVE_RATING_THRESHOLD,
|
|
14209
14780
|
ProductType,
|
|
14210
14781
|
QUERY_VALUELESS_OPS,
|
|
14211
14782
|
QueriesApi,
|
|
@@ -14242,6 +14813,7 @@ var SCOPE_PRESETS = {
|
|
|
14242
14813
|
TaskBuilder,
|
|
14243
14814
|
TemplatesApi,
|
|
14244
14815
|
ToolkitState,
|
|
14816
|
+
WIDGET_SLUGS,
|
|
14245
14817
|
WorkflowAccessWarningResourceType,
|
|
14246
14818
|
WorkflowBuilder,
|
|
14247
14819
|
WorkflowResourceType,
|
|
@@ -14267,12 +14839,14 @@ var SCOPE_PRESETS = {
|
|
|
14267
14839
|
getFeaturesByVisibility,
|
|
14268
14840
|
getMissingDependencies,
|
|
14269
14841
|
getResourceMetadata,
|
|
14842
|
+
getRevisionState,
|
|
14270
14843
|
getScopeFromProductType,
|
|
14271
14844
|
getTTSProvider,
|
|
14272
14845
|
getVoiceModelId,
|
|
14273
14846
|
initializeFeatures,
|
|
14274
14847
|
isChatType,
|
|
14275
14848
|
isFeatureAvailable,
|
|
14849
|
+
isPositiveRating,
|
|
14276
14850
|
isRegistryInitialized,
|
|
14277
14851
|
isSMSDeliveryFailureStatus,
|
|
14278
14852
|
requiresAssistantParticipant,
|