@gravity-rail/sdk 0.36.1 → 0.42.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 +46 -23
- package/dist/agui.d.cts +1 -1
- package/dist/agui.d.ts +1 -1
- package/dist/audio.d.cts +1 -1
- package/dist/audio.d.ts +1 -1
- package/dist/{chat-interaction-DqjEfj7G.d.ts → chat-interaction-BBBeSKGl.d.cts} +9056 -6127
- package/dist/{chat-interaction-CbkSPz3m.d.cts → chat-interaction-C9dD0qbD.d.ts} +9056 -6127
- package/dist/{chunk-P2E6LU7I.js → chunk-67QXTQVL.js} +1 -26
- package/dist/chunk-67QXTQVL.js.map +1 -0
- package/dist/chunk-6KPGCPGW.js +48 -0
- package/dist/chunk-6KPGCPGW.js.map +1 -0
- package/dist/{chunk-HRUMZ46V.js → chunk-72SWNLVD.js} +2 -1
- package/dist/chunk-72SWNLVD.js.map +1 -0
- package/dist/{chunk-R6S5RXW5.js → chunk-JTOMGNUO.js} +1246 -212
- package/dist/chunk-JTOMGNUO.js.map +1 -0
- package/dist/helpers.cjs +47 -0
- package/dist/helpers.cjs.map +1 -1
- package/dist/helpers.d.cts +4 -3
- package/dist/helpers.d.ts +4 -3
- package/dist/helpers.js +7 -1
- package/dist/helpers.js.map +1 -1
- package/dist/index.cjs +1368 -341
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +13 -35
- package/dist/index.d.ts +13 -35
- package/dist/index.js +117 -116
- package/dist/index.js.map +1 -1
- package/dist/internal.cjs +1277 -243
- package/dist/internal.cjs.map +1 -1
- package/dist/internal.d.cts +324 -79
- package/dist/internal.d.ts +324 -79
- package/dist/internal.js +61 -15
- package/dist/internal.js.map +1 -1
- package/dist/member-import-BXReoljG.d.cts +46 -0
- package/dist/member-import-jjfQHlWl.d.ts +46 -0
- package/dist/realtime.cjs +91 -20
- package/dist/realtime.cjs.map +1 -1
- package/dist/realtime.d.cts +34 -9
- package/dist/realtime.d.ts +34 -9
- package/dist/realtime.js +90 -20
- package/dist/realtime.js.map +1 -1
- package/dist/{revision-state-CSQ7J3ZU.d.cts → revision-state-Bp7WKk6z.d.cts} +270 -54
- package/dist/{revision-state-92LHz1jQ.d.ts → revision-state-QkNQXWJC.d.ts} +270 -54
- package/dist/schemas.cjs +58 -81
- package/dist/schemas.cjs.map +1 -1
- package/dist/schemas.d.cts +88 -225
- package/dist/schemas.d.ts +88 -225
- package/dist/schemas.js +58 -76
- package/dist/schemas.js.map +1 -1
- package/dist/{tasks-CrF1qC4G.d.cts → tasks-BsLI-h11.d.cts} +3259 -2507
- package/dist/{tasks-CrF1qC4G.d.ts → tasks-BsLI-h11.d.ts} +3259 -2507
- package/dist/{types-0c6_NGU4.d.cts → types-DlfADjPR.d.cts} +17 -2
- package/dist/{types-0c6_NGU4.d.ts → types-DlfADjPR.d.ts} +17 -2
- package/package.json +9 -7
- package/dist/chunk-HRUMZ46V.js.map +0 -1
- package/dist/chunk-P2E6LU7I.js.map +0 -1
- package/dist/chunk-R6S5RXW5.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ApiError,
|
|
3
3
|
BaseApiClient
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-67QXTQVL.js";
|
|
5
5
|
|
|
6
6
|
// src/api/abilities.ts
|
|
7
7
|
var AbilitiesApi = class extends BaseApiClient {
|
|
@@ -71,6 +71,303 @@ var AbilitiesApi = class extends BaseApiClient {
|
|
|
71
71
|
}
|
|
72
72
|
};
|
|
73
73
|
|
|
74
|
+
// src/api/resource-workflows.ts
|
|
75
|
+
function resourceWorkflowsPath(wid, ...segments) {
|
|
76
|
+
const tail = segments.map((segment) => encodeURIComponent(String(segment))).join("/");
|
|
77
|
+
const base = `w/${encodeURIComponent(wid)}/resource-workflows`;
|
|
78
|
+
return tail ? `${base}/${tail}` : base;
|
|
79
|
+
}
|
|
80
|
+
var ResourceWorkflowsApi = class extends BaseApiClient {
|
|
81
|
+
/** One Workflow's summary, for a viewer that can see it. */
|
|
82
|
+
async getResourceWorkflow(wid, workflowUuid) {
|
|
83
|
+
return this.fetch(resourceWorkflowsPath(wid, workflowUuid));
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* One published revision.
|
|
87
|
+
*
|
|
88
|
+
* The response is a union: the owner (or a `full` grantee) receives the
|
|
89
|
+
* complete `ResourceWorkflowGraphResponse`, while a bounded grantee receives
|
|
90
|
+
* the `ResourceWorkflowDisclosureResponse` envelope. Branch on `publishedAt`
|
|
91
|
+
* being present — never assume the full shape. A retained revision stays
|
|
92
|
+
* readable here after a `stop_updates` revocation.
|
|
93
|
+
*/
|
|
94
|
+
async getResourceWorkflowRevision(wid, workflowUuid, revisionUuid) {
|
|
95
|
+
return this.fetch(
|
|
96
|
+
resourceWorkflowsPath(wid, workflowUuid, "revisions", revisionUuid)
|
|
97
|
+
);
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* List published Workflows owned by or shared with this workspace.
|
|
101
|
+
*
|
|
102
|
+
* The Bundle draft editor reads `publishedRevisionUuid` from each summary to
|
|
103
|
+
* pin a Workflow item; archived Workflows are excluded unless asked for.
|
|
104
|
+
*/
|
|
105
|
+
async listResourceWorkflows(wid, params) {
|
|
106
|
+
const query = new URLSearchParams();
|
|
107
|
+
if (params?.page !== void 0) query.set("page", String(params.page));
|
|
108
|
+
if (params?.pageSize !== void 0) query.set("pageSize", String(params.pageSize));
|
|
109
|
+
if (params?.includeArchived !== void 0) {
|
|
110
|
+
query.set("includeArchived", String(params.includeArchived));
|
|
111
|
+
}
|
|
112
|
+
const qs = query.toString();
|
|
113
|
+
return this.fetch(
|
|
114
|
+
`w/${encodeURIComponent(wid)}/resource-workflows${qs ? `?${qs}` : ""}`
|
|
115
|
+
);
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
// src/api/bundles.ts
|
|
120
|
+
function bundlesPath(wid, ...segments) {
|
|
121
|
+
const tail = segments.map((segment) => encodeURIComponent(String(segment))).join("/");
|
|
122
|
+
const base = `w/${encodeURIComponent(wid)}/bundles`;
|
|
123
|
+
return tail ? `${base}/${tail}` : base;
|
|
124
|
+
}
|
|
125
|
+
function pageQuery(params) {
|
|
126
|
+
const query = new URLSearchParams();
|
|
127
|
+
if (params?.page !== void 0) query.set("page", String(params.page));
|
|
128
|
+
if (params?.pageSize !== void 0) query.set("pageSize", String(params.pageSize));
|
|
129
|
+
const qs = query.toString();
|
|
130
|
+
return qs ? `?${qs}` : "";
|
|
131
|
+
}
|
|
132
|
+
var BundlesApi = class extends BaseApiClient {
|
|
133
|
+
/** Bundles shared with everyone. Needs no session. */
|
|
134
|
+
async listPublicBundles(params) {
|
|
135
|
+
return this.fetch(`bundles/public${pageQuery(params)}`);
|
|
136
|
+
}
|
|
137
|
+
/** The outline of one Bundle shared with everyone. Needs no session; 404 otherwise. */
|
|
138
|
+
async getPublicBundle(bundleUuid) {
|
|
139
|
+
return this.fetch(`bundles/${encodeURIComponent(bundleUuid)}/public`);
|
|
140
|
+
}
|
|
141
|
+
/** Read an authorized Bundle by UUID. */
|
|
142
|
+
async getBundle(wid, bundleUuid) {
|
|
143
|
+
return this.fetch(bundlesPath(wid, bundleUuid));
|
|
144
|
+
}
|
|
145
|
+
async updateBundle(wid, bundleUuid, data) {
|
|
146
|
+
return this.fetch(
|
|
147
|
+
`w/${encodeURIComponent(wid)}/bundles/${encodeURIComponent(bundleUuid)}`,
|
|
148
|
+
{
|
|
149
|
+
method: "PATCH",
|
|
150
|
+
body: JSON.stringify(data)
|
|
151
|
+
}
|
|
152
|
+
);
|
|
153
|
+
}
|
|
154
|
+
async listBundleInstallations(wid, bundleUuid) {
|
|
155
|
+
return this.fetch(
|
|
156
|
+
`w/${encodeURIComponent(wid)}/bundles/${encodeURIComponent(bundleUuid)}/installations`
|
|
157
|
+
);
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Bundles visible to this workspace through ownership, a live grant, or
|
|
161
|
+
* an administrator of the owning organization.
|
|
162
|
+
*/
|
|
163
|
+
async listBundles(wid, params) {
|
|
164
|
+
return this.fetch(`${bundlesPath(wid)}${pageQuery(params)}`);
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* This workspace's Workflows for the Bundle picker. `eligible` pins
|
|
168
|
+
* `revisionUuid` (the active revision when published, else the newest
|
|
169
|
+
* published one); `unpublished` has nothing to pin. `dependenciesChecked` is
|
|
170
|
+
* false until a Bundle add has stored the revision's dependencies; that add
|
|
171
|
+
* surfaces any refusal as a 409 `workflow_not_shareable`. Requires
|
|
172
|
+
* `workflows:admin`.
|
|
173
|
+
*/
|
|
174
|
+
async listBundleWorkflowCandidates(wid) {
|
|
175
|
+
return this.fetch(bundlesPath(wid, "workflow-candidates"));
|
|
176
|
+
}
|
|
177
|
+
/** Create an empty Bundle owned by this workspace. */
|
|
178
|
+
async createBundle(wid, data) {
|
|
179
|
+
return this.fetch(bundlesPath(wid), {
|
|
180
|
+
method: "POST",
|
|
181
|
+
body: JSON.stringify(data)
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* The unpublished draft for the owning workspace. A grantee is refused with
|
|
186
|
+
* 404: `version_detail` checks
|
|
187
|
+
* `root.workspace_uuid != viewer.workspace_uuid` for the null version
|
|
188
|
+
* (`lib/db/resources/bundles.py`), after the grantee-inclusive predicate has
|
|
189
|
+
* already admitted them to the Bundle itself.
|
|
190
|
+
*
|
|
191
|
+
* After publication, the next draft contains a copy of the published items.
|
|
192
|
+
* The owner receives it with 200; a grantee receives 404.
|
|
193
|
+
*/
|
|
194
|
+
async getBundleDraft(wid, bundleUuid) {
|
|
195
|
+
return this.fetch(bundlesPath(wid, bundleUuid, "draft"));
|
|
196
|
+
}
|
|
197
|
+
/** Replace the whole draft item list. 409 when `expectedGeneration` is stale. */
|
|
198
|
+
async replaceBundleDraft(wid, bundleUuid, data) {
|
|
199
|
+
return this.fetch(bundlesPath(wid, bundleUuid, "draft"), {
|
|
200
|
+
method: "PUT",
|
|
201
|
+
body: JSON.stringify(data)
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
/** Cut a new immutable version from the draft. 409 when `expectedGeneration` is stale. */
|
|
205
|
+
async publishBundle(wid, bundleUuid, data) {
|
|
206
|
+
return this.fetch(bundlesPath(wid, bundleUuid, "publish"), {
|
|
207
|
+
method: "POST",
|
|
208
|
+
body: JSON.stringify(data)
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
/** Published versions, newest first. */
|
|
212
|
+
async listBundleVersions(wid, bundleUuid, params) {
|
|
213
|
+
return this.fetch(
|
|
214
|
+
`${bundlesPath(wid, bundleUuid, "versions")}${pageQuery(params)}`
|
|
215
|
+
);
|
|
216
|
+
}
|
|
217
|
+
/** One published version, with its items, declared settings and open slots. */
|
|
218
|
+
async getBundleVersion(wid, bundleUuid, version) {
|
|
219
|
+
return this.fetch(bundlesPath(wid, bundleUuid, "versions", version));
|
|
220
|
+
}
|
|
221
|
+
/** Who this Bundle is currently granted to. */
|
|
222
|
+
async listBundleGrants(wid, bundleUuid) {
|
|
223
|
+
return this.fetch(bundlesPath(wid, bundleUuid, "grants"));
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Share throughout the publisher's organization with organization-admin authority,
|
|
227
|
+
* or with everyone (`granteeType: "global"`) as a superuser. Workspace-specific
|
|
228
|
+
* grants are refused.
|
|
229
|
+
*/
|
|
230
|
+
async grantBundle(wid, bundleUuid, data) {
|
|
231
|
+
return this.fetch(bundlesPath(wid, bundleUuid, "grants"), {
|
|
232
|
+
method: "POST",
|
|
233
|
+
body: JSON.stringify(data)
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
/** Revoke one grant by id. */
|
|
237
|
+
async revokeBundleGrant(wid, bundleUuid, grantId) {
|
|
238
|
+
return this.fetch(bundlesPath(wid, bundleUuid, "grants", grantId), {
|
|
239
|
+
method: "DELETE"
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
};
|
|
243
|
+
|
|
244
|
+
// src/api/installations.ts
|
|
245
|
+
function installationsPath(wid, ...segments) {
|
|
246
|
+
const tail = segments.map((segment) => encodeURIComponent(String(segment))).join("/");
|
|
247
|
+
const base = `w/${encodeURIComponent(wid)}/installations`;
|
|
248
|
+
return tail ? `${base}/${tail}` : base;
|
|
249
|
+
}
|
|
250
|
+
var InstallationsApi = class extends BaseApiClient {
|
|
251
|
+
/** Inspect one published release and its selected example dependencies. */
|
|
252
|
+
async preflightBundleInstallation(wid, bundleUuid, data) {
|
|
253
|
+
return this.fetch(
|
|
254
|
+
`w/${encodeURIComponent(wid)}/bundles/${encodeURIComponent(bundleUuid)}/installation-preflight`,
|
|
255
|
+
{ method: "POST", body: JSON.stringify(data) }
|
|
256
|
+
);
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Install a published Bundle version into this workspace.
|
|
260
|
+
*
|
|
261
|
+
* A key in `bindings` that this version has no slot or Form item for is
|
|
262
|
+
* refused; a **missing** required slot is not.
|
|
263
|
+
*/
|
|
264
|
+
async installBundle(wid, bundleUuid, data) {
|
|
265
|
+
return this.fetch(
|
|
266
|
+
`w/${encodeURIComponent(wid)}/bundles/${encodeURIComponent(bundleUuid)}/installations`,
|
|
267
|
+
{ method: "POST", body: JSON.stringify(data) }
|
|
268
|
+
);
|
|
269
|
+
}
|
|
270
|
+
/** Every installation this workspace holds, oldest first. */
|
|
271
|
+
async listInstallations(wid) {
|
|
272
|
+
return this.fetch(installationsPath(wid));
|
|
273
|
+
}
|
|
274
|
+
async getInstallation(wid, installationUuid) {
|
|
275
|
+
return this.fetch(installationsPath(wid, installationUuid));
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* Open slots, bindings whose target no longer resolves, Forms that drifted
|
|
279
|
+
* from their recipe, missing or changed Workflow dependencies, and archived
|
|
280
|
+
* items. Computed on read, never stored.
|
|
281
|
+
*/
|
|
282
|
+
async getInstallationReadiness(wid, installationUuid) {
|
|
283
|
+
return this.fetch(
|
|
284
|
+
installationsPath(wid, installationUuid, "readiness")
|
|
285
|
+
);
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* What moving to version `to` would change: per-item differences, the slots
|
|
289
|
+
* that would still be unbound, and the release notes of every version in
|
|
290
|
+
* between. `to` must be newer than the version the installation holds.
|
|
291
|
+
*/
|
|
292
|
+
async previewInstallationUpgrade(wid, installationUuid, to) {
|
|
293
|
+
const query = new URLSearchParams({ to: String(to) });
|
|
294
|
+
return this.fetch(
|
|
295
|
+
`${installationsPath(wid, installationUuid, "upgrade-preview")}?${query.toString()}`
|
|
296
|
+
);
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Move the installation onto a newer published version. The version it
|
|
300
|
+
* already holds, and any earlier one, are refused with 409.
|
|
301
|
+
*/
|
|
302
|
+
async upgradeInstallation(wid, installationUuid, data) {
|
|
303
|
+
return this.fetch(installationsPath(wid, installationUuid, "upgrade"), {
|
|
304
|
+
method: "POST",
|
|
305
|
+
body: JSON.stringify(data)
|
|
306
|
+
});
|
|
307
|
+
}
|
|
308
|
+
/** Recreate one deleted Form from the version already installed. */
|
|
309
|
+
async restoreInstallationForm(wid, installationUuid, data) {
|
|
310
|
+
return this.fetch(
|
|
311
|
+
installationsPath(wid, installationUuid, "restore-form"),
|
|
312
|
+
{
|
|
313
|
+
method: "POST",
|
|
314
|
+
body: JSON.stringify(data)
|
|
315
|
+
}
|
|
316
|
+
);
|
|
317
|
+
}
|
|
318
|
+
/** Recreate missing dependency resources for an installed Workflow. */
|
|
319
|
+
async restoreInstallationWorkflowResources(wid, installationUuid, data) {
|
|
320
|
+
return this.fetch(
|
|
321
|
+
installationsPath(wid, installationUuid, "restore-workflow-resources"),
|
|
322
|
+
{ method: "POST", body: JSON.stringify(data) }
|
|
323
|
+
);
|
|
324
|
+
}
|
|
325
|
+
/** `pinned` holds the installed version; `auto` follows each publication. */
|
|
326
|
+
async setInstallationPolicy(wid, installationUuid, data) {
|
|
327
|
+
return this.fetch(installationsPath(wid, installationUuid), {
|
|
328
|
+
method: "PATCH",
|
|
329
|
+
body: JSON.stringify(data)
|
|
330
|
+
});
|
|
331
|
+
}
|
|
332
|
+
/** Stop future Bundle updates while keeping the workspace's installed content. */
|
|
333
|
+
async unsubscribeInstallation(wid, installationUuid) {
|
|
334
|
+
return this.fetch(
|
|
335
|
+
installationsPath(wid, installationUuid, "unsubscribe"),
|
|
336
|
+
{ method: "POST", body: JSON.stringify({}) }
|
|
337
|
+
);
|
|
338
|
+
}
|
|
339
|
+
/** Fill open slots. A slot that already carries a target is refused with 409. */
|
|
340
|
+
async bindInstallationSlots(wid, installationUuid, data) {
|
|
341
|
+
return this.fetch(
|
|
342
|
+
installationsPath(wid, installationUuid, "bindings"),
|
|
343
|
+
{ method: "POST", body: JSON.stringify(data) }
|
|
344
|
+
);
|
|
345
|
+
}
|
|
346
|
+
/**
|
|
347
|
+
* Settle an installation left `pending` by an interrupted operation.
|
|
348
|
+
*
|
|
349
|
+
* The body is empty and required: a bodyless cookie-auth POST is forgeable
|
|
350
|
+
* by a cross-site form, so the route demands JSON.
|
|
351
|
+
*/
|
|
352
|
+
async reconcileInstallation(wid, installationUuid) {
|
|
353
|
+
return this.fetch(
|
|
354
|
+
installationsPath(wid, installationUuid, "reconcile"),
|
|
355
|
+
{ method: "POST", body: JSON.stringify({}) }
|
|
356
|
+
);
|
|
357
|
+
}
|
|
358
|
+
/**
|
|
359
|
+
* The settings a compiled theme declares, for labelling a Site item's slots
|
|
360
|
+
* before any Site exists. 404 for an unknown slug and for `source-site`,
|
|
361
|
+
* whose schema is a per-workspace build artifact rather than a catalog one.
|
|
362
|
+
* Requires `sites:read`; no Bundle installation authority is needed.
|
|
363
|
+
*/
|
|
364
|
+
async getThemeSettingsSchema(wid, slug) {
|
|
365
|
+
return this.fetch(
|
|
366
|
+
`w/${encodeURIComponent(wid)}/themes/${encodeURIComponent(slug)}/settings-schema`
|
|
367
|
+
);
|
|
368
|
+
}
|
|
369
|
+
};
|
|
370
|
+
|
|
74
371
|
// src/api/access-grants.ts
|
|
75
372
|
var AccessGrantsApi = class extends BaseApiClient {
|
|
76
373
|
/** List access grants received by the current member. */
|
|
@@ -203,7 +500,6 @@ var AgentsApi = class extends BaseApiClient {
|
|
|
203
500
|
if (options.search) params.append("search", options.search);
|
|
204
501
|
if (options.includeArchived)
|
|
205
502
|
params.append("includeArchived", options.includeArchived.toString());
|
|
206
|
-
if (options.owner) params.append("owner", options.owner);
|
|
207
503
|
return this.fetch(
|
|
208
504
|
`w/${wid}/agents${params.toString() ? `?${params.toString()}` : ""}`
|
|
209
505
|
);
|
|
@@ -259,6 +555,18 @@ var AIModelsApi = class extends BaseApiClient {
|
|
|
259
555
|
const url = queryString ? `ai-models/chat?${queryString}` : "ai-models/chat";
|
|
260
556
|
return this.fetch(url);
|
|
261
557
|
}
|
|
558
|
+
/**
|
|
559
|
+
* Get the models a member may pick for the Workspace Manager, in display
|
|
560
|
+
* order. Only models this deployment can serve are listed.
|
|
561
|
+
*
|
|
562
|
+
* `tokenMultiplier` is each model's input + output price per token relative
|
|
563
|
+
* to `baselineModelId`; `defaultModelId` is what the Manager runs with no
|
|
564
|
+
* pick. Send a pick on a Manager chat as `AppContext.managerModel` /
|
|
565
|
+
* `managerReasoningEffort`.
|
|
566
|
+
*/
|
|
567
|
+
async getManagerModels() {
|
|
568
|
+
return this.fetch("ai-models/manager");
|
|
569
|
+
}
|
|
262
570
|
/**
|
|
263
571
|
* Get available realtime AI models
|
|
264
572
|
*/
|
|
@@ -710,6 +1018,19 @@ var AuthApi = class extends BaseApiClient {
|
|
|
710
1018
|
body: JSON.stringify(request)
|
|
711
1019
|
});
|
|
712
1020
|
}
|
|
1021
|
+
/**
|
|
1022
|
+
* Mint a single-use, account-bound realtime login token (`gr_wst_`) with
|
|
1023
|
+
* this client's credential. Call once per realtime connect attempt; the
|
|
1024
|
+
* token is spent on first use and expires in seconds. Only the full browser
|
|
1025
|
+
* session may mint one — an API key is refused.
|
|
1026
|
+
*/
|
|
1027
|
+
async createRealtimeLoginToken() {
|
|
1028
|
+
return this.fetch("auth/realtime/ws-token", {
|
|
1029
|
+
method: "POST",
|
|
1030
|
+
// The route requires a JSON body (its CSRF barrier); it reads nothing from it.
|
|
1031
|
+
body: JSON.stringify({})
|
|
1032
|
+
});
|
|
1033
|
+
}
|
|
713
1034
|
/** Get the organization and workspace mapping for a custom domain. */
|
|
714
1035
|
async getDomainMapping(customDomain) {
|
|
715
1036
|
return this.fetch(`s/mapping/${customDomain}`);
|
|
@@ -1369,6 +1690,26 @@ var ChatsApi = class extends BaseApiClient {
|
|
|
1369
1690
|
async getChat(wid, id) {
|
|
1370
1691
|
return this.fetch(`w/${wid}/chats/${id}`);
|
|
1371
1692
|
}
|
|
1693
|
+
/**
|
|
1694
|
+
* Get a single chat by UUID.
|
|
1695
|
+
*
|
|
1696
|
+
* The uuid-addressed twin of `getChat`: same access check (own chat,
|
|
1697
|
+
* otherwise `chats:read`), same body; a chat the caller may not read is a
|
|
1698
|
+
* 404. Activity events and org webhooks name a chat by `uuid` only.
|
|
1699
|
+
*/
|
|
1700
|
+
async getChatByUuid(wid, uuid) {
|
|
1701
|
+
return this.fetch(`w/${wid}/chats/by-uuid/${uuid}`);
|
|
1702
|
+
}
|
|
1703
|
+
async saveChatBrowserStorage(wid, chatId) {
|
|
1704
|
+
await this.fetchRaw(`w/${wid}/chats/${chatId}/browser/storage/save`, {
|
|
1705
|
+
method: "POST",
|
|
1706
|
+
keepalive: true,
|
|
1707
|
+
body: JSON.stringify({})
|
|
1708
|
+
});
|
|
1709
|
+
}
|
|
1710
|
+
async clearChatBrowserStorage(wid, chatId) {
|
|
1711
|
+
await this.fetchRaw(`w/${wid}/chats/${chatId}/browser/storage`, { method: "DELETE" });
|
|
1712
|
+
}
|
|
1372
1713
|
/**
|
|
1373
1714
|
* Get a short-lived, interactive AgentCore browser view for this Chat.
|
|
1374
1715
|
*
|
|
@@ -2049,6 +2390,26 @@ var DataTypesApi = class extends BaseApiClient {
|
|
|
2049
2390
|
`w/${wid}/data-types/${dataTypeId}/records${params?.toString() ? `?${params.toString()}` : ""}`
|
|
2050
2391
|
);
|
|
2051
2392
|
}
|
|
2393
|
+
/**
|
|
2394
|
+
* List an anonymous Form's submissions, newest first. Requires
|
|
2395
|
+
* `anonymous_submissions:read`. Submissions are immutable: there is no
|
|
2396
|
+
* update or delete method.
|
|
2397
|
+
*/
|
|
2398
|
+
async listAnonymousFormSubmissions(wid, dataTypeId, options) {
|
|
2399
|
+
const params = new URLSearchParams();
|
|
2400
|
+
if (options?.page) params.append("page", options.page.toString());
|
|
2401
|
+
if (options?.pageSize) params.append("page_size", options.pageSize.toString());
|
|
2402
|
+
const qs = params.toString();
|
|
2403
|
+
return this.fetch(
|
|
2404
|
+
`w/${wid}/data-types/${dataTypeId}/anonymous-submissions${qs ? `?${qs}` : ""}`
|
|
2405
|
+
);
|
|
2406
|
+
}
|
|
2407
|
+
/** Get one anonymous Form submission by its uuid. Requires `anonymous_submissions:read`. */
|
|
2408
|
+
async getAnonymousFormSubmission(wid, dataTypeId, submissionUuid) {
|
|
2409
|
+
return this.fetch(
|
|
2410
|
+
`w/${wid}/data-types/${dataTypeId}/anonymous-submissions/${encodeURIComponent(submissionUuid)}`
|
|
2411
|
+
);
|
|
2412
|
+
}
|
|
2052
2413
|
// Data-record filter APIs (saved Query IR predicates per form)
|
|
2053
2414
|
/** List saved data-record filters, optionally scoped to one DataType. */
|
|
2054
2415
|
async getDataRecordFilters(wid, options) {
|
|
@@ -2091,6 +2452,15 @@ var DataTypesApi = class extends BaseApiClient {
|
|
|
2091
2452
|
async getDataRecord(wid, recordId) {
|
|
2092
2453
|
return this.fetch(`w/${wid}/data-types/records/${recordId}`);
|
|
2093
2454
|
}
|
|
2455
|
+
/**
|
|
2456
|
+
* Get a single data record by UUID.
|
|
2457
|
+
*
|
|
2458
|
+
* The uuid-addressed twin of `getDataRecord`: same access check, same body.
|
|
2459
|
+
* Activity events and org webhooks name a record by `uuid` only.
|
|
2460
|
+
*/
|
|
2461
|
+
async getDataRecordByUuid(wid, uuid) {
|
|
2462
|
+
return this.fetch(`w/${wid}/data-types/records/by-uuid/${uuid}`);
|
|
2463
|
+
}
|
|
2094
2464
|
/** Create a new data record under the specified data type. */
|
|
2095
2465
|
async createDataRecord(wid, dataTypeId, record) {
|
|
2096
2466
|
return this.fetch(`w/${wid}/data-types/${dataTypeId}/records`, {
|
|
@@ -2536,20 +2906,6 @@ var EventsApi = class extends BaseApiClient {
|
|
|
2536
2906
|
body: JSON.stringify(request)
|
|
2537
2907
|
});
|
|
2538
2908
|
}
|
|
2539
|
-
/**
|
|
2540
|
-
* Preview which target-audience roles lack Workflow USE for the Workflows a
|
|
2541
|
-
* draft Routine would start. Non-persisting, non-blocking authoring assist —
|
|
2542
|
-
* returns warnings only (role/Workflow names + IDs; no Member data).
|
|
2543
|
-
*/
|
|
2544
|
-
async previewRoutineWorkflowAccess(wid, request) {
|
|
2545
|
-
return this.fetch(
|
|
2546
|
-
`w/${wid}/routines/preview-workflow-access`,
|
|
2547
|
-
{
|
|
2548
|
-
method: "POST",
|
|
2549
|
-
body: JSON.stringify(request)
|
|
2550
|
-
}
|
|
2551
|
-
);
|
|
2552
|
-
}
|
|
2553
2909
|
/**
|
|
2554
2910
|
* Preview what would stop a draft Routine placing its scheduled outbound
|
|
2555
2911
|
* calls — the Member voice opt-out, a missing member phone, or a
|
|
@@ -3143,6 +3499,19 @@ var FilesApi = class extends BaseApiClient {
|
|
|
3143
3499
|
if (folderId != null) params.append("folderId", String(folderId));
|
|
3144
3500
|
return this.fetch(`w/${wid}/files/resolve-path?${params.toString()}`);
|
|
3145
3501
|
}
|
|
3502
|
+
/**
|
|
3503
|
+
* Download one file's bytes via GET ``.../files/{id}/contents/{filename}``.
|
|
3504
|
+
*
|
|
3505
|
+
* Uses this client's base URL (FastAPI on the app, same-origin ``/api/v2``
|
|
3506
|
+
* on scoped site sessions) so the payload does not transit the Next.js
|
|
3507
|
+
* ``/api/w/.../files/...`` Lambda proxy, which 500s above the 6MB sync cap.
|
|
3508
|
+
*/
|
|
3509
|
+
async downloadFileContents(wid, id, filename) {
|
|
3510
|
+
const response = await this.fetchRaw(
|
|
3511
|
+
`w/${wid}/files/${id}/contents/${encodeURIComponent(filename)}`
|
|
3512
|
+
);
|
|
3513
|
+
return response.blob();
|
|
3514
|
+
}
|
|
3146
3515
|
/**
|
|
3147
3516
|
* Download the given files + folders (folders recursively) as a single ZIP.
|
|
3148
3517
|
* Returns the raw archive bytes for the caller to save.
|
|
@@ -3894,7 +4263,21 @@ function throwMemberImportError(errorBody, fallback) {
|
|
|
3894
4263
|
}
|
|
3895
4264
|
throw new Error(typeof detail === "string" ? detail : fallback);
|
|
3896
4265
|
}
|
|
4266
|
+
function memberImportUpload(file, roleId, options) {
|
|
4267
|
+
const body = new FormData();
|
|
4268
|
+
const filename = "name" in file && typeof file.name === "string" ? file.name : "members.csv";
|
|
4269
|
+
body.append("file", file, filename);
|
|
4270
|
+
if (options?.resolutions !== void 0) {
|
|
4271
|
+
body.append("resolutions", JSON.stringify(options.resolutions));
|
|
4272
|
+
}
|
|
4273
|
+
const params = new URLSearchParams({ new_member_role_id: String(roleId) });
|
|
4274
|
+
if (options?.autoPromoteUniqueContacts !== void 0) {
|
|
4275
|
+
params.set("auto_promote_unique_contacts", String(options.autoPromoteUniqueContacts));
|
|
4276
|
+
}
|
|
4277
|
+
return { body, params };
|
|
4278
|
+
}
|
|
3897
4279
|
var MembersApi = class extends BaseApiClient {
|
|
4280
|
+
memberImportPlans = /* @__PURE__ */ new WeakMap();
|
|
3898
4281
|
/** Get the currently authenticated member for a workspace. */
|
|
3899
4282
|
async getCurrentMember(wid) {
|
|
3900
4283
|
return this.fetch(`w/${wid}/me`);
|
|
@@ -3947,33 +4330,6 @@ var MembersApi = class extends BaseApiClient {
|
|
|
3947
4330
|
`w/${wid}/me/records?${params.toString()}`
|
|
3948
4331
|
);
|
|
3949
4332
|
}
|
|
3950
|
-
/**
|
|
3951
|
-
* Get all members owned by the current member in this workspace.
|
|
3952
|
-
* Returns the authenticated member plus any members they own (via owner_id).
|
|
3953
|
-
* Used by the member switcher to show available identities.
|
|
3954
|
-
*/
|
|
3955
|
-
async getOwnedMembers(wid) {
|
|
3956
|
-
return this.fetch(`w/${wid}/members/owned`);
|
|
3957
|
-
}
|
|
3958
|
-
/**
|
|
3959
|
-
* Switch to a different member identity owned by the current member.
|
|
3960
|
-
* Sets the actingAsMemberUuid cookie for subsequent requests.
|
|
3961
|
-
* Uses UUID (not ID) to prevent cross-workspace identity confusion.
|
|
3962
|
-
*/
|
|
3963
|
-
async switchMember(wid, memberUuid) {
|
|
3964
|
-
return this.fetch(`w/${wid}/members/switch`, {
|
|
3965
|
-
method: "POST",
|
|
3966
|
-
body: JSON.stringify({ memberUuid })
|
|
3967
|
-
});
|
|
3968
|
-
}
|
|
3969
|
-
/**
|
|
3970
|
-
* Clear the member switch and return to the authenticated member.
|
|
3971
|
-
*/
|
|
3972
|
-
async clearMemberSwitch(wid) {
|
|
3973
|
-
return this.fetch(`w/${wid}/members/switch`, {
|
|
3974
|
-
method: "DELETE"
|
|
3975
|
-
});
|
|
3976
|
-
}
|
|
3977
4333
|
/** Update the currently authenticated member's profile. */
|
|
3978
4334
|
async updateCurrentMember(wid, member) {
|
|
3979
4335
|
return this.fetch(`w/${wid}/me`, {
|
|
@@ -4013,6 +4369,16 @@ var MembersApi = class extends BaseApiClient {
|
|
|
4013
4369
|
async getWorkspaceMember(wid, memberId) {
|
|
4014
4370
|
return this.fetch(`w/${wid}/members/${memberId}`);
|
|
4015
4371
|
}
|
|
4372
|
+
/**
|
|
4373
|
+
* Get a single workspace member by UUID.
|
|
4374
|
+
*
|
|
4375
|
+
* The uuid-addressed twin of `getWorkspaceMember`: same access check (self,
|
|
4376
|
+
* otherwise `members:read`), same body. Activity events and org webhooks
|
|
4377
|
+
* name a member by `uuid` only.
|
|
4378
|
+
*/
|
|
4379
|
+
async getMemberByUuid(wid, uuid) {
|
|
4380
|
+
return this.fetch(`w/${wid}/members/by-uuid/${uuid}`);
|
|
4381
|
+
}
|
|
4016
4382
|
/**
|
|
4017
4383
|
* Get one member of an org's workspace, under `org:read`.
|
|
4018
4384
|
*
|
|
@@ -4064,6 +4430,53 @@ var MembersApi = class extends BaseApiClient {
|
|
|
4064
4430
|
method: "POST"
|
|
4065
4431
|
});
|
|
4066
4432
|
}
|
|
4433
|
+
/**
|
|
4434
|
+
* Update a workspace member addressed by its external id.
|
|
4435
|
+
*
|
|
4436
|
+
* The external-id twin of `updateMember`: for an integrator that keys on its
|
|
4437
|
+
* own `externalId` and never stores our numeric member id. Same authorization
|
|
4438
|
+
* (`members:write`) and same body as `updateMember`.
|
|
4439
|
+
*/
|
|
4440
|
+
async updateMemberByExternalId(wid, externalId, data) {
|
|
4441
|
+
return this.fetch(
|
|
4442
|
+
`w/${wid}/members/by-external-id/${encodeURIComponent(externalId)}`,
|
|
4443
|
+
{
|
|
4444
|
+
method: "PUT",
|
|
4445
|
+
body: JSON.stringify(data)
|
|
4446
|
+
}
|
|
4447
|
+
);
|
|
4448
|
+
}
|
|
4449
|
+
/**
|
|
4450
|
+
* Archive a workspace member addressed by its external id.
|
|
4451
|
+
*
|
|
4452
|
+
* The external-id twin of `archiveMember`; same authorization
|
|
4453
|
+
* (`members:write` + `members:admin`) and same body.
|
|
4454
|
+
*/
|
|
4455
|
+
async archiveMemberByExternalId(wid, externalId) {
|
|
4456
|
+
return this.fetch(
|
|
4457
|
+
`w/${wid}/members/by-external-id/${encodeURIComponent(externalId)}/archive`,
|
|
4458
|
+
{
|
|
4459
|
+
method: "POST",
|
|
4460
|
+
// Required empty JSON body is the route's CSRF barrier (GRA-6284).
|
|
4461
|
+
body: JSON.stringify({})
|
|
4462
|
+
}
|
|
4463
|
+
);
|
|
4464
|
+
}
|
|
4465
|
+
/**
|
|
4466
|
+
* Unarchive a workspace member addressed by its external id.
|
|
4467
|
+
*
|
|
4468
|
+
* The external-id twin of `unarchiveMember`; same authorization and body.
|
|
4469
|
+
*/
|
|
4470
|
+
async unarchiveMemberByExternalId(wid, externalId) {
|
|
4471
|
+
return this.fetch(
|
|
4472
|
+
`w/${wid}/members/by-external-id/${encodeURIComponent(externalId)}/unarchive`,
|
|
4473
|
+
{
|
|
4474
|
+
method: "POST",
|
|
4475
|
+
// Required empty JSON body is the route's CSRF barrier (GRA-6284).
|
|
4476
|
+
body: JSON.stringify({})
|
|
4477
|
+
}
|
|
4478
|
+
);
|
|
4479
|
+
}
|
|
4067
4480
|
/**
|
|
4068
4481
|
* Send the member an SMS asking them to confirm their phone number. When they
|
|
4069
4482
|
* reply, a trusted phone auth binding is created so they can use SMS as
|
|
@@ -4205,16 +4618,13 @@ var MembersApi = class extends BaseApiClient {
|
|
|
4205
4618
|
* operator can decide whether to skip or explicitly overwrite before
|
|
4206
4619
|
* committing. Requires MEMBERS_ADMIN and is bulk-PHI audited server-side.
|
|
4207
4620
|
*/
|
|
4208
|
-
async previewImportMembers(wid, file, newMemberRoleId) {
|
|
4209
|
-
const
|
|
4210
|
-
formData.append("file", file);
|
|
4211
|
-
const params = new URLSearchParams();
|
|
4212
|
-
params.append("new_member_role_id", newMemberRoleId.toString());
|
|
4621
|
+
async previewImportMembers(wid, file, newMemberRoleId, options) {
|
|
4622
|
+
const { body, params } = memberImportUpload(file, newMemberRoleId, options);
|
|
4213
4623
|
const response = await this.fetchRaw(
|
|
4214
4624
|
`w/${wid}/members/import/preview?${params.toString()}`,
|
|
4215
4625
|
{
|
|
4216
4626
|
method: "POST",
|
|
4217
|
-
body
|
|
4627
|
+
body
|
|
4218
4628
|
},
|
|
4219
4629
|
[400, 413]
|
|
4220
4630
|
);
|
|
@@ -4222,7 +4632,19 @@ var MembersApi = class extends BaseApiClient {
|
|
|
4222
4632
|
const error = await response.json().catch(() => ({}));
|
|
4223
4633
|
throwMemberImportError(error, "Import preview failed");
|
|
4224
4634
|
}
|
|
4225
|
-
|
|
4635
|
+
const preview = await response.json();
|
|
4636
|
+
if (preview.previewPlanToken) {
|
|
4637
|
+
this.memberImportPlans.set(file, {
|
|
4638
|
+
wid,
|
|
4639
|
+
role: newMemberRoleId,
|
|
4640
|
+
autoPromote: options?.autoPromoteUniqueContacts ?? true,
|
|
4641
|
+
token: preview.previewPlanToken,
|
|
4642
|
+
cachedAt: Date.now()
|
|
4643
|
+
});
|
|
4644
|
+
} else {
|
|
4645
|
+
this.memberImportPlans.delete(file);
|
|
4646
|
+
}
|
|
4647
|
+
return preview;
|
|
4226
4648
|
}
|
|
4227
4649
|
/**
|
|
4228
4650
|
* Import members from a CSV file, streaming progress updates via callback.
|
|
@@ -4232,10 +4654,11 @@ var MembersApi = class extends BaseApiClient {
|
|
|
4232
4654
|
* Send 'overwrite_identity_fields' only after the operator confirms a preview.
|
|
4233
4655
|
*/
|
|
4234
4656
|
async importMembers(wid, file, newMemberRoleId, onProgress, options) {
|
|
4235
|
-
const
|
|
4236
|
-
|
|
4237
|
-
const
|
|
4238
|
-
|
|
4657
|
+
const { body, params } = memberImportUpload(file, newMemberRoleId, options);
|
|
4658
|
+
const cachedPlan = this.memberImportPlans.get(file);
|
|
4659
|
+
const autoPromote = options?.autoPromoteUniqueContacts ?? true;
|
|
4660
|
+
const previewPlanToken = options?.previewPlanToken ?? (cachedPlan?.wid === wid && cachedPlan.role === newMemberRoleId && cachedPlan.autoPromote === autoPromote && Date.now() - cachedPlan.cachedAt < 55 * 60 * 1e3 ? cachedPlan.token : (await this.previewImportMembers(wid, file, newMemberRoleId, options)).previewPlanToken);
|
|
4661
|
+
if (previewPlanToken) body.append("previewPlanToken", previewPlanToken);
|
|
4239
4662
|
if (options?.identityConflictPolicy) {
|
|
4240
4663
|
params.append("identity_conflict_policy", options.identityConflictPolicy);
|
|
4241
4664
|
}
|
|
@@ -4243,7 +4666,7 @@ var MembersApi = class extends BaseApiClient {
|
|
|
4243
4666
|
`w/${wid}/members/import?${params.toString()}`,
|
|
4244
4667
|
{
|
|
4245
4668
|
method: "POST",
|
|
4246
|
-
body
|
|
4669
|
+
body
|
|
4247
4670
|
},
|
|
4248
4671
|
[400, 413]
|
|
4249
4672
|
);
|
|
@@ -4251,34 +4674,48 @@ var MembersApi = class extends BaseApiClient {
|
|
|
4251
4674
|
const error = await response.json().catch(() => ({}));
|
|
4252
4675
|
throwMemberImportError(error, "Import failed");
|
|
4253
4676
|
}
|
|
4254
|
-
if (
|
|
4255
|
-
|
|
4256
|
-
|
|
4257
|
-
|
|
4677
|
+
if (!response.body) throw new Error("Member import response has no progress stream");
|
|
4678
|
+
const reader = response.body.getReader();
|
|
4679
|
+
const decoder = new TextDecoder();
|
|
4680
|
+
let buffer = "";
|
|
4681
|
+
let result;
|
|
4682
|
+
let hadError = false;
|
|
4683
|
+
const consume = (line) => {
|
|
4684
|
+
if (!line.trim()) return;
|
|
4685
|
+
let event;
|
|
4686
|
+
try {
|
|
4687
|
+
event = JSON.parse(line);
|
|
4688
|
+
} catch {
|
|
4689
|
+
throw new Error("Invalid member import progress event");
|
|
4690
|
+
}
|
|
4691
|
+
if (event.type === "complete") result = event;
|
|
4692
|
+
if (event.type === "error") hadError = true;
|
|
4693
|
+
onProgress?.(event);
|
|
4694
|
+
};
|
|
4695
|
+
try {
|
|
4258
4696
|
while (true) {
|
|
4259
4697
|
const { done, value } = await reader.read();
|
|
4260
4698
|
if (done) break;
|
|
4261
4699
|
buffer += decoder.decode(value, { stream: true });
|
|
4262
4700
|
const lines = buffer.split("\n");
|
|
4263
4701
|
buffer = lines.pop() ?? "";
|
|
4264
|
-
for (const line of lines)
|
|
4265
|
-
const trimmed = line.trim();
|
|
4266
|
-
if (!trimmed) continue;
|
|
4267
|
-
try {
|
|
4268
|
-
onProgress(JSON.parse(trimmed));
|
|
4269
|
-
} catch {
|
|
4270
|
-
}
|
|
4271
|
-
}
|
|
4272
|
-
}
|
|
4273
|
-
const tail = buffer.trim();
|
|
4274
|
-
if (tail) {
|
|
4275
|
-
try {
|
|
4276
|
-
onProgress(JSON.parse(tail));
|
|
4277
|
-
} catch {
|
|
4278
|
-
}
|
|
4702
|
+
for (const line of lines) consume(line);
|
|
4279
4703
|
}
|
|
4704
|
+
buffer += decoder.decode();
|
|
4705
|
+
consume(buffer);
|
|
4706
|
+
} catch (error) {
|
|
4707
|
+
await reader.cancel().catch(() => void 0);
|
|
4708
|
+
throw error;
|
|
4709
|
+
} finally {
|
|
4710
|
+
reader.releaseLock();
|
|
4711
|
+
}
|
|
4712
|
+
if (!result) {
|
|
4713
|
+
throw new Error("Member import ended before completion; inspect members before retrying");
|
|
4280
4714
|
}
|
|
4281
|
-
return {
|
|
4715
|
+
return {
|
|
4716
|
+
success: !hadError && (result.failed ?? 0) === 0 && (result.conflicted ?? 0) === 0,
|
|
4717
|
+
result
|
|
4718
|
+
};
|
|
4282
4719
|
}
|
|
4283
4720
|
/** Export members as a downloadable file with selected fields and data types. */
|
|
4284
4721
|
async exportMembers(wid, selectedFields, selectedDataTypes, memberType) {
|
|
@@ -4684,6 +5121,21 @@ var MondayIntegrationApi = class extends BaseApiClient {
|
|
|
4684
5121
|
method: "POST"
|
|
4685
5122
|
});
|
|
4686
5123
|
}
|
|
5124
|
+
/**
|
|
5125
|
+
* Managed-rule execution history for this connection (`GET /sync/logs`):
|
|
5126
|
+
* the connection's managed EventRule executions, newest first, with the
|
|
5127
|
+
* shared cursor pagination. Requires `apps:read`; works while the
|
|
5128
|
+
* connection is parked for re-authorization.
|
|
5129
|
+
*/
|
|
5130
|
+
async getMondaySyncLogs(wid, params) {
|
|
5131
|
+
const query = new URLSearchParams();
|
|
5132
|
+
if (params?.pageSize) query.set("pageSize", String(params.pageSize));
|
|
5133
|
+
if (params?.cursor) query.set("cursor", params.cursor);
|
|
5134
|
+
const qs = query.toString() ? `?${query.toString()}` : "";
|
|
5135
|
+
return this.fetch(
|
|
5136
|
+
`w/${wid}/app-connections/monday/sync/logs${qs}`
|
|
5137
|
+
);
|
|
5138
|
+
}
|
|
4687
5139
|
};
|
|
4688
5140
|
|
|
4689
5141
|
// src/api/notification-rules.ts
|
|
@@ -4803,6 +5255,10 @@ var OrgApi = class extends BaseApiClient {
|
|
|
4803
5255
|
async getCurrentOrgMember(orgIdOrUuid) {
|
|
4804
5256
|
return this.fetch(`o/${orgIdOrUuid}/me`);
|
|
4805
5257
|
}
|
|
5258
|
+
/** Bundles this organization owns — read-only catalog for `/o/{uuid}/library`. */
|
|
5259
|
+
async listOrgBundles(orgIdOrUuid) {
|
|
5260
|
+
return this.fetch(`o/${orgIdOrUuid}/bundles`);
|
|
5261
|
+
}
|
|
4806
5262
|
/**
|
|
4807
5263
|
* Update the settings an org admin owns: name, slug and contact details.
|
|
4808
5264
|
*
|
|
@@ -4844,6 +5300,12 @@ var OrgApi = class extends BaseApiClient {
|
|
|
4844
5300
|
* `subscriptionId` is the org-scoped row — never pick the customer's
|
|
4845
5301
|
* newest subscription from the list endpoint. One customer can bill many
|
|
4846
5302
|
* organizations.
|
|
5303
|
+
*
|
|
5304
|
+
* Returns the generated `OrgBillingCustomerResponse` — the contract the
|
|
5305
|
+
* route actually emits, `audiences` included. The hand-written mirror that
|
|
5306
|
+
* used to live here listed four fields and silently dropped `audiences`,
|
|
5307
|
+
* so callers could not see the commercial roles they hold (GRA-8792).
|
|
5308
|
+
* Regenerate the shape (`yarn generate:types`) rather than re-declaring it.
|
|
4847
5309
|
*/
|
|
4848
5310
|
async getOrgBillingCustomer(orgIdOrUuid) {
|
|
4849
5311
|
return this.fetch(`o/${orgIdOrUuid}/billing-customer`);
|
|
@@ -4880,7 +5342,10 @@ var OrgApi = class extends BaseApiClient {
|
|
|
4880
5342
|
return this.fetch(`o/${orgUuid}/members/check/${accountUuid}`);
|
|
4881
5343
|
}
|
|
4882
5344
|
/**
|
|
4883
|
-
* Update an organization member's role.
|
|
5345
|
+
* Update an organization member's role and/or org-level display name.
|
|
5346
|
+
*
|
|
5347
|
+
* `name` is the org's own label for the member (the OrgMember row and the
|
|
5348
|
+
* linked OrgAccount); it does not change the person's global Account name.
|
|
4884
5349
|
*/
|
|
4885
5350
|
async updateOrganizationMember(orgIdOrUuid, memberId, data) {
|
|
4886
5351
|
return this.fetch(`o/${orgIdOrUuid}/members/${memberId}`, {
|
|
@@ -5255,12 +5720,6 @@ var OrgApi = class extends BaseApiClient {
|
|
|
5255
5720
|
// ============================================================================
|
|
5256
5721
|
// Organization A2P Brand Registration API
|
|
5257
5722
|
// ============================================================================
|
|
5258
|
-
/**
|
|
5259
|
-
* Get the org's A2P brand registration status.
|
|
5260
|
-
*/
|
|
5261
|
-
async getA2PStatus(orgUuid) {
|
|
5262
|
-
return this.fetch(`o/${orgUuid}/phone-numbers/a2p/status`);
|
|
5263
|
-
}
|
|
5264
5723
|
/** Return fixed phone-number and outbound-messaging prices. */
|
|
5265
5724
|
async getPhoneBillingPricing(orgUuid) {
|
|
5266
5725
|
return this.fetch(`o/${orgUuid}/phone-numbers/pricing`);
|
|
@@ -5269,11 +5728,30 @@ var OrgApi = class extends BaseApiClient {
|
|
|
5269
5728
|
* Start A2P brand registration under a legal entity. `legalEntityUuid`
|
|
5270
5729
|
* is required — brands register per legal entity (Customer Profile);
|
|
5271
5730
|
* there is no primary-entity fallback.
|
|
5731
|
+
*
|
|
5732
|
+
* `soleProprietorMobile` is the proprietor's own mobile number, the one the
|
|
5733
|
+
* carrier sends the A2P one-time-password verification to. Required when the
|
|
5734
|
+
* entity's registration shape is a sole proprietorship (see
|
|
5735
|
+
* `LegalEntitySummaryResponse.requiredBrandType`); ignored otherwise.
|
|
5736
|
+
*
|
|
5737
|
+
* Three constraints belong to the customer, so the caller must state them:
|
|
5738
|
+
* it has to be a US or Canadian **mobile**, it cannot be a number acquired
|
|
5739
|
+
* from a CPaaS provider (so never one we provisioned — the carrier rejects
|
|
5740
|
+
* it), and the carrier allows it a lifetime maximum of three uses across all
|
|
5741
|
+
* A2P brand registrations, counting those made through other vendors.
|
|
5742
|
+
*
|
|
5743
|
+
* It is forwarded to the registration workflow to reach the carrier as an
|
|
5744
|
+
* EndUser attribute and is never stored on our side.
|
|
5272
5745
|
*/
|
|
5273
|
-
async startA2PRegistration(orgUuid, legalEntityUuid, brandName, brandUuid = null) {
|
|
5746
|
+
async startA2PRegistration(orgUuid, legalEntityUuid, brandName, brandUuid = null, soleProprietorMobile = null) {
|
|
5274
5747
|
return this.fetch(`o/${orgUuid}/phone-numbers/a2p/start`, {
|
|
5275
5748
|
method: "POST",
|
|
5276
|
-
body: JSON.stringify({
|
|
5749
|
+
body: JSON.stringify({
|
|
5750
|
+
legalEntityUuid,
|
|
5751
|
+
brandName,
|
|
5752
|
+
brandUuid,
|
|
5753
|
+
soleProprietorMobile
|
|
5754
|
+
})
|
|
5277
5755
|
});
|
|
5278
5756
|
}
|
|
5279
5757
|
/**
|
|
@@ -5301,6 +5779,25 @@ var OrgApi = class extends BaseApiClient {
|
|
|
5301
5779
|
}
|
|
5302
5780
|
);
|
|
5303
5781
|
}
|
|
5782
|
+
/**
|
|
5783
|
+
* Which legal entity's voice trust products (CNAM, SHAKEN/STIR, Voice
|
|
5784
|
+
* Integrity) each of the org's numbers carries, read live from Twilio.
|
|
5785
|
+
*/
|
|
5786
|
+
async getPhoneVoiceTrust(orgUuid) {
|
|
5787
|
+
return this.fetch(`o/${orgUuid}/phone-numbers/voice-trust`);
|
|
5788
|
+
}
|
|
5789
|
+
/**
|
|
5790
|
+
* Put a number on a legal entity's Customer Profile and approved voice
|
|
5791
|
+
* trust products, taking it off any other legal entity's first. The
|
|
5792
|
+
* entity's business profile must be approved (400 otherwise).
|
|
5793
|
+
*/
|
|
5794
|
+
async attachPhoneVoiceTrust(orgUuid, providerPhoneUuid, legalEntityUuid) {
|
|
5795
|
+
const body = { providerPhoneUuid, legalEntityUuid };
|
|
5796
|
+
return this.fetch(`o/${orgUuid}/phone-numbers/voice-trust/attach`, {
|
|
5797
|
+
method: "POST",
|
|
5798
|
+
body: JSON.stringify(body)
|
|
5799
|
+
});
|
|
5800
|
+
}
|
|
5304
5801
|
// ============================================================================
|
|
5305
5802
|
// Organization Business Profile API (Twilio Trust Hub Secondary CP)
|
|
5306
5803
|
// ============================================================================
|
|
@@ -5470,6 +5967,16 @@ var OrgApi = class extends BaseApiClient {
|
|
|
5470
5967
|
}
|
|
5471
5968
|
);
|
|
5472
5969
|
}
|
|
5970
|
+
/**
|
|
5971
|
+
* Resubmit a campaign the carrier rejected, with the brand's current
|
|
5972
|
+
* campaign copy. Edits the campaign in place, so no second vetting fee.
|
|
5973
|
+
*/
|
|
5974
|
+
async resubmitA2PCampaign(orgUuid, brandUuid) {
|
|
5975
|
+
return this.fetch(
|
|
5976
|
+
`o/${orgUuid}/a2p-brands/${brandUuid}/resubmit-campaign`,
|
|
5977
|
+
{ method: "POST" }
|
|
5978
|
+
);
|
|
5979
|
+
}
|
|
5473
5980
|
/**
|
|
5474
5981
|
* Published Sites across the org's workspaces that can be linked as this
|
|
5475
5982
|
* brand's enrollment (opt-in) surface. Org-authorized, so it works even when
|
|
@@ -5482,7 +5989,7 @@ var OrgApi = class extends BaseApiClient {
|
|
|
5482
5989
|
}
|
|
5483
5990
|
/**
|
|
5484
5991
|
* Link the brand to a published enrollment Site (sets `site_uuid`). Returns
|
|
5485
|
-
* the refreshed campaign config
|
|
5992
|
+
* the refreshed campaign config.
|
|
5486
5993
|
*/
|
|
5487
5994
|
async linkA2PEnrollmentSite(orgUuid, brandUuid, data) {
|
|
5488
5995
|
return this.fetch(
|
|
@@ -5495,9 +6002,9 @@ var OrgApi = class extends BaseApiClient {
|
|
|
5495
6002
|
}
|
|
5496
6003
|
/**
|
|
5497
6004
|
* Provision (or reuse) a patient-enrollment Site for the brand and link it —
|
|
5498
|
-
* the
|
|
5499
|
-
* only when the org has multiple
|
|
5500
|
-
*
|
|
6005
|
+
* the explicit counterpart to the automatic provisioning at brand
|
|
6006
|
+
* registration. `workspaceUuid` is required only when the org has multiple
|
|
6007
|
+
* workspaces. Returns the refreshed campaign config. Idempotent.
|
|
5501
6008
|
*/
|
|
5502
6009
|
async provisionA2PEnrollmentSite(orgUuid, brandUuid, data = {}) {
|
|
5503
6010
|
return this.fetch(
|
|
@@ -5516,34 +6023,42 @@ var OrgApi = class extends BaseApiClient {
|
|
|
5516
6023
|
);
|
|
5517
6024
|
}
|
|
5518
6025
|
/**
|
|
5519
|
-
*
|
|
5520
|
-
*
|
|
5521
|
-
*
|
|
5522
|
-
* to get a patient-ready link instead.
|
|
6026
|
+
* Stage one A2P opt-in evidence file: get a presigned POST to send the bytes
|
|
6027
|
+
* straight to storage. Nothing is recorded on the brand until
|
|
6028
|
+
* {@link registerA2PEvidenceUpload} reads the object back and normalizes it.
|
|
5523
6029
|
*/
|
|
5524
|
-
async
|
|
6030
|
+
async createA2PEvidenceUploadUrl(orgUuid, brandUuid, data) {
|
|
5525
6031
|
return this.fetch(
|
|
5526
|
-
`o/${orgUuid}/a2p-brands/${brandUuid}/
|
|
6032
|
+
`o/${orgUuid}/a2p-brands/${brandUuid}/evidence-attachments/upload-url`,
|
|
6033
|
+
{
|
|
6034
|
+
method: "POST",
|
|
6035
|
+
body: JSON.stringify(data)
|
|
6036
|
+
}
|
|
5527
6037
|
);
|
|
5528
6038
|
}
|
|
5529
6039
|
/**
|
|
5530
|
-
*
|
|
5531
|
-
*
|
|
5532
|
-
*
|
|
5533
|
-
* the member that `externalId` resolves to. `externalId` (the patient's
|
|
5534
|
-
* CRM/EHR identifier) travels in the request body, never the query string,
|
|
5535
|
-
* so it stays out of access logs. When it matches no member, the
|
|
5536
|
-
* credential-free template URL is returned rather than an error.
|
|
6040
|
+
* Normalize a staged evidence upload and record it on the brand. Returns the
|
|
6041
|
+
* refreshed campaign config, so the editor's evidence list updates without a
|
|
6042
|
+
* second round trip.
|
|
5537
6043
|
*/
|
|
5538
|
-
async
|
|
6044
|
+
async registerA2PEvidenceUpload(orgUuid, brandUuid, data) {
|
|
5539
6045
|
return this.fetch(
|
|
5540
|
-
`o/${orgUuid}/a2p-brands/${brandUuid}/
|
|
6046
|
+
`o/${orgUuid}/a2p-brands/${brandUuid}/evidence-attachments`,
|
|
5541
6047
|
{
|
|
5542
6048
|
method: "POST",
|
|
5543
|
-
body: JSON.stringify(
|
|
6049
|
+
body: JSON.stringify(data)
|
|
5544
6050
|
}
|
|
5545
6051
|
);
|
|
5546
6052
|
}
|
|
6053
|
+
/** Remove one uploaded evidence artifact. */
|
|
6054
|
+
async deleteA2PEvidenceUpload(orgUuid, brandUuid, attachmentUuid) {
|
|
6055
|
+
return this.fetch(
|
|
6056
|
+
`o/${orgUuid}/a2p-brands/${brandUuid}/evidence-attachments/${encodeURIComponent(
|
|
6057
|
+
attachmentUuid
|
|
6058
|
+
)}`,
|
|
6059
|
+
{ method: "DELETE" }
|
|
6060
|
+
);
|
|
6061
|
+
}
|
|
5547
6062
|
/**
|
|
5548
6063
|
* List available member roles for a workspace in the organization.
|
|
5549
6064
|
*/
|
|
@@ -5568,6 +6083,9 @@ var OrgApi = class extends BaseApiClient {
|
|
|
5568
6083
|
async listOrgWebhookEndpoints(orgIdOrUuid) {
|
|
5569
6084
|
return this.fetch(`o/${orgIdOrUuid}/webhooks`);
|
|
5570
6085
|
}
|
|
6086
|
+
async getOrgWebhookEndpoint(orgIdOrUuid, endpointUuid) {
|
|
6087
|
+
return this.fetch(`o/${orgIdOrUuid}/webhooks/${endpointUuid}`);
|
|
6088
|
+
}
|
|
5571
6089
|
/**
|
|
5572
6090
|
* The subscribable event-type vocabulary for the org UI's event-type
|
|
5573
6091
|
* picker — exactly what the create/update validators accept, so the UI
|
|
@@ -5626,6 +6144,39 @@ var OrgApi = class extends BaseApiClient {
|
|
|
5626
6144
|
}
|
|
5627
6145
|
);
|
|
5628
6146
|
}
|
|
6147
|
+
// =========================================================================
|
|
6148
|
+
// Organization API keys (GRA-9043)
|
|
6149
|
+
// =========================================================================
|
|
6150
|
+
/**
|
|
6151
|
+
* List every API key bound to this organization. Never carries the secret.
|
|
6152
|
+
*
|
|
6153
|
+
* Org-bound keys authenticate as an org-local principal, so one key reaches
|
|
6154
|
+
* every current workspace of the organization and every workspace created
|
|
6155
|
+
* later. Gated by `org:api_keys`, which `org:admin` holds transitively.
|
|
6156
|
+
*/
|
|
6157
|
+
async listOrgApiKeys(orgIdOrUuid) {
|
|
6158
|
+
return this.fetch(`o/${orgIdOrUuid}/api-keys`);
|
|
6159
|
+
}
|
|
6160
|
+
/**
|
|
6161
|
+
* Mint an org-bound API key.
|
|
6162
|
+
*
|
|
6163
|
+
* The payload is the same client-only {@link ApiKeyFormData} the workspace
|
|
6164
|
+
* and account routes take — `{name, expiresInDays, scopes}`, no workspace
|
|
6165
|
+
* id: the mint location is what binds the key. The response carries `key`,
|
|
6166
|
+
* the plaintext secret, which is readable exactly once.
|
|
6167
|
+
*/
|
|
6168
|
+
async createOrgApiKey(orgIdOrUuid, apiKey) {
|
|
6169
|
+
return this.fetch(`o/${orgIdOrUuid}/api-keys`, {
|
|
6170
|
+
method: "POST",
|
|
6171
|
+
body: JSON.stringify(apiKey)
|
|
6172
|
+
});
|
|
6173
|
+
}
|
|
6174
|
+
/** Revoke an org-bound API key by its id. */
|
|
6175
|
+
async revokeOrgApiKey(orgIdOrUuid, keyId) {
|
|
6176
|
+
return this.fetch(`o/${orgIdOrUuid}/api-keys/${keyId}`, {
|
|
6177
|
+
method: "DELETE"
|
|
6178
|
+
});
|
|
6179
|
+
}
|
|
5629
6180
|
};
|
|
5630
6181
|
function businessProfilePath(orgUuid, legalEntityUuid) {
|
|
5631
6182
|
return legalEntityUuid ? `o/${orgUuid}/legal-entities/${legalEntityUuid}/business-profile` : `o/${orgUuid}/business-profile`;
|
|
@@ -6162,6 +6713,14 @@ var QualificationsApi = class extends BaseApiClient {
|
|
|
6162
6713
|
});
|
|
6163
6714
|
}
|
|
6164
6715
|
// ===== Test chat runs =====
|
|
6716
|
+
/**
|
|
6717
|
+
* List a Workflow's test chat runs, newest first (default 50, max 500).
|
|
6718
|
+
*
|
|
6719
|
+
* `workflowRevisionId` narrows to that revision before the limit applies.
|
|
6720
|
+
* `includeEarlierRevisions` widens the window to earlier published
|
|
6721
|
+
* revisions and runs whose revision was deleted, and requires
|
|
6722
|
+
* `workflowRevisionId`. Omitting both keeps the unfiltered list.
|
|
6723
|
+
*/
|
|
6165
6724
|
async listTestChatRuns(wid, workflowId, params) {
|
|
6166
6725
|
const query = new URLSearchParams();
|
|
6167
6726
|
if (params?.scenarioId !== void 0) query.set("scenarioId", String(params.scenarioId));
|
|
@@ -6169,11 +6728,36 @@ var QualificationsApi = class extends BaseApiClient {
|
|
|
6169
6728
|
query.set("assistantChatModelId", params.assistantChatModelId);
|
|
6170
6729
|
}
|
|
6171
6730
|
if (params?.limit !== void 0) query.set("limit", String(params.limit));
|
|
6731
|
+
if (params?.workflowRevisionId !== void 0) {
|
|
6732
|
+
query.set("workflow_revision_id", String(params.workflowRevisionId));
|
|
6733
|
+
}
|
|
6734
|
+
if (params?.includeEarlierRevisions !== void 0) {
|
|
6735
|
+
query.set("include_earlier_revisions", String(params.includeEarlierRevisions));
|
|
6736
|
+
}
|
|
6172
6737
|
const qs = query.toString() ? `?${query.toString()}` : "";
|
|
6173
6738
|
return this.fetch(
|
|
6174
6739
|
`w/${wid}/qualifications/workflows/${workflowId}/test-chat-runs${qs}`
|
|
6175
6740
|
);
|
|
6176
6741
|
}
|
|
6742
|
+
/**
|
|
6743
|
+
* Exact scenario health for one revision of a Workflow: every active
|
|
6744
|
+
* scenario's server-decided state, caption, counts and per-revision pass
|
|
6745
|
+
* rates, plus the board headline. Scenarios arrive in board order.
|
|
6746
|
+
*
|
|
6747
|
+
* Omit `workflowRevisionId` for the server's current revision (the newest
|
|
6748
|
+
* with runs, the Draft counting as newest); the response names the
|
|
6749
|
+
* revision it describes and whether it is the current one.
|
|
6750
|
+
*/
|
|
6751
|
+
async listScenarioHealthSummaries(wid, workflowId, params) {
|
|
6752
|
+
const query = new URLSearchParams();
|
|
6753
|
+
if (params?.workflowRevisionId !== void 0) {
|
|
6754
|
+
query.set("workflow_revision_id", String(params.workflowRevisionId));
|
|
6755
|
+
}
|
|
6756
|
+
const qs = query.toString() ? `?${query.toString()}` : "";
|
|
6757
|
+
return this.fetch(
|
|
6758
|
+
`w/${wid}/qualifications/workflows/${workflowId}/scenario-health-summaries${qs}`
|
|
6759
|
+
);
|
|
6760
|
+
}
|
|
6177
6761
|
async getTestChatRun(wid, runId) {
|
|
6178
6762
|
return this.fetch(`w/${wid}/qualifications/test-chat-runs/${runId}`);
|
|
6179
6763
|
}
|
|
@@ -6269,6 +6853,96 @@ var ReportsApi = class extends BaseApiClient {
|
|
|
6269
6853
|
}
|
|
6270
6854
|
};
|
|
6271
6855
|
|
|
6856
|
+
// src/types/generated/communication.ts
|
|
6857
|
+
var RoutingActionType = {
|
|
6858
|
+
answer_ai: "answer_ai",
|
|
6859
|
+
answer_human: "answer_human",
|
|
6860
|
+
answer_owner: "answer_owner",
|
|
6861
|
+
voicemail: "voicemail",
|
|
6862
|
+
play_message: "play_message",
|
|
6863
|
+
ignore: "ignore",
|
|
6864
|
+
signup: "signup"
|
|
6865
|
+
};
|
|
6866
|
+
var RoutingAudience = {
|
|
6867
|
+
anyone: "anyone",
|
|
6868
|
+
anonymous: "anonymous",
|
|
6869
|
+
members: "members"
|
|
6870
|
+
};
|
|
6871
|
+
var RoutingChannel = {
|
|
6872
|
+
pstn: "pstn",
|
|
6873
|
+
messaging: "messaging",
|
|
6874
|
+
email: "email"
|
|
6875
|
+
};
|
|
6876
|
+
var RoutingTimeWindow = {
|
|
6877
|
+
always: "always",
|
|
6878
|
+
business_hours: "business_hours",
|
|
6879
|
+
non_business_hours: "non_business_hours",
|
|
6880
|
+
custom: "custom"
|
|
6881
|
+
};
|
|
6882
|
+
|
|
6883
|
+
// src/api/routing-rules.ts
|
|
6884
|
+
function appendFilters(params, filters) {
|
|
6885
|
+
if (!filters) return;
|
|
6886
|
+
if (filters.channel !== void 0) params.set("channel", filters.channel);
|
|
6887
|
+
if (filters.phoneNumberId !== void 0)
|
|
6888
|
+
params.set("phoneNumberId", String(filters.phoneNumberId));
|
|
6889
|
+
if (filters.inboxId !== void 0) params.set("inboxId", String(filters.inboxId));
|
|
6890
|
+
if (filters.page !== void 0) params.set("page", String(filters.page));
|
|
6891
|
+
if (filters.pageSize !== void 0) params.set("pageSize", String(filters.pageSize));
|
|
6892
|
+
}
|
|
6893
|
+
var RoutingRulesApi = class extends BaseApiClient {
|
|
6894
|
+
/** List one endpoint's rules. Requires the rule's endpoint read permission (`phones:read`, or `inboxes:read`). */
|
|
6895
|
+
async getRoutingRules(wid, filters) {
|
|
6896
|
+
const params = new URLSearchParams();
|
|
6897
|
+
appendFilters(params, filters);
|
|
6898
|
+
const query = params.toString();
|
|
6899
|
+
return this.fetch(
|
|
6900
|
+
`w/${wid}/routing${query ? `?${query}` : ""}`
|
|
6901
|
+
);
|
|
6902
|
+
}
|
|
6903
|
+
/** Read one rule. Requires the rule's endpoint read permission (`phones:read`, or `inboxes:read`). */
|
|
6904
|
+
async getRoutingRule(wid, ruleUuid) {
|
|
6905
|
+
return this.fetch(`w/${wid}/routing/${ruleUuid}`);
|
|
6906
|
+
}
|
|
6907
|
+
/** Create a rule. Requires the rule's endpoint write permission (`phones:write`, or `inboxes:write`). */
|
|
6908
|
+
async createRoutingRule(wid, data) {
|
|
6909
|
+
return this.fetch(`w/${wid}/routing`, {
|
|
6910
|
+
method: "POST",
|
|
6911
|
+
body: JSON.stringify(data)
|
|
6912
|
+
});
|
|
6913
|
+
}
|
|
6914
|
+
/** Update a rule. Requires the rule's endpoint write permission (`phones:write`, or `inboxes:write`). */
|
|
6915
|
+
async updateRoutingRule(wid, ruleUuid, data) {
|
|
6916
|
+
return this.fetch(`w/${wid}/routing/${ruleUuid}`, {
|
|
6917
|
+
method: "PATCH",
|
|
6918
|
+
body: JSON.stringify(data)
|
|
6919
|
+
});
|
|
6920
|
+
}
|
|
6921
|
+
/** Hard-delete a rule. Requires the rule's endpoint write permission (`phones:write`, or `inboxes:write`); the server audits deletion. */
|
|
6922
|
+
async deleteRoutingRule(wid, ruleUuid) {
|
|
6923
|
+
return this.fetch(`w/${wid}/routing/${ruleUuid}`, {
|
|
6924
|
+
method: "DELETE"
|
|
6925
|
+
});
|
|
6926
|
+
}
|
|
6927
|
+
/** Atomically reorder one endpoint/channel scope. Requires the rule's endpoint write permission (`phones:write`, or `inboxes:write`). */
|
|
6928
|
+
async reorderRoutingRules(wid, ruleUuids) {
|
|
6929
|
+
return this.fetch(`w/${wid}/routing/reorder`, {
|
|
6930
|
+
method: "POST",
|
|
6931
|
+
body: JSON.stringify({ ruleUuids })
|
|
6932
|
+
});
|
|
6933
|
+
}
|
|
6934
|
+
/**
|
|
6935
|
+
* Dry-run rule evaluation without placing or sending anything. Requires
|
|
6936
|
+
* the rule's endpoint read permission (`phones:read`, or `inboxes:read`); previewing a named Member also requires `members:read`.
|
|
6937
|
+
*/
|
|
6938
|
+
async previewRoutingRule(wid, data) {
|
|
6939
|
+
return this.fetch(`w/${wid}/routing/preview`, {
|
|
6940
|
+
method: "POST",
|
|
6941
|
+
body: JSON.stringify(data)
|
|
6942
|
+
});
|
|
6943
|
+
}
|
|
6944
|
+
};
|
|
6945
|
+
|
|
6272
6946
|
// src/api/salesforce.ts
|
|
6273
6947
|
var SalesforceApi = class extends BaseApiClient {
|
|
6274
6948
|
/**
|
|
@@ -6349,6 +7023,20 @@ var SalesforceApi = class extends BaseApiClient {
|
|
|
6349
7023
|
body: JSON.stringify(data)
|
|
6350
7024
|
});
|
|
6351
7025
|
}
|
|
7026
|
+
/**
|
|
7027
|
+
* Start a durable run that links unlinked members by Salesforce Id / email
|
|
7028
|
+
* and hydrates them. One run per connection; a second start while one is
|
|
7029
|
+
* in flight is 409.
|
|
7030
|
+
*/
|
|
7031
|
+
async linkUnlinkedSalesforceMembersByIdentity(wid) {
|
|
7032
|
+
return this.fetch(
|
|
7033
|
+
`w/${wid}/app-connections/salesforce/reconciliation/link-unlinked-by-identity`,
|
|
7034
|
+
{
|
|
7035
|
+
method: "POST",
|
|
7036
|
+
body: JSON.stringify({})
|
|
7037
|
+
}
|
|
7038
|
+
);
|
|
7039
|
+
}
|
|
6352
7040
|
async unlinkMemberFromSalesforce(wid, memberId) {
|
|
6353
7041
|
return this.fetch(`w/${wid}/app-connections/salesforce/reconciliation/unlink/${memberId}`, {
|
|
6354
7042
|
method: "DELETE"
|
|
@@ -6430,6 +7118,21 @@ var SalesforceApi = class extends BaseApiClient {
|
|
|
6430
7118
|
}
|
|
6431
7119
|
);
|
|
6432
7120
|
}
|
|
7121
|
+
/**
|
|
7122
|
+
* Managed-rule execution history for this connection (`GET /sync/logs`):
|
|
7123
|
+
* the connection's managed EventRule executions, newest first, with the
|
|
7124
|
+
* shared cursor pagination. Requires `apps:read`; works while the
|
|
7125
|
+
* connection is parked for re-authorization.
|
|
7126
|
+
*/
|
|
7127
|
+
async getSalesforceSyncLogs(wid, params) {
|
|
7128
|
+
const query = new URLSearchParams();
|
|
7129
|
+
if (params?.pageSize) query.set("pageSize", String(params.pageSize));
|
|
7130
|
+
if (params?.cursor) query.set("cursor", params.cursor);
|
|
7131
|
+
const qs = query.toString() ? `?${query.toString()}` : "";
|
|
7132
|
+
return this.fetch(
|
|
7133
|
+
`w/${wid}/app-connections/salesforce/sync/logs${qs}`
|
|
7134
|
+
);
|
|
7135
|
+
}
|
|
6433
7136
|
};
|
|
6434
7137
|
|
|
6435
7138
|
// src/api/connection-sync.ts
|
|
@@ -6620,12 +7323,19 @@ var HubspotApi = class extends BaseApiClient {
|
|
|
6620
7323
|
async getHubspotManagedRules(wid) {
|
|
6621
7324
|
return this.fetch(`w/${wid}/app-connections/hubspot/managed-rules`);
|
|
6622
7325
|
}
|
|
7326
|
+
/**
|
|
7327
|
+
* Managed-rule execution history for this connection (`GET /sync/logs`).
|
|
7328
|
+
* Rows are the shared rule-execution response (the same shape the Salesforce
|
|
7329
|
+
* and Monday twins return), with cursor pagination.
|
|
7330
|
+
*/
|
|
6623
7331
|
async getHubspotSyncLogs(wid, params) {
|
|
6624
7332
|
const query = new URLSearchParams();
|
|
6625
7333
|
if (params?.pageSize) query.set("pageSize", String(params.pageSize));
|
|
6626
7334
|
if (params?.cursor) query.set("cursor", params.cursor);
|
|
6627
7335
|
const qs = query.toString() ? `?${query.toString()}` : "";
|
|
6628
|
-
return this.fetch(
|
|
7336
|
+
return this.fetch(
|
|
7337
|
+
`w/${wid}/app-connections/hubspot/sync/logs${qs}`
|
|
7338
|
+
);
|
|
6629
7339
|
}
|
|
6630
7340
|
async getHubspotTransformPresets(wid) {
|
|
6631
7341
|
return this.fetch(
|
|
@@ -7539,6 +8249,33 @@ var JourneysApi = class extends BaseApiClient {
|
|
|
7539
8249
|
body: JSON.stringify(data)
|
|
7540
8250
|
});
|
|
7541
8251
|
}
|
|
8252
|
+
/**
|
|
8253
|
+
* Discard a saved editor draft, keeping the runnable definition.
|
|
8254
|
+
*
|
|
8255
|
+
* Body-less: a DELETE carries no document, only the resource to remove and
|
|
8256
|
+
* `expectedUpdatedAt` — the Journey's `updatedAt` as the caller loaded it —
|
|
8257
|
+
* proving they are removing the draft they were looking at. Encoded through
|
|
8258
|
+
* `URLSearchParams` because an ISO timestamp with a positive UTC offset
|
|
8259
|
+
* contains a `+`, which a raw template string would deliver to the server as
|
|
8260
|
+
* a space and turn into a revision conflict nobody can explain.
|
|
8261
|
+
*
|
|
8262
|
+
* Returns the AUTHORING projection (`Journey`) with `authoringDraft: null`
|
|
8263
|
+
* and the advanced `updatedAt`, so the caller can re-derive from the stored
|
|
8264
|
+
* definition without a second read.
|
|
8265
|
+
*
|
|
8266
|
+
* Refusals match the PUT's vocabulary: `journey_v2_definition_conflict`
|
|
8267
|
+
* (someone saved first — nothing was removed),
|
|
8268
|
+
* `journey_v2_structural_edit_not_allowed` (the Journey is live or archived)
|
|
8269
|
+
* and `journey_v2_execution_model_mismatch` (it is legacy). A Journey that
|
|
8270
|
+
* has no saved draft is a success, not an error — the state the caller asked
|
|
8271
|
+
* for is the state it is in.
|
|
8272
|
+
*/
|
|
8273
|
+
async deleteJourneyDraft(wid, journeyId, expectedUpdatedAt) {
|
|
8274
|
+
const query = new URLSearchParams({ expectedUpdatedAt });
|
|
8275
|
+
return this.fetch(`w/${wid}/journeys/${journeyId}/draft?${query.toString()}`, {
|
|
8276
|
+
method: "DELETE"
|
|
8277
|
+
});
|
|
8278
|
+
}
|
|
7542
8279
|
/**
|
|
7543
8280
|
* List journeys, optionally including archived, paginated.
|
|
7544
8281
|
*
|
|
@@ -7945,15 +8682,11 @@ var WorkflowsApi = class extends BaseApiClient {
|
|
|
7945
8682
|
return this.fetch(`w/${wid}/workflows/${id}/diagram${query}`);
|
|
7946
8683
|
}
|
|
7947
8684
|
/**
|
|
7948
|
-
*
|
|
7949
|
-
*
|
|
7950
|
-
* For same-origin setups, returns the direct API URL.
|
|
8685
|
+
* The outline a Workflow's diagram is drawn from: its active Tasks, its
|
|
8686
|
+
* start Task, the moves between Tasks and its Ability types.
|
|
7951
8687
|
*/
|
|
7952
|
-
|
|
7953
|
-
|
|
7954
|
-
return `/api/v2/w/${wid}/workflows/${id}/thumbnail`;
|
|
7955
|
-
}
|
|
7956
|
-
return `${this.baseUrl}/api/v2/w/${wid}/workflows/${id}/thumbnail`;
|
|
8688
|
+
async getWorkflowOutline(wid, id) {
|
|
8689
|
+
return this.fetch(`w/${wid}/workflows/${id}/outline`);
|
|
7957
8690
|
}
|
|
7958
8691
|
/** Create a new workflow in a workspace. */
|
|
7959
8692
|
async createWorkflow(wid, workflow) {
|
|
@@ -8036,11 +8769,6 @@ var WorkflowsApi = class extends BaseApiClient {
|
|
|
8036
8769
|
`w/${wid}/workflows/${workflowId}/tasks/${taskId}/chats?${params.toString()}`
|
|
8037
8770
|
);
|
|
8038
8771
|
}
|
|
8039
|
-
async getWorkflowAccessValidation(wid, workflowId) {
|
|
8040
|
-
return this.fetch(
|
|
8041
|
-
`w/${wid}/workflows/${workflowId}/validate-access`
|
|
8042
|
-
);
|
|
8043
|
-
}
|
|
8044
8772
|
async getWorkflowConfigValidation(wid, workflowId) {
|
|
8045
8773
|
return this.fetch(
|
|
8046
8774
|
`w/${wid}/workflows/${workflowId}/validate-config`
|
|
@@ -8308,21 +9036,6 @@ function encodePermissions(permissions) {
|
|
|
8308
9036
|
if (permissions.delete) accessMode |= PERMISSION_DELETE;
|
|
8309
9037
|
return accessMode;
|
|
8310
9038
|
}
|
|
8311
|
-
var WORKFLOW_IMPLICIT_USE_SCOPE = "workflows:admin";
|
|
8312
|
-
function roleImplicitWorkflowUseScope(role) {
|
|
8313
|
-
return (role.grantedScopes ?? []).includes(WORKFLOW_IMPLICIT_USE_SCOPE) ? WORKFLOW_IMPLICIT_USE_SCOPE : null;
|
|
8314
|
-
}
|
|
8315
|
-
function roleWorkflowAccess(role, workflowId) {
|
|
8316
|
-
const viaScope = roleImplicitWorkflowUseScope(role);
|
|
8317
|
-
if (viaScope) {
|
|
8318
|
-
return { accessMode: PERMISSION_USE | PERMISSION_EDIT, viaScope };
|
|
8319
|
-
}
|
|
8320
|
-
const entry = (role.workflowAccess ?? []).find((wa) => wa.workflowId === workflowId);
|
|
8321
|
-
return { accessMode: entry?.accessMode ?? PERMISSION_NONE, viaScope: null };
|
|
8322
|
-
}
|
|
8323
|
-
function roleCanUseWorkflow(role, workflowId) {
|
|
8324
|
-
return (roleWorkflowAccess(role, workflowId).accessMode & PERMISSION_USE) !== 0;
|
|
8325
|
-
}
|
|
8326
9039
|
var Scope = /* @__PURE__ */ ((Scope2) => {
|
|
8327
9040
|
Scope2["WORKSPACE_READ"] = "workspace:read";
|
|
8328
9041
|
Scope2["WORKSPACE_WRITE"] = "workspace:write";
|
|
@@ -8391,6 +9104,7 @@ var Scope = /* @__PURE__ */ ((Scope2) => {
|
|
|
8391
9104
|
Scope2["LABELS_READ"] = "labels:read";
|
|
8392
9105
|
Scope2["LABELS_WRITE"] = "labels:write";
|
|
8393
9106
|
Scope2["ANALYTICS_READ"] = "analytics:read";
|
|
9107
|
+
Scope2["ANONYMOUS_SUBMISSIONS_READ"] = "anonymous_submissions:read";
|
|
8394
9108
|
Scope2["OPERATOR_READ"] = "operator:read";
|
|
8395
9109
|
Scope2["OPERATOR_WRITE"] = "operator:write";
|
|
8396
9110
|
Scope2["EXPORT_READ"] = "export:read";
|
|
@@ -8414,6 +9128,8 @@ var BulkMemberResultStatus = {
|
|
|
8414
9128
|
skipped: "skipped"
|
|
8415
9129
|
};
|
|
8416
9130
|
var MemberImportMatchInfoMatchType = {
|
|
9131
|
+
id: "id",
|
|
9132
|
+
uuid: "uuid",
|
|
8417
9133
|
external_id: "external_id",
|
|
8418
9134
|
email: "email",
|
|
8419
9135
|
phone: "phone",
|
|
@@ -8435,6 +9151,36 @@ var MergeMemberRolesRequestAccessStrategy = {
|
|
|
8435
9151
|
target_only: "target_only"
|
|
8436
9152
|
};
|
|
8437
9153
|
|
|
9154
|
+
// src/types/generated/member_contact_point.ts
|
|
9155
|
+
var CreateMemberContactPointRequestContactType = {
|
|
9156
|
+
phone: "phone",
|
|
9157
|
+
email: "email"
|
|
9158
|
+
};
|
|
9159
|
+
var CreateMemberContactPointRequestPurpose = {
|
|
9160
|
+
general: "general",
|
|
9161
|
+
notification: "notification",
|
|
9162
|
+
billing: "billing"
|
|
9163
|
+
};
|
|
9164
|
+
var CreateMemberContactPointRequestSharing = {
|
|
9165
|
+
shared: "shared",
|
|
9166
|
+
individual: "individual",
|
|
9167
|
+
unknown: "unknown"
|
|
9168
|
+
};
|
|
9169
|
+
var UpdateMemberContactPointRequestContactType = {
|
|
9170
|
+
phone: "phone",
|
|
9171
|
+
email: "email"
|
|
9172
|
+
};
|
|
9173
|
+
var UpdateMemberContactPointRequestPurpose = {
|
|
9174
|
+
general: "general",
|
|
9175
|
+
notification: "notification",
|
|
9176
|
+
billing: "billing"
|
|
9177
|
+
};
|
|
9178
|
+
var UpdateMemberContactPointRequestSharing = {
|
|
9179
|
+
shared: "shared",
|
|
9180
|
+
individual: "individual",
|
|
9181
|
+
unknown: "unknown"
|
|
9182
|
+
};
|
|
9183
|
+
|
|
8438
9184
|
// src/types/member-types.ts
|
|
8439
9185
|
var MemberType = /* @__PURE__ */ ((MemberType2) => {
|
|
8440
9186
|
MemberType2["ANONYMOUS"] = "anonymous";
|
|
@@ -8521,6 +9267,7 @@ var EventRuleEventType = /* @__PURE__ */ ((EventRuleEventType2) => {
|
|
|
8521
9267
|
EventRuleEventType2["CHAT_CREATED"] = "chat:created";
|
|
8522
9268
|
EventRuleEventType2["CHAT_SUMMARY"] = "chat:summary";
|
|
8523
9269
|
EventRuleEventType2["MESSAGE_CREATED"] = "message:created";
|
|
9270
|
+
EventRuleEventType2["LINK_CLICKED"] = "link:clicked";
|
|
8524
9271
|
EventRuleEventType2["CHAT_CALLBACK"] = "chat:callback";
|
|
8525
9272
|
EventRuleEventType2["MEMBER_UPDATED"] = "member:updated";
|
|
8526
9273
|
EventRuleEventType2["ROUTINE_TRIGGERED"] = "routine:triggered";
|
|
@@ -8584,6 +9331,20 @@ function eventRuleActionParams(params) {
|
|
|
8584
9331
|
}
|
|
8585
9332
|
var MASKED_SECRET_SENTINEL = "__SECRET_SET__";
|
|
8586
9333
|
|
|
9334
|
+
// src/types/generated/credit_stop_service.ts
|
|
9335
|
+
var SendingNextStep = {
|
|
9336
|
+
add_credits: "add_credits",
|
|
9337
|
+
subscribe: "subscribe",
|
|
9338
|
+
contact_billing_owner: "contact_billing_owner"
|
|
9339
|
+
};
|
|
9340
|
+
var SendingStopState = {
|
|
9341
|
+
ok: "ok",
|
|
9342
|
+
credits_suspended: "credits_suspended",
|
|
9343
|
+
out_of_credits: "out_of_credits",
|
|
9344
|
+
operator_suspension: "operator_suspension",
|
|
9345
|
+
billing_unresolved: "billing_unresolved"
|
|
9346
|
+
};
|
|
9347
|
+
|
|
8587
9348
|
// src/types/billing-types.ts
|
|
8588
9349
|
var WorkspaceFeature = /* @__PURE__ */ ((WorkspaceFeature2) => {
|
|
8589
9350
|
WorkspaceFeature2["PHONE"] = "phone";
|
|
@@ -8599,7 +9360,6 @@ var WorkspaceFeature = /* @__PURE__ */ ((WorkspaceFeature2) => {
|
|
|
8599
9360
|
WorkspaceFeature2["WEB_SEARCH"] = "web_search";
|
|
8600
9361
|
WorkspaceFeature2["CALENDAR"] = "calendar";
|
|
8601
9362
|
WorkspaceFeature2["JOURNEY_V2_EDITOR"] = "journey_v2_editor";
|
|
8602
|
-
WorkspaceFeature2["EXPERIMENTS"] = "experiments";
|
|
8603
9363
|
WorkspaceFeature2["MAILBOX_USER_INPUT"] = "mailbox_user_input";
|
|
8604
9364
|
WorkspaceFeature2["FORKED_TRAJECTORIES"] = "forked_trajectories";
|
|
8605
9365
|
WorkspaceFeature2["GMAIL"] = "gmail";
|
|
@@ -8620,6 +9380,7 @@ var WorkspaceFeature = /* @__PURE__ */ ((WorkspaceFeature2) => {
|
|
|
8620
9380
|
WorkspaceFeature2["IMAGE_GENERATION"] = "image_generation";
|
|
8621
9381
|
WorkspaceFeature2["CHARLESTON_NEPHROLOGY_PMD_PAGING"] = "charleston_nephrology_pmd_paging";
|
|
8622
9382
|
WorkspaceFeature2["PATIENTSYNC_TRANSFER"] = "patientsync_transfer";
|
|
9383
|
+
WorkspaceFeature2["COSAN_PATHWAYS_SCHEDULING"] = "cosan_pathways_scheduling";
|
|
8623
9384
|
return WorkspaceFeature2;
|
|
8624
9385
|
})(WorkspaceFeature || {});
|
|
8625
9386
|
var MemberFeature = /* @__PURE__ */ ((MemberFeature2) => {
|
|
@@ -8724,6 +9485,7 @@ var ModelProvider = {
|
|
|
8724
9485
|
deepgram: "deepgram",
|
|
8725
9486
|
xai: "xai",
|
|
8726
9487
|
fireworks: "fireworks",
|
|
9488
|
+
vercel: "vercel",
|
|
8727
9489
|
custom: "custom"
|
|
8728
9490
|
};
|
|
8729
9491
|
var ModelType = {
|
|
@@ -8775,7 +9537,26 @@ var FhirClientType = /* @__PURE__ */ ((FhirClientType2) => {
|
|
|
8775
9537
|
return FhirClientType2;
|
|
8776
9538
|
})(FhirClientType || {});
|
|
8777
9539
|
|
|
9540
|
+
// src/types/app-connection-types.ts
|
|
9541
|
+
var CrmActivityKind = /* @__PURE__ */ ((CrmActivityKind2) => {
|
|
9542
|
+
CrmActivityKind2["MESSAGE"] = "message";
|
|
9543
|
+
CrmActivityKind2["SUMMARY"] = "summary";
|
|
9544
|
+
CrmActivityKind2["CHAT_STARTED"] = "chat_started";
|
|
9545
|
+
CrmActivityKind2["CALL_STARTED"] = "call_started";
|
|
9546
|
+
CrmActivityKind2["CALL_ENDED"] = "call_ended";
|
|
9547
|
+
return CrmActivityKind2;
|
|
9548
|
+
})(CrmActivityKind || {});
|
|
9549
|
+
|
|
8778
9550
|
// src/types/generated/qualification.ts
|
|
9551
|
+
var RunHealthCategory = {
|
|
9552
|
+
passed: "passed",
|
|
9553
|
+
failed: "failed",
|
|
9554
|
+
running: "running",
|
|
9555
|
+
not_applicable: "not_applicable",
|
|
9556
|
+
awaiting_evaluation: "awaiting_evaluation",
|
|
9557
|
+
ungradeable: "ungradeable",
|
|
9558
|
+
incomplete: "incomplete"
|
|
9559
|
+
};
|
|
8779
9560
|
var TestChatRunLane = {
|
|
8780
9561
|
text: "text",
|
|
8781
9562
|
web_realtime: "web_realtime",
|
|
@@ -8793,6 +9574,44 @@ var TestChatRunOutcome = {
|
|
|
8793
9574
|
instrument_failure: "instrument_failure"
|
|
8794
9575
|
};
|
|
8795
9576
|
|
|
9577
|
+
// src/types/generated/qualification_health_service.ts
|
|
9578
|
+
var ScenarioHealthCaption = {
|
|
9579
|
+
recent_passes: "recent_passes",
|
|
9580
|
+
pass_ratio: "pass_ratio",
|
|
9581
|
+
could_not_grade: "could_not_grade",
|
|
9582
|
+
awaiting_evaluation: "awaiting_evaluation",
|
|
9583
|
+
running: "running",
|
|
9584
|
+
not_run_since_test_change: "not_run_since_test_change",
|
|
9585
|
+
not_run_on_revision: "not_run_on_revision",
|
|
9586
|
+
never_run: "never_run"
|
|
9587
|
+
};
|
|
9588
|
+
var ScenarioHealthHeadline = {
|
|
9589
|
+
needs_attention: "needs_attention",
|
|
9590
|
+
no_results: "no_results",
|
|
9591
|
+
all_passing: "all_passing",
|
|
9592
|
+
no_scenarios: "no_scenarios"
|
|
9593
|
+
};
|
|
9594
|
+
var ScenarioHealthSampleNote = {
|
|
9595
|
+
low_sample: "low_sample"
|
|
9596
|
+
};
|
|
9597
|
+
var ScenarioHealthState = {
|
|
9598
|
+
failing: "failing",
|
|
9599
|
+
flaky: "flaky",
|
|
9600
|
+
no_results: "no_results",
|
|
9601
|
+
passing: "passing"
|
|
9602
|
+
};
|
|
9603
|
+
|
|
9604
|
+
// src/types/generated/qualification_health_summary.ts
|
|
9605
|
+
var RevisionHistorySegment = {
|
|
9606
|
+
before_test_change: "before_test_change"
|
|
9607
|
+
};
|
|
9608
|
+
|
|
9609
|
+
// src/types/generated/qualification_run_identity.ts
|
|
9610
|
+
var ScenarioRunBlocker = {
|
|
9611
|
+
missing_persona: "missing_persona",
|
|
9612
|
+
archived_persona: "archived_persona"
|
|
9613
|
+
};
|
|
9614
|
+
|
|
8796
9615
|
// src/types/qualification-types.ts
|
|
8797
9616
|
var CriterionType = /* @__PURE__ */ ((CriterionType2) => {
|
|
8798
9617
|
CriterionType2["EXPRESSION"] = "expression";
|
|
@@ -9087,8 +9906,6 @@ var CONFIG_HEALTH_FACADE_CHECK_SLUGS = [
|
|
|
9087
9906
|
"workflow.config",
|
|
9088
9907
|
"journey.authoring",
|
|
9089
9908
|
"journey.v2_validation",
|
|
9090
|
-
"workflow.access",
|
|
9091
|
-
"routine.workflow_access",
|
|
9092
9909
|
"workspace.validation"
|
|
9093
9910
|
];
|
|
9094
9911
|
function isConfigHealthFacadeCheckSlug(value) {
|
|
@@ -9780,17 +10597,17 @@ var WorkspacesApi = class extends BaseApiClient {
|
|
|
9780
10597
|
body: JSON.stringify(payload)
|
|
9781
10598
|
});
|
|
9782
10599
|
}
|
|
9783
|
-
/**
|
|
10600
|
+
/**
|
|
10601
|
+
* List available themes for a workspace.
|
|
10602
|
+
*
|
|
10603
|
+
* Read-only: `…/themes` serves GET and nothing else. `Workspace.themes` is
|
|
10604
|
+
* an entitlement allowlist — which non-global themes this workspace may
|
|
10605
|
+
* select. There was never a `PUT …/themes` route; the
|
|
10606
|
+
* `updateWorkspaceThemes` method that targeted one always 405'd (GRA-8892).
|
|
10607
|
+
*/
|
|
9784
10608
|
async getWorkspaceThemes(wid) {
|
|
9785
10609
|
return this.fetch(`w/${wid}/themes`);
|
|
9786
10610
|
}
|
|
9787
|
-
/** Update the active themes for a workspace. */
|
|
9788
|
-
async updateWorkspaceThemes(wid, themes) {
|
|
9789
|
-
return this.fetch(`w/${wid}/themes`, {
|
|
9790
|
-
method: "PUT",
|
|
9791
|
-
body: JSON.stringify({ themes })
|
|
9792
|
-
});
|
|
9793
|
-
}
|
|
9794
10611
|
/**
|
|
9795
10612
|
* Get all workspace-grantable scopes that can be assigned to member roles.
|
|
9796
10613
|
*
|
|
@@ -9856,10 +10673,18 @@ var DashboardsApi = class extends BaseApiClient {
|
|
|
9856
10673
|
`w/${wid}/dashboards/stats/channels${query ? `?${query}` : ""}`
|
|
9857
10674
|
);
|
|
9858
10675
|
}
|
|
9859
|
-
/**
|
|
9860
|
-
|
|
10676
|
+
/**
|
|
10677
|
+
* Assignment status rollup per root workflow.
|
|
10678
|
+
*
|
|
10679
|
+
* `hours` windows the rollup to runs STARTED within the last N hours.
|
|
10680
|
+
* Omit it (or pass null) for the all-time rollup.
|
|
10681
|
+
*/
|
|
10682
|
+
async getDashboardWorkflowAssignmentStats(wid, options) {
|
|
10683
|
+
const params = new URLSearchParams();
|
|
10684
|
+
if (options?.hours != null) params.append("hours", options.hours.toString());
|
|
10685
|
+
const query = params.toString();
|
|
9861
10686
|
return this.fetch(
|
|
9862
|
-
`w/${wid}/dashboards/stats/workflow-assignments`
|
|
10687
|
+
`w/${wid}/dashboards/stats/workflow-assignments${query ? `?${query}` : ""}`
|
|
9863
10688
|
);
|
|
9864
10689
|
}
|
|
9865
10690
|
/**
|
|
@@ -10675,6 +11500,8 @@ function createApiModules(apiKey, baseUrl, customFetch) {
|
|
|
10675
11500
|
assignments: new AssignmentsApi(apiKey, baseUrl, customFetch),
|
|
10676
11501
|
auth: new AuthApi(apiKey, baseUrl, customFetch),
|
|
10677
11502
|
builders: new BuildersApi(apiKey, baseUrl, customFetch),
|
|
11503
|
+
bundles: new BundlesApi(apiKey, baseUrl, customFetch),
|
|
11504
|
+
installations: new InstallationsApi(apiKey, baseUrl, customFetch),
|
|
10678
11505
|
calendars: new CalendarsApi(apiKey, baseUrl, customFetch),
|
|
10679
11506
|
calls: new CallsApi(apiKey, baseUrl, customFetch),
|
|
10680
11507
|
cel: new CELApi(apiKey, baseUrl, customFetch),
|
|
@@ -10723,6 +11550,8 @@ function createApiModules(apiKey, baseUrl, customFetch) {
|
|
|
10723
11550
|
metrics: new MetricsApi(apiKey, baseUrl, customFetch),
|
|
10724
11551
|
queries: new QueriesApi(apiKey, baseUrl, customFetch),
|
|
10725
11552
|
reports: new ReportsApi(apiKey, baseUrl, customFetch),
|
|
11553
|
+
resourceWorkflows: new ResourceWorkflowsApi(apiKey, baseUrl, customFetch),
|
|
11554
|
+
routingRules: new RoutingRulesApi(apiKey, baseUrl, customFetch),
|
|
10726
11555
|
salesforce: new SalesforceApi(apiKey, baseUrl, customFetch),
|
|
10727
11556
|
sites: new SitesApi(apiKey, baseUrl, customFetch),
|
|
10728
11557
|
subscriptions: new SubscriptionsApi(apiKey, baseUrl, customFetch),
|
|
@@ -10752,6 +11581,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
10752
11581
|
"archiveDataType",
|
|
10753
11582
|
"archiveJourney",
|
|
10754
11583
|
"archiveMember",
|
|
11584
|
+
"archiveMemberByExternalId",
|
|
10755
11585
|
"archiveMemberRelationship",
|
|
10756
11586
|
"archivePersona",
|
|
10757
11587
|
"archivePhoneNumber",
|
|
@@ -10778,7 +11608,6 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
10778
11608
|
"checkSiteSlugAvailability",
|
|
10779
11609
|
"claimDevicePairing",
|
|
10780
11610
|
"clearConnectionMemberExclusion",
|
|
10781
|
-
"clearMemberSwitch",
|
|
10782
11611
|
"clearTrackedLinkDestinations",
|
|
10783
11612
|
"clickWorkspaceSupportRequestResource",
|
|
10784
11613
|
"cloneDataType",
|
|
@@ -10801,6 +11630,9 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
10801
11630
|
"createAgent",
|
|
10802
11631
|
"createApiKey",
|
|
10803
11632
|
"createAssignment",
|
|
11633
|
+
"bindInstallationSlots",
|
|
11634
|
+
"restoreInstallationForm",
|
|
11635
|
+
"createBundle",
|
|
10804
11636
|
"createCalendar",
|
|
10805
11637
|
"createCalendarEvent",
|
|
10806
11638
|
"createCalendarEventType",
|
|
@@ -10849,6 +11681,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
10849
11681
|
"createPhoneNumber",
|
|
10850
11682
|
"createProduct",
|
|
10851
11683
|
"createRoutine",
|
|
11684
|
+
"createRoutingRule",
|
|
10852
11685
|
"createScenario",
|
|
10853
11686
|
"createSignup",
|
|
10854
11687
|
"createSite",
|
|
@@ -10899,6 +11732,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
10899
11732
|
"deleteGoal",
|
|
10900
11733
|
"deleteHubspot",
|
|
10901
11734
|
"deleteInbox",
|
|
11735
|
+
"deleteJourneyDraft",
|
|
10902
11736
|
"deleteJourneyNote",
|
|
10903
11737
|
"deleteMcpServer",
|
|
10904
11738
|
"deleteMember",
|
|
@@ -10916,6 +11750,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
10916
11750
|
"deletePlatformApp",
|
|
10917
11751
|
"deleteProduct",
|
|
10918
11752
|
"deleteRoutine",
|
|
11753
|
+
"deleteRoutingRule",
|
|
10919
11754
|
"deleteSalesforce",
|
|
10920
11755
|
"deleteScenario",
|
|
10921
11756
|
"deleteSite",
|
|
@@ -10948,6 +11783,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
10948
11783
|
"dismissAllNotifications",
|
|
10949
11784
|
"dismissNotification",
|
|
10950
11785
|
"downloadEmailAttachment",
|
|
11786
|
+
"downloadFileContents",
|
|
10951
11787
|
"downloadFilesZip",
|
|
10952
11788
|
"downloadSiteSourceZip",
|
|
10953
11789
|
"editWorkflowRevisionAsDraft",
|
|
@@ -11010,6 +11846,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
11010
11846
|
"getAgentTasks",
|
|
11011
11847
|
"getAgents",
|
|
11012
11848
|
"getAnonymousResolution",
|
|
11849
|
+
"getAnonymousFormSubmission",
|
|
11013
11850
|
"getAnonymousResolutions",
|
|
11014
11851
|
"getApiKeys",
|
|
11015
11852
|
"getArchiveBlockers",
|
|
@@ -11023,6 +11860,12 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
11023
11860
|
"getAvailableActions",
|
|
11024
11861
|
"getAvailablePhoneNumbers",
|
|
11025
11862
|
"getAvailableSlots",
|
|
11863
|
+
"getInstallation",
|
|
11864
|
+
"getInstallationReadiness",
|
|
11865
|
+
"getThemeSettingsSchema",
|
|
11866
|
+
"getBundleDraft",
|
|
11867
|
+
"getBundle",
|
|
11868
|
+
"getBundleVersion",
|
|
11026
11869
|
"getBusinessHoursStatus",
|
|
11027
11870
|
"getCalendar",
|
|
11028
11871
|
"getCalendarEvent",
|
|
@@ -11035,8 +11878,11 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
11035
11878
|
"getCelContext",
|
|
11036
11879
|
"getCharlestonTestDeliveryRecipients",
|
|
11037
11880
|
"getChat",
|
|
11881
|
+
"getChatByUuid",
|
|
11038
11882
|
"getChatAssignmentTasks",
|
|
11039
11883
|
"getChatBrowserLiveView",
|
|
11884
|
+
"saveChatBrowserStorage",
|
|
11885
|
+
"clearChatBrowserStorage",
|
|
11040
11886
|
"getChatCallbacks",
|
|
11041
11887
|
"getChatEhrWritebackOutcomes",
|
|
11042
11888
|
"getChatEmails",
|
|
@@ -11082,6 +11928,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
11082
11928
|
"getDashboardWorkflowAssignmentStats",
|
|
11083
11929
|
"getDashboards",
|
|
11084
11930
|
"getDataRecord",
|
|
11931
|
+
"getDataRecordByUuid",
|
|
11085
11932
|
"getDataRecordChanges",
|
|
11086
11933
|
"getDataRecordFilter",
|
|
11087
11934
|
"getDataRecordFilterCount",
|
|
@@ -11199,6 +12046,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
11199
12046
|
"getMcpServerResources",
|
|
11200
12047
|
"getMcpServerTools",
|
|
11201
12048
|
"getMcpServers",
|
|
12049
|
+
"getMemberByUuid",
|
|
11202
12050
|
"getMemberExperiments",
|
|
11203
12051
|
"getMemberFieldDefinitions",
|
|
11204
12052
|
"getMemberFields",
|
|
@@ -11230,6 +12078,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
11230
12078
|
"getMondayConnectionStatus",
|
|
11231
12079
|
"getMondayReconciliationMatches",
|
|
11232
12080
|
"getMondaySyncConfig",
|
|
12081
|
+
"getMondaySyncLogs",
|
|
11233
12082
|
"getMyCredentials",
|
|
11234
12083
|
"getMyGivenGrants",
|
|
11235
12084
|
"getMyReceivedGrants",
|
|
@@ -11240,7 +12089,6 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
11240
12089
|
"getOperatorGroup",
|
|
11241
12090
|
"getOperatorGroups",
|
|
11242
12091
|
"getOrCreateQualificationForWorkflow",
|
|
11243
|
-
"getOwnedMembers",
|
|
11244
12092
|
"getPage",
|
|
11245
12093
|
"getPageBySlug",
|
|
11246
12094
|
"getPersona",
|
|
@@ -11270,11 +12118,14 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
11270
12118
|
"getRoutineConfigEvents",
|
|
11271
12119
|
"getRoutineRuns",
|
|
11272
12120
|
"getRoutines",
|
|
12121
|
+
"getRoutingRule",
|
|
12122
|
+
"getRoutingRules",
|
|
11273
12123
|
"getRuleExecutions",
|
|
11274
12124
|
"getSMSUsageReport",
|
|
11275
12125
|
"getSalesforceReconciliationMatches",
|
|
11276
12126
|
"getSalesforceStatus",
|
|
11277
12127
|
"getSalesforceSyncConfig",
|
|
12128
|
+
"getSalesforceSyncLogs",
|
|
11278
12129
|
"getScenario",
|
|
11279
12130
|
"getSite",
|
|
11280
12131
|
"getSiteByUuid",
|
|
@@ -11320,7 +12171,6 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
11320
12171
|
"getWebhookLogs",
|
|
11321
12172
|
"getWorkflow",
|
|
11322
12173
|
"getWorkflowOpeningTurnConversionReport",
|
|
11323
|
-
"getWorkflowAccessValidation",
|
|
11324
12174
|
"getWorkflowActivity",
|
|
11325
12175
|
"getWorkflowConfigValidation",
|
|
11326
12176
|
"getWorkflowFeedback",
|
|
@@ -11328,11 +12178,11 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
11328
12178
|
"getWorkflowDeletionPreview",
|
|
11329
12179
|
"getWorkflowDiagram",
|
|
11330
12180
|
"getWorkflowNotes",
|
|
12181
|
+
"getWorkflowOutline",
|
|
11331
12182
|
"getWorkflowRevision",
|
|
11332
12183
|
"getWorkflowRevisions",
|
|
11333
12184
|
"getWorkflowTaskAssignmentStats",
|
|
11334
12185
|
"getWorkflowTemplates",
|
|
11335
|
-
"getWorkflowThumbnailUrl",
|
|
11336
12186
|
"getWorkflows",
|
|
11337
12187
|
"getWorkflowsActivityBatch",
|
|
11338
12188
|
"getWorkspace",
|
|
@@ -11351,6 +12201,8 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
11351
12201
|
"getWorkspaceSubscriptions",
|
|
11352
12202
|
"getWorkspaceSupportRequest",
|
|
11353
12203
|
"getWorkspaceThemes",
|
|
12204
|
+
"installBundle",
|
|
12205
|
+
"grantBundle",
|
|
11354
12206
|
"importFromBoard",
|
|
11355
12207
|
"importHubspotMembers",
|
|
11356
12208
|
"importMembers",
|
|
@@ -11373,13 +12225,23 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
11373
12225
|
"linkMemberToMonday",
|
|
11374
12226
|
"linkMemberToSalesforce",
|
|
11375
12227
|
"linkPhoneNumber",
|
|
12228
|
+
"linkUnlinkedSalesforceMembersByIdentity",
|
|
11376
12229
|
"listAbilities",
|
|
12230
|
+
"listAnonymousFormSubmissions",
|
|
11377
12231
|
"listAppConnections",
|
|
11378
12232
|
"listAvailableAppConnections",
|
|
12233
|
+
"listInstallations",
|
|
12234
|
+
"listBundleGrants",
|
|
12235
|
+
"listBundleVersions",
|
|
12236
|
+
"listBundles",
|
|
12237
|
+
"listBundleWorkflowCandidates",
|
|
12238
|
+
"updateBundle",
|
|
12239
|
+
"listBundleInstallations",
|
|
11379
12240
|
"listConfluencePages",
|
|
11380
12241
|
"listConfluenceSpaces",
|
|
11381
12242
|
"listConnectionMemberFieldKeys",
|
|
11382
12243
|
"listContactPermissions",
|
|
12244
|
+
"revokeBundleGrant",
|
|
11383
12245
|
"rollbackSiteSource",
|
|
11384
12246
|
"rotateDocumoFaxCredentials",
|
|
11385
12247
|
"runQuery",
|
|
@@ -11400,7 +12262,11 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
11400
12262
|
"getMetricSeries",
|
|
11401
12263
|
"computeChatMetrics",
|
|
11402
12264
|
"listPushSubscriptions",
|
|
12265
|
+
"listResourceWorkflows",
|
|
12266
|
+
"getResourceWorkflow",
|
|
12267
|
+
"getResourceWorkflowRevision",
|
|
11403
12268
|
"listSalesforceObjects",
|
|
12269
|
+
"listScenarioHealthSummaries",
|
|
11404
12270
|
"listScenarios",
|
|
11405
12271
|
"listTestChatRuns",
|
|
11406
12272
|
"listWidgetDomains",
|
|
@@ -11416,15 +12282,18 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
11416
12282
|
"previewRenameFieldSlug",
|
|
11417
12283
|
"previewImportWorkspace",
|
|
11418
12284
|
"previewInboxEmail",
|
|
12285
|
+
"preflightBundleInstallation",
|
|
11419
12286
|
"previewRoutineVoiceReadiness",
|
|
11420
|
-
"previewRoutineWorkflowAccess",
|
|
11421
12287
|
"previewSchedule",
|
|
12288
|
+
"previewRoutingRule",
|
|
11422
12289
|
"previewTTS",
|
|
11423
12290
|
"previewTemplate",
|
|
11424
12291
|
"previewThinkingSound",
|
|
11425
12292
|
"previewWorkspaceImport",
|
|
11426
12293
|
"previewWorkspaceImportZip",
|
|
11427
12294
|
"provisionClientWorkspace",
|
|
12295
|
+
"previewInstallationUpgrade",
|
|
12296
|
+
"publishBundle",
|
|
11428
12297
|
"publishWorkflowRevision",
|
|
11429
12298
|
"putJourneyDraft",
|
|
11430
12299
|
"putJourneyV2Definition",
|
|
@@ -11436,11 +12305,16 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
11436
12305
|
"registerPushSubscription",
|
|
11437
12306
|
"reindexFolder",
|
|
11438
12307
|
"releasePhoneNumber",
|
|
12308
|
+
"reorderRoutingRules",
|
|
11439
12309
|
"removeFileRole",
|
|
11440
12310
|
"removeFolderRole",
|
|
11441
12311
|
"removeGroupMember",
|
|
11442
12312
|
"reorderEventRules",
|
|
11443
12313
|
"reorderMenuItems",
|
|
12314
|
+
"reconcileInstallation",
|
|
12315
|
+
"setInstallationPolicy",
|
|
12316
|
+
"upgradeInstallation",
|
|
12317
|
+
"replaceBundleDraft",
|
|
11444
12318
|
"replyToEmail",
|
|
11445
12319
|
"rotateDocumoFaxCredentials",
|
|
11446
12320
|
"requestPhoneNumber",
|
|
@@ -11476,7 +12350,6 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
11476
12350
|
"startSyncRun",
|
|
11477
12351
|
"startTestChatRun",
|
|
11478
12352
|
"summarizeChat",
|
|
11479
|
-
"switchMember",
|
|
11480
12353
|
"syncCalendarWithGoogle",
|
|
11481
12354
|
"syncCalendarWithHealthie",
|
|
11482
12355
|
"testFhirConnection",
|
|
@@ -11489,6 +12362,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
11489
12362
|
"unarchiveChat",
|
|
11490
12363
|
"unarchiveDataType",
|
|
11491
12364
|
"unarchiveMember",
|
|
12365
|
+
"unarchiveMemberByExternalId",
|
|
11492
12366
|
"unarchivePersona",
|
|
11493
12367
|
"unarchiveStep",
|
|
11494
12368
|
"unarchiveTask",
|
|
@@ -11546,6 +12420,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
11546
12420
|
"updateJourneyNote",
|
|
11547
12421
|
"updateMcpServer",
|
|
11548
12422
|
"updateMember",
|
|
12423
|
+
"updateMemberByExternalId",
|
|
11549
12424
|
"updateMemberField",
|
|
11550
12425
|
"updateMemberFilter",
|
|
11551
12426
|
"updateMemberLabel",
|
|
@@ -11562,6 +12437,7 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
11562
12437
|
"updateProduct",
|
|
11563
12438
|
"updateProject",
|
|
11564
12439
|
"updateRoutine",
|
|
12440
|
+
"updateRoutingRule",
|
|
11565
12441
|
"updateSalesforceSyncConfig",
|
|
11566
12442
|
"resyncSalesforceLinkedMembers",
|
|
11567
12443
|
"updateScenario",
|
|
@@ -11584,7 +12460,6 @@ var WORKSPACE_METHOD_NAMES = [
|
|
|
11584
12460
|
"updateWorkspace",
|
|
11585
12461
|
"updateWorkspaceDefaults",
|
|
11586
12462
|
"updateWorkspaceInvitationAdmin",
|
|
11587
|
-
"updateWorkspaceThemes",
|
|
11588
12463
|
"upsertDataRecord",
|
|
11589
12464
|
"upsertWidgetDomain",
|
|
11590
12465
|
"validateCelExpression",
|
|
@@ -11675,6 +12550,9 @@ function bindChatsMethods(target, chats) {
|
|
|
11675
12550
|
target.transitionChatInteractionSession = chats.transitionChatInteractionSession.bind(chats);
|
|
11676
12551
|
target.getChats = chats.getChats.bind(chats);
|
|
11677
12552
|
target.getChat = chats.getChat.bind(chats);
|
|
12553
|
+
target.getChatByUuid = chats.getChatByUuid.bind(chats);
|
|
12554
|
+
target.saveChatBrowserStorage = chats.saveChatBrowserStorage.bind(chats);
|
|
12555
|
+
target.clearChatBrowserStorage = chats.clearChatBrowserStorage.bind(chats);
|
|
11678
12556
|
target.getChatBrowserLiveView = chats.getChatBrowserLiveView.bind(chats);
|
|
11679
12557
|
target.getChatMachineResources = chats.getChatMachineResources.bind(chats);
|
|
11680
12558
|
target.getCurrentSmsChat = chats.getCurrentSmsChat.bind(chats);
|
|
@@ -11811,7 +12689,10 @@ function bindDataTypesMethods(target, dataTypes) {
|
|
|
11811
12689
|
target.unarchiveDataType = dataTypes.unarchiveDataType.bind(dataTypes);
|
|
11812
12690
|
target.cloneDataType = dataTypes.cloneDataType.bind(dataTypes);
|
|
11813
12691
|
target.getDataRecords = dataTypes.getDataRecords.bind(dataTypes);
|
|
12692
|
+
target.listAnonymousFormSubmissions = dataTypes.listAnonymousFormSubmissions.bind(dataTypes);
|
|
12693
|
+
target.getAnonymousFormSubmission = dataTypes.getAnonymousFormSubmission.bind(dataTypes);
|
|
11814
12694
|
target.getDataRecord = dataTypes.getDataRecord.bind(dataTypes);
|
|
12695
|
+
target.getDataRecordByUuid = dataTypes.getDataRecordByUuid.bind(dataTypes);
|
|
11815
12696
|
target.createDataRecord = dataTypes.createDataRecord.bind(dataTypes);
|
|
11816
12697
|
target.updateDataRecord = dataTypes.updateDataRecord.bind(dataTypes);
|
|
11817
12698
|
target.deleteDataRecord = dataTypes.deleteDataRecord.bind(dataTypes);
|
|
@@ -11850,18 +12731,19 @@ function bindMembersMethods(target, members) {
|
|
|
11850
12731
|
target.previewMemberWorkflowVoice = members.previewMemberWorkflowVoice.bind(members);
|
|
11851
12732
|
target.setMemberWorkflowVoice = members.setMemberWorkflowVoice.bind(members);
|
|
11852
12733
|
target.clearMemberWorkflowVoice = members.clearMemberWorkflowVoice.bind(members);
|
|
11853
|
-
target.getOwnedMembers = members.getOwnedMembers.bind(members);
|
|
11854
|
-
target.switchMember = members.switchMember.bind(members);
|
|
11855
|
-
target.clearMemberSwitch = members.clearMemberSwitch.bind(members);
|
|
11856
12734
|
target.updateCurrentMember = members.updateCurrentMember.bind(members);
|
|
11857
12735
|
target.getWorkspaceMembers = members.getWorkspaceMembers.bind(members);
|
|
11858
12736
|
target.getWorkspaceMember = members.getWorkspaceMember.bind(members);
|
|
12737
|
+
target.getMemberByUuid = members.getMemberByUuid.bind(members);
|
|
11859
12738
|
target.getOrgWorkspaceMember = members.getOrgWorkspaceMember.bind(members);
|
|
11860
12739
|
target.createWorkspaceMember = members.createWorkspaceMember.bind(members);
|
|
11861
12740
|
target.updateMember = members.updateMember.bind(members);
|
|
11862
12741
|
target.deleteMember = members.deleteMember.bind(members);
|
|
11863
12742
|
target.archiveMember = members.archiveMember.bind(members);
|
|
11864
12743
|
target.unarchiveMember = members.unarchiveMember.bind(members);
|
|
12744
|
+
target.updateMemberByExternalId = members.updateMemberByExternalId.bind(members);
|
|
12745
|
+
target.archiveMemberByExternalId = members.archiveMemberByExternalId.bind(members);
|
|
12746
|
+
target.unarchiveMemberByExternalId = members.unarchiveMemberByExternalId.bind(members);
|
|
11865
12747
|
target.sendMemberPhoneConfirmation = members.sendMemberPhoneConfirmation.bind(members);
|
|
11866
12748
|
target.bulkCreateMembers = members.bulkCreateMembers.bind(members);
|
|
11867
12749
|
target.previewImportMembers = members.previewImportMembers.bind(members);
|
|
@@ -11963,7 +12845,6 @@ function bindWorkspacesMethods(target, workspaces, signupRequests) {
|
|
|
11963
12845
|
target.rebuildImportSkippedRules = workspaces.rebuildImportSkippedRules.bind(workspaces);
|
|
11964
12846
|
target.previewImportWorkspace = workspaces.previewImportWorkspace.bind(workspaces);
|
|
11965
12847
|
target.getWorkspaceThemes = workspaces.getWorkspaceThemes.bind(workspaces);
|
|
11966
|
-
target.updateWorkspaceThemes = workspaces.updateWorkspaceThemes.bind(workspaces);
|
|
11967
12848
|
target.getWorkspaceBySlug = workspaces.getWorkspace.bind(workspaces);
|
|
11968
12849
|
target.getWorkspaceScopes = workspaces.getWorkspaceScopes.bind(workspaces);
|
|
11969
12850
|
target.getUsageDashboard = workspaces.getUsageDashboard.bind(workspaces);
|
|
@@ -12012,6 +12893,7 @@ function bindAuthMethods(target, auth, assignments) {
|
|
|
12012
12893
|
target.logout = auth.logout.bind(auth);
|
|
12013
12894
|
target.requestCrossDomainToken = auth.requestCrossDomainToken.bind(auth);
|
|
12014
12895
|
target.exchangeToken = auth.exchangeToken.bind(auth);
|
|
12896
|
+
target.createRealtimeLoginToken = auth.createRealtimeLoginToken.bind(auth);
|
|
12015
12897
|
target.getDomainMapping = auth.getDomainMapping.bind(auth);
|
|
12016
12898
|
target.createSignup = auth.createSignup.bind(auth);
|
|
12017
12899
|
target.createAccount = auth.emailPasswordSignup.bind(auth);
|
|
@@ -12101,6 +12983,7 @@ function bindSitesMethods(target, sites) {
|
|
|
12101
12983
|
function bindFilesMethods(target, files) {
|
|
12102
12984
|
target.getFiles = files.getFiles.bind(files);
|
|
12103
12985
|
target.getFile = files.getFile.bind(files);
|
|
12986
|
+
target.downloadFileContents = files.downloadFileContents.bind(files);
|
|
12104
12987
|
target.downloadFilesZip = files.downloadFilesZip.bind(files);
|
|
12105
12988
|
target.createFile = files.createFile.bind(files);
|
|
12106
12989
|
target.uploadFile = files.uploadFile.bind(files);
|
|
@@ -12173,7 +13056,6 @@ function bindEventsMethods(target, events) {
|
|
|
12173
13056
|
target.resetRoutineRuns = events.resetRoutineRuns.bind(events);
|
|
12174
13057
|
target.previewSchedule = events.previewSchedule.bind(events);
|
|
12175
13058
|
target.previewRoutineVoiceReadiness = events.previewRoutineVoiceReadiness.bind(events);
|
|
12176
|
-
target.previewRoutineWorkflowAccess = events.previewRoutineWorkflowAccess.bind(events);
|
|
12177
13059
|
}
|
|
12178
13060
|
|
|
12179
13061
|
// src/client/bindings/experiments.ts
|
|
@@ -12202,7 +13084,7 @@ function bindWorkflowsMethods(target, workflows, workflowNotes, voice, superviso
|
|
|
12202
13084
|
target.getWorkflowActivity = workflows.getWorkflowActivity.bind(workflows);
|
|
12203
13085
|
target.getWorkflowsActivityBatch = workflows.getWorkflowsActivityBatch.bind(workflows);
|
|
12204
13086
|
target.getWorkflowDiagram = workflows.getWorkflowDiagram.bind(workflows);
|
|
12205
|
-
target.
|
|
13087
|
+
target.getWorkflowOutline = workflows.getWorkflowOutline.bind(workflows);
|
|
12206
13088
|
target.createWorkflow = workflows.createWorkflow.bind(workflows);
|
|
12207
13089
|
target.updateWorkflow = workflows.updateWorkflow.bind(workflows);
|
|
12208
13090
|
target.getWorkflowDeletionPreview = workflows.getWorkflowDeletionPreview.bind(workflows);
|
|
@@ -12214,7 +13096,6 @@ function bindWorkflowsMethods(target, workflows, workflowNotes, voice, superviso
|
|
|
12214
13096
|
target.createWorkflowFromTemplate = workflows.createWorkflowFromTemplate.bind(workflows);
|
|
12215
13097
|
target.getWorkflowTaskAssignmentStats = workflows.getWorkflowTaskAssignmentStats.bind(workflows);
|
|
12216
13098
|
target.getTaskChats = workflows.getTaskChats.bind(workflows);
|
|
12217
|
-
target.getWorkflowAccessValidation = workflows.getWorkflowAccessValidation.bind(workflows);
|
|
12218
13099
|
target.getWorkflowConfigValidation = workflows.getWorkflowConfigValidation.bind(workflows);
|
|
12219
13100
|
target.getWorkflowNotes = workflowNotes.getWorkflowNotes.bind(workflowNotes);
|
|
12220
13101
|
target.createWorkflowNote = workflowNotes.createWorkflowNote.bind(workflowNotes);
|
|
@@ -12335,6 +13216,7 @@ function bindToolkitsMethods(target, toolkits, templates, aiModels, customToolki
|
|
|
12335
13216
|
target.previewTemplate = templates.previewTemplate.bind(templates);
|
|
12336
13217
|
target.getVariableRegistry = templates.getVariableRegistry.bind(templates);
|
|
12337
13218
|
target.getChatModels = aiModels.getChatModels.bind(aiModels);
|
|
13219
|
+
target.getManagerModels = aiModels.getManagerModels.bind(aiModels);
|
|
12338
13220
|
target.getRealtimeModels = aiModels.getRealtimeModels.bind(aiModels);
|
|
12339
13221
|
target.getSTTModels = aiModels.getSTTModels.bind(aiModels);
|
|
12340
13222
|
target.getTTSModels = aiModels.getTTSModels.bind(aiModels);
|
|
@@ -12448,6 +13330,7 @@ function bindIntegrationsMethods(target, mondayIntegration, discordBots, slackAp
|
|
|
12448
13330
|
target.getMondayConnectionBoardColumns = mondayIntegration.getMondayConnectionBoardColumns.bind(mondayIntegration);
|
|
12449
13331
|
target.getMondayConnectionBoardGroups = mondayIntegration.getMondayConnectionBoardGroups.bind(mondayIntegration);
|
|
12450
13332
|
target.getMondaySyncConfig = mondayIntegration.getMondaySyncConfig.bind(mondayIntegration);
|
|
13333
|
+
target.getMondaySyncLogs = mondayIntegration.getMondaySyncLogs.bind(mondayIntegration);
|
|
12451
13334
|
target.updateMondaySyncConfig = mondayIntegration.updateMondaySyncConfig.bind(mondayIntegration);
|
|
12452
13335
|
target.getLinkedMondayMembers = mondayIntegration.getLinkedMondayMembers.bind(mondayIntegration);
|
|
12453
13336
|
target.getMondayReconciliationMatches = mondayIntegration.getMondayReconciliationMatches.bind(mondayIntegration);
|
|
@@ -12562,10 +13445,12 @@ function bindIntegrationsMethods(target, mondayIntegration, discordBots, slackAp
|
|
|
12562
13445
|
target.deleteSalesforce = salesforce.deleteSalesforce.bind(salesforce);
|
|
12563
13446
|
target.getSalesforceReconciliationMatches = salesforce.getSalesforceReconciliationMatches.bind(salesforce);
|
|
12564
13447
|
target.linkMemberToSalesforce = salesforce.linkMemberToSalesforce.bind(salesforce);
|
|
13448
|
+
target.linkUnlinkedSalesforceMembersByIdentity = salesforce.linkUnlinkedSalesforceMembersByIdentity.bind(salesforce);
|
|
12565
13449
|
target.bulkLinkMembersToSalesforce = salesforce.bulkLinkMembersToSalesforce.bind(salesforce);
|
|
12566
13450
|
target.unlinkMemberFromSalesforce = salesforce.unlinkMemberFromSalesforce.bind(salesforce);
|
|
12567
13451
|
target.getLinkedSalesforceMembers = salesforce.getLinkedSalesforceMembers.bind(salesforce);
|
|
12568
13452
|
target.getSalesforceSyncConfig = salesforce.getSalesforceSyncConfig.bind(salesforce);
|
|
13453
|
+
target.getSalesforceSyncLogs = salesforce.getSalesforceSyncLogs.bind(salesforce);
|
|
12569
13454
|
target.updateSalesforceSyncConfig = salesforce.updateSalesforceSyncConfig.bind(salesforce);
|
|
12570
13455
|
target.resyncSalesforceLinkedMembers = salesforce.resyncSalesforceLinkedMembers.bind(salesforce);
|
|
12571
13456
|
target.listSalesforceObjects = salesforce.listSalesforceObjects.bind(salesforce);
|
|
@@ -12655,10 +13540,15 @@ function bindOrgMethods(target, org) {
|
|
|
12655
13540
|
target.getVoiceTrustProducts = org.getVoiceTrustProducts.bind(org);
|
|
12656
13541
|
target.syncVoiceTrustProducts = org.syncVoiceTrustProducts.bind(org);
|
|
12657
13542
|
target.createOrganizationWorkspace = org.createOrganizationWorkspace.bind(org);
|
|
13543
|
+
target.getOrganizationWorkspace = org.getOrganizationWorkspace.bind(org);
|
|
13544
|
+
target.updateOrganizationWorkspace = org.updateOrganizationWorkspace.bind(org);
|
|
12658
13545
|
target.getOrgBillingCustomer = org.getOrgBillingCustomer.bind(org);
|
|
12659
13546
|
target.getA2PCampaignConfig = org.getA2PCampaignConfig.bind(org);
|
|
12660
13547
|
target.updateA2PCampaignConfig = org.updateA2PCampaignConfig.bind(org);
|
|
12661
13548
|
target.getOrgWorkspaceUsage = org.getOrgWorkspaceUsage.bind(org);
|
|
13549
|
+
target.updateOrganizationMember = org.updateOrganizationMember.bind(org);
|
|
13550
|
+
target.listOrgWebhookEndpoints = org.listOrgWebhookEndpoints.bind(org);
|
|
13551
|
+
target.getOrgWebhookEndpoint = org.getOrgWebhookEndpoint.bind(org);
|
|
12662
13552
|
}
|
|
12663
13553
|
|
|
12664
13554
|
// src/client/bindings/pronunciations.ts
|
|
@@ -12678,12 +13568,59 @@ function bindPronunciationsMethods(target, pronunciations) {
|
|
|
12678
13568
|
target.previewPronunciation = pronunciations.previewPronunciation.bind(pronunciations);
|
|
12679
13569
|
}
|
|
12680
13570
|
|
|
13571
|
+
// src/client/bindings/resource-workflows.ts
|
|
13572
|
+
function bindResourceWorkflowsMethods(target, resourceWorkflows) {
|
|
13573
|
+
target.getResourceWorkflow = resourceWorkflows.getResourceWorkflow.bind(resourceWorkflows);
|
|
13574
|
+
target.getResourceWorkflowRevision = resourceWorkflows.getResourceWorkflowRevision.bind(resourceWorkflows);
|
|
13575
|
+
}
|
|
13576
|
+
|
|
13577
|
+
// src/client/bindings/bundles.ts
|
|
13578
|
+
function bindBundlesMethods(target, bundles, resourceWorkflows) {
|
|
13579
|
+
bindResourceWorkflowsMethods(target, resourceWorkflows);
|
|
13580
|
+
target.listPublicBundles = bundles.listPublicBundles.bind(bundles);
|
|
13581
|
+
target.getPublicBundle = bundles.getPublicBundle.bind(bundles);
|
|
13582
|
+
target.updateBundle = bundles.updateBundle.bind(bundles);
|
|
13583
|
+
target.listBundleInstallations = bundles.listBundleInstallations.bind(bundles);
|
|
13584
|
+
target.listBundles = bundles.listBundles.bind(bundles);
|
|
13585
|
+
target.listBundleWorkflowCandidates = bundles.listBundleWorkflowCandidates.bind(bundles);
|
|
13586
|
+
target.createBundle = bundles.createBundle.bind(bundles);
|
|
13587
|
+
target.getBundleDraft = bundles.getBundleDraft.bind(bundles);
|
|
13588
|
+
target.replaceBundleDraft = bundles.replaceBundleDraft.bind(bundles);
|
|
13589
|
+
target.publishBundle = bundles.publishBundle.bind(bundles);
|
|
13590
|
+
target.listBundleVersions = bundles.listBundleVersions.bind(bundles);
|
|
13591
|
+
target.getBundle = bundles.getBundle.bind(bundles);
|
|
13592
|
+
target.getBundleVersion = bundles.getBundleVersion.bind(bundles);
|
|
13593
|
+
target.listBundleGrants = bundles.listBundleGrants.bind(bundles);
|
|
13594
|
+
target.grantBundle = bundles.grantBundle.bind(bundles);
|
|
13595
|
+
target.revokeBundleGrant = bundles.revokeBundleGrant.bind(bundles);
|
|
13596
|
+
target.listResourceWorkflows = resourceWorkflows.listResourceWorkflows.bind(resourceWorkflows);
|
|
13597
|
+
}
|
|
13598
|
+
|
|
13599
|
+
// src/client/bindings/installations.ts
|
|
13600
|
+
function bindInstallationsMethods(target, installations) {
|
|
13601
|
+
target.preflightBundleInstallation = installations.preflightBundleInstallation.bind(installations);
|
|
13602
|
+
target.installBundle = installations.installBundle.bind(installations);
|
|
13603
|
+
target.listInstallations = installations.listInstallations.bind(installations);
|
|
13604
|
+
target.getInstallation = installations.getInstallation.bind(installations);
|
|
13605
|
+
target.getInstallationReadiness = installations.getInstallationReadiness.bind(installations);
|
|
13606
|
+
target.previewInstallationUpgrade = installations.previewInstallationUpgrade.bind(installations);
|
|
13607
|
+
target.upgradeInstallation = installations.upgradeInstallation.bind(installations);
|
|
13608
|
+
target.setInstallationPolicy = installations.setInstallationPolicy.bind(installations);
|
|
13609
|
+
target.unsubscribeInstallation = installations.unsubscribeInstallation.bind(installations);
|
|
13610
|
+
target.restoreInstallationForm = installations.restoreInstallationForm.bind(installations);
|
|
13611
|
+
target.restoreInstallationWorkflowResources = installations.restoreInstallationWorkflowResources.bind(installations);
|
|
13612
|
+
target.bindInstallationSlots = installations.bindInstallationSlots.bind(installations);
|
|
13613
|
+
target.reconcileInstallation = installations.reconcileInstallation.bind(installations);
|
|
13614
|
+
target.getThemeSettingsSchema = installations.getThemeSettingsSchema.bind(installations);
|
|
13615
|
+
}
|
|
13616
|
+
|
|
12681
13617
|
// src/client/bindings/journeys.ts
|
|
12682
13618
|
function bindJourneysMethods(target, journeys) {
|
|
12683
13619
|
target.getJourneys = journeys.getJourneys.bind(journeys);
|
|
12684
13620
|
target.getJourney = journeys.getJourney.bind(journeys);
|
|
12685
13621
|
target.getJourneyAuthoring = journeys.getJourneyAuthoring.bind(journeys);
|
|
12686
13622
|
target.putJourneyDraft = journeys.putJourneyDraft.bind(journeys);
|
|
13623
|
+
target.deleteJourneyDraft = journeys.deleteJourneyDraft.bind(journeys);
|
|
12687
13624
|
target.putJourneyV2Definition = journeys.putJourneyV2Definition.bind(journeys);
|
|
12688
13625
|
target.getJourneyV2Validation = journeys.getJourneyV2Validation.bind(journeys);
|
|
12689
13626
|
target.getJourneyFilterOptions = journeys.getJourneyFilterOptions.bind(journeys);
|
|
@@ -12731,6 +13668,7 @@ function bindQualificationsMethods(target, qualifications) {
|
|
|
12731
13668
|
target.updateScenario = qualifications.updateScenario.bind(qualifications);
|
|
12732
13669
|
target.deleteScenario = qualifications.deleteScenario.bind(qualifications);
|
|
12733
13670
|
target.listTestChatRuns = qualifications.listTestChatRuns.bind(qualifications);
|
|
13671
|
+
target.listScenarioHealthSummaries = qualifications.listScenarioHealthSummaries.bind(qualifications);
|
|
12734
13672
|
target.getTestChatRun = qualifications.getTestChatRun.bind(qualifications);
|
|
12735
13673
|
target.startTestChatRun = qualifications.startTestChatRun.bind(qualifications);
|
|
12736
13674
|
target.evaluateTestChatRun = qualifications.evaluateTestChatRun.bind(qualifications);
|
|
@@ -12819,6 +13757,17 @@ function bindSupportRequestMethods(target, supportRequests) {
|
|
|
12819
13757
|
target.clickWorkspaceSupportRequestResource = supportRequests.clickWorkspaceSupportRequestResource.bind(supportRequests);
|
|
12820
13758
|
}
|
|
12821
13759
|
|
|
13760
|
+
// src/client/bindings/routing-rules.ts
|
|
13761
|
+
function bindRoutingRulesMethods(target, routingRules) {
|
|
13762
|
+
target.getRoutingRules = routingRules.getRoutingRules.bind(routingRules);
|
|
13763
|
+
target.getRoutingRule = routingRules.getRoutingRule.bind(routingRules);
|
|
13764
|
+
target.createRoutingRule = routingRules.createRoutingRule.bind(routingRules);
|
|
13765
|
+
target.updateRoutingRule = routingRules.updateRoutingRule.bind(routingRules);
|
|
13766
|
+
target.deleteRoutingRule = routingRules.deleteRoutingRule.bind(routingRules);
|
|
13767
|
+
target.reorderRoutingRules = routingRules.reorderRoutingRules.bind(routingRules);
|
|
13768
|
+
target.previewRoutingRule = routingRules.previewRoutingRule.bind(routingRules);
|
|
13769
|
+
}
|
|
13770
|
+
|
|
12822
13771
|
// src/client/client.ts
|
|
12823
13772
|
var GravityRailClient = class {
|
|
12824
13773
|
// WorkspaceInvitations is exposed publicly for backward compatibility
|
|
@@ -12844,6 +13793,9 @@ var GravityRailClient = class {
|
|
|
12844
13793
|
// Chats API
|
|
12845
13794
|
getChats;
|
|
12846
13795
|
getChat;
|
|
13796
|
+
getChatByUuid;
|
|
13797
|
+
saveChatBrowserStorage;
|
|
13798
|
+
clearChatBrowserStorage;
|
|
12847
13799
|
getChatBrowserLiveView;
|
|
12848
13800
|
getChatMachineResources;
|
|
12849
13801
|
getCurrentSmsChat;
|
|
@@ -12921,7 +13873,10 @@ var GravityRailClient = class {
|
|
|
12921
13873
|
unarchiveDataType;
|
|
12922
13874
|
cloneDataType;
|
|
12923
13875
|
getDataRecords;
|
|
13876
|
+
listAnonymousFormSubmissions;
|
|
13877
|
+
getAnonymousFormSubmission;
|
|
12924
13878
|
getDataRecord;
|
|
13879
|
+
getDataRecordByUuid;
|
|
12925
13880
|
createDataRecord;
|
|
12926
13881
|
updateDataRecord;
|
|
12927
13882
|
deleteDataRecord;
|
|
@@ -12947,12 +13902,10 @@ var GravityRailClient = class {
|
|
|
12947
13902
|
previewMemberWorkflowVoice;
|
|
12948
13903
|
setMemberWorkflowVoice;
|
|
12949
13904
|
clearMemberWorkflowVoice;
|
|
12950
|
-
getOwnedMembers;
|
|
12951
|
-
switchMember;
|
|
12952
|
-
clearMemberSwitch;
|
|
12953
13905
|
updateCurrentMember;
|
|
12954
13906
|
getWorkspaceMembers;
|
|
12955
13907
|
getWorkspaceMember;
|
|
13908
|
+
getMemberByUuid;
|
|
12956
13909
|
// Org-scoped, so deliberately absent from WORKSPACE_METHOD_NAMES: that proxy
|
|
12957
13910
|
// passes a workspace uuid as the first argument.
|
|
12958
13911
|
getOrgWorkspaceMember;
|
|
@@ -12961,6 +13914,9 @@ var GravityRailClient = class {
|
|
|
12961
13914
|
deleteMember;
|
|
12962
13915
|
archiveMember;
|
|
12963
13916
|
unarchiveMember;
|
|
13917
|
+
updateMemberByExternalId;
|
|
13918
|
+
archiveMemberByExternalId;
|
|
13919
|
+
unarchiveMemberByExternalId;
|
|
12964
13920
|
sendMemberPhoneConfirmation;
|
|
12965
13921
|
bulkCreateMembers;
|
|
12966
13922
|
previewImportMembers;
|
|
@@ -13038,6 +13994,7 @@ var GravityRailClient = class {
|
|
|
13038
13994
|
updateScenario;
|
|
13039
13995
|
deleteScenario;
|
|
13040
13996
|
listTestChatRuns;
|
|
13997
|
+
listScenarioHealthSummaries;
|
|
13041
13998
|
getTestChatRun;
|
|
13042
13999
|
startTestChatRun;
|
|
13043
14000
|
evaluateTestChatRun;
|
|
@@ -13115,6 +14072,7 @@ var GravityRailClient = class {
|
|
|
13115
14072
|
getJourney;
|
|
13116
14073
|
getJourneyAuthoring;
|
|
13117
14074
|
putJourneyDraft;
|
|
14075
|
+
deleteJourneyDraft;
|
|
13118
14076
|
putJourneyV2Definition;
|
|
13119
14077
|
getJourneyV2Validation;
|
|
13120
14078
|
getJourneyFilterOptions;
|
|
@@ -13149,6 +14107,42 @@ var GravityRailClient = class {
|
|
|
13149
14107
|
createJourneyNote;
|
|
13150
14108
|
updateJourneyNote;
|
|
13151
14109
|
deleteJourneyNote;
|
|
14110
|
+
updateBundle;
|
|
14111
|
+
listBundleInstallations;
|
|
14112
|
+
// Bundles API
|
|
14113
|
+
listPublicBundles;
|
|
14114
|
+
getPublicBundle;
|
|
14115
|
+
listBundles;
|
|
14116
|
+
listBundleWorkflowCandidates;
|
|
14117
|
+
createBundle;
|
|
14118
|
+
getBundleDraft;
|
|
14119
|
+
replaceBundleDraft;
|
|
14120
|
+
publishBundle;
|
|
14121
|
+
listBundleVersions;
|
|
14122
|
+
getBundle;
|
|
14123
|
+
getBundleVersion;
|
|
14124
|
+
listBundleGrants;
|
|
14125
|
+
grantBundle;
|
|
14126
|
+
revokeBundleGrant;
|
|
14127
|
+
listResourceWorkflows;
|
|
14128
|
+
// Resource Workflows API — published Workflow catalog reads
|
|
14129
|
+
getResourceWorkflow;
|
|
14130
|
+
getResourceWorkflowRevision;
|
|
14131
|
+
// Installations API
|
|
14132
|
+
preflightBundleInstallation;
|
|
14133
|
+
installBundle;
|
|
14134
|
+
listInstallations;
|
|
14135
|
+
getInstallation;
|
|
14136
|
+
getInstallationReadiness;
|
|
14137
|
+
previewInstallationUpgrade;
|
|
14138
|
+
upgradeInstallation;
|
|
14139
|
+
setInstallationPolicy;
|
|
14140
|
+
unsubscribeInstallation;
|
|
14141
|
+
bindInstallationSlots;
|
|
14142
|
+
restoreInstallationForm;
|
|
14143
|
+
restoreInstallationWorkflowResources;
|
|
14144
|
+
reconcileInstallation;
|
|
14145
|
+
getThemeSettingsSchema;
|
|
13152
14146
|
// Experiments API
|
|
13153
14147
|
getExperiments;
|
|
13154
14148
|
getExperiment;
|
|
@@ -13241,7 +14235,6 @@ var GravityRailClient = class {
|
|
|
13241
14235
|
rebuildImportSkippedRules;
|
|
13242
14236
|
previewImportWorkspace;
|
|
13243
14237
|
getWorkspaceThemes;
|
|
13244
|
-
updateWorkspaceThemes;
|
|
13245
14238
|
getWorkspaceBySlug;
|
|
13246
14239
|
getWorkspaceScopes;
|
|
13247
14240
|
getUsageDashboard;
|
|
@@ -13280,10 +14273,15 @@ var GravityRailClient = class {
|
|
|
13280
14273
|
getVoiceTrustProducts;
|
|
13281
14274
|
syncVoiceTrustProducts;
|
|
13282
14275
|
createOrganizationWorkspace;
|
|
14276
|
+
getOrganizationWorkspace;
|
|
14277
|
+
updateOrganizationWorkspace;
|
|
13283
14278
|
getOrgBillingCustomer;
|
|
13284
14279
|
getA2PCampaignConfig;
|
|
13285
14280
|
updateA2PCampaignConfig;
|
|
13286
14281
|
getOrgWorkspaceUsage;
|
|
14282
|
+
updateOrganizationMember;
|
|
14283
|
+
listOrgWebhookEndpoints;
|
|
14284
|
+
getOrgWebhookEndpoint;
|
|
13287
14285
|
getVapidPublicKey;
|
|
13288
14286
|
registerPushSubscription;
|
|
13289
14287
|
unregisterPushSubscription;
|
|
@@ -13320,6 +14318,7 @@ var GravityRailClient = class {
|
|
|
13320
14318
|
logout;
|
|
13321
14319
|
requestCrossDomainToken;
|
|
13322
14320
|
exchangeToken;
|
|
14321
|
+
createRealtimeLoginToken;
|
|
13323
14322
|
getDomainMapping;
|
|
13324
14323
|
createSignup;
|
|
13325
14324
|
createAccount;
|
|
@@ -13409,6 +14408,7 @@ var GravityRailClient = class {
|
|
|
13409
14408
|
updateProject;
|
|
13410
14409
|
updatePlan;
|
|
13411
14410
|
resolveFilePath;
|
|
14411
|
+
downloadFileContents;
|
|
13412
14412
|
downloadFilesZip;
|
|
13413
14413
|
createFile;
|
|
13414
14414
|
uploadFile;
|
|
@@ -13469,7 +14469,6 @@ var GravityRailClient = class {
|
|
|
13469
14469
|
resetRoutineRuns;
|
|
13470
14470
|
previewSchedule;
|
|
13471
14471
|
previewRoutineVoiceReadiness;
|
|
13472
|
-
previewRoutineWorkflowAccess;
|
|
13473
14472
|
// Workflows API
|
|
13474
14473
|
getWorkflows;
|
|
13475
14474
|
getWorkflow;
|
|
@@ -13478,7 +14477,7 @@ var GravityRailClient = class {
|
|
|
13478
14477
|
getWorkflowActivity;
|
|
13479
14478
|
getWorkflowsActivityBatch;
|
|
13480
14479
|
getWorkflowDiagram;
|
|
13481
|
-
|
|
14480
|
+
getWorkflowOutline;
|
|
13482
14481
|
createWorkflow;
|
|
13483
14482
|
updateWorkflow;
|
|
13484
14483
|
getWorkflowDeletionPreview;
|
|
@@ -13490,7 +14489,6 @@ var GravityRailClient = class {
|
|
|
13490
14489
|
createWorkflowFromTemplate;
|
|
13491
14490
|
getWorkflowTaskAssignmentStats;
|
|
13492
14491
|
getTaskChats;
|
|
13493
|
-
getWorkflowAccessValidation;
|
|
13494
14492
|
getWorkflowConfigValidation;
|
|
13495
14493
|
getWorkflowNotes;
|
|
13496
14494
|
createWorkflowNote;
|
|
@@ -13602,6 +14600,7 @@ var GravityRailClient = class {
|
|
|
13602
14600
|
previewTemplate;
|
|
13603
14601
|
getVariableRegistry;
|
|
13604
14602
|
getChatModels;
|
|
14603
|
+
getManagerModels;
|
|
13605
14604
|
getRealtimeModels;
|
|
13606
14605
|
getSTTModels;
|
|
13607
14606
|
getTTSModels;
|
|
@@ -13714,6 +14713,7 @@ var GravityRailClient = class {
|
|
|
13714
14713
|
getMondayConnectionBoardColumns;
|
|
13715
14714
|
getMondayConnectionBoardGroups;
|
|
13716
14715
|
getMondaySyncConfig;
|
|
14716
|
+
getMondaySyncLogs;
|
|
13717
14717
|
updateMondaySyncConfig;
|
|
13718
14718
|
getLinkedMondayMembers;
|
|
13719
14719
|
getMondayReconciliationMatches;
|
|
@@ -13835,10 +14835,12 @@ var GravityRailClient = class {
|
|
|
13835
14835
|
deleteSalesforce;
|
|
13836
14836
|
getSalesforceReconciliationMatches;
|
|
13837
14837
|
linkMemberToSalesforce;
|
|
14838
|
+
linkUnlinkedSalesforceMembersByIdentity;
|
|
13838
14839
|
bulkLinkMembersToSalesforce;
|
|
13839
14840
|
unlinkMemberFromSalesforce;
|
|
13840
14841
|
getLinkedSalesforceMembers;
|
|
13841
14842
|
getSalesforceSyncConfig;
|
|
14843
|
+
getSalesforceSyncLogs;
|
|
13842
14844
|
updateSalesforceSyncConfig;
|
|
13843
14845
|
resyncSalesforceLinkedMembers;
|
|
13844
14846
|
listSalesforceObjects;
|
|
@@ -13935,6 +14937,14 @@ var GravityRailClient = class {
|
|
|
13935
14937
|
closeWorkspaceSupportRequest;
|
|
13936
14938
|
reopenWorkspaceSupportRequest;
|
|
13937
14939
|
clickWorkspaceSupportRequestResource;
|
|
14940
|
+
// Routing Rules API
|
|
14941
|
+
getRoutingRules;
|
|
14942
|
+
getRoutingRule;
|
|
14943
|
+
createRoutingRule;
|
|
14944
|
+
updateRoutingRule;
|
|
14945
|
+
deleteRoutingRule;
|
|
14946
|
+
reorderRoutingRules;
|
|
14947
|
+
previewRoutingRule;
|
|
13938
14948
|
constructor(apiKey, baseUrl, customFetch) {
|
|
13939
14949
|
const apis = createApiModules(apiKey, baseUrl, customFetch);
|
|
13940
14950
|
this.apis = apis;
|
|
@@ -13956,6 +14966,8 @@ var GravityRailClient = class {
|
|
|
13956
14966
|
bindMotdMethods(this, apis.motd);
|
|
13957
14967
|
bindTrackedLinksMethods(this, apis.trackedLinks);
|
|
13958
14968
|
bindJourneysMethods(this, apis.journeys);
|
|
14969
|
+
bindBundlesMethods(this, apis.bundles, apis.resourceWorkflows);
|
|
14970
|
+
bindInstallationsMethods(this, apis.installations);
|
|
13959
14971
|
bindExperimentsMethods(this, apis.experiments);
|
|
13960
14972
|
bindOperatorMethods(this, apis.operatorGroups);
|
|
13961
14973
|
bindOrgMethods(this, apis.org);
|
|
@@ -14009,6 +15021,7 @@ var GravityRailClient = class {
|
|
|
14009
15021
|
bindCustomersMethods(this, apis.customers);
|
|
14010
15022
|
bindResellersMethods(this, apis.resellers);
|
|
14011
15023
|
bindSupportRequestMethods(this, apis.supportRequests);
|
|
15024
|
+
bindRoutingRulesMethods(this, apis.routingRules);
|
|
14012
15025
|
}
|
|
14013
15026
|
/**
|
|
14014
15027
|
* Return a workspace-scoped client facade.
|
|
@@ -14086,32 +15099,6 @@ var GravityRailClient = class {
|
|
|
14086
15099
|
}
|
|
14087
15100
|
});
|
|
14088
15101
|
}
|
|
14089
|
-
/**
|
|
14090
|
-
* Set the acting member UUID for member identity switching.
|
|
14091
|
-
* When set, all API requests will include the X-Acting-Member header.
|
|
14092
|
-
* The backend will validate that the authenticated account owns this member
|
|
14093
|
-
* and use it as the effective identity for the request.
|
|
14094
|
-
* Propagates to all API modules.
|
|
14095
|
-
*/
|
|
14096
|
-
setActingMember(memberUuid) {
|
|
14097
|
-
Object.values(this.apis).forEach((api) => {
|
|
14098
|
-
if (typeof api.setActingMember === "function") {
|
|
14099
|
-
api.setActingMember(memberUuid);
|
|
14100
|
-
}
|
|
14101
|
-
});
|
|
14102
|
-
}
|
|
14103
|
-
/**
|
|
14104
|
-
* Get the current acting member UUID.
|
|
14105
|
-
* Returns undefined if no member switch is active.
|
|
14106
|
-
*/
|
|
14107
|
-
getActingMember() {
|
|
14108
|
-
for (const api of Object.values(this.apis)) {
|
|
14109
|
-
if (typeof api.getActingMember === "function") {
|
|
14110
|
-
return api.getActingMember();
|
|
14111
|
-
}
|
|
14112
|
-
}
|
|
14113
|
-
return void 0;
|
|
14114
|
-
}
|
|
14115
15102
|
};
|
|
14116
15103
|
|
|
14117
15104
|
// src/types/ability-types.ts
|
|
@@ -14131,9 +15118,11 @@ var AbilityTypeSlugs = {
|
|
|
14131
15118
|
GOOGLE_DRIVE: "integration:google_drive",
|
|
14132
15119
|
GOOGLE_SHEETS: "integration:google_sheets",
|
|
14133
15120
|
CHARLESTON_PMD_PAGING: "integration:charleston_pmd_paging",
|
|
15121
|
+
COSAN_PATHWAYS_SCHEDULING: "integration:cosan_pathways_scheduling",
|
|
14134
15122
|
// Communication
|
|
14135
15123
|
PHONE_CALL_TOOLS: "communication:phone_call_tools",
|
|
14136
15124
|
SEND_SMS: "communication:send_sms",
|
|
15125
|
+
SEND_EMAIL: "communication:send_email",
|
|
14137
15126
|
SEND_WHATSAPP: "communication:send_whatsapp",
|
|
14138
15127
|
MEMBER_ACCESS: "communication:member_access",
|
|
14139
15128
|
AUDIO_PLAYBACK: "communication:audio_playback",
|
|
@@ -14148,6 +15137,8 @@ var AbilityTypeSlugs = {
|
|
|
14148
15137
|
MANAGE_WORKSPACE: "delegation:manage_workspace",
|
|
14149
15138
|
// Workflow
|
|
14150
15139
|
WORKFLOW_RUN: "workflow:run",
|
|
15140
|
+
// Access
|
|
15141
|
+
MEMBER_ROLE_GATE: "access:member_role_gate",
|
|
14151
15142
|
// Commerce
|
|
14152
15143
|
RESELLER: "commerce:reseller",
|
|
14153
15144
|
// System (auto-injected, hidden from users)
|
|
@@ -14351,12 +15342,6 @@ var AbilityConfigIssueSeverity = {
|
|
|
14351
15342
|
warning: "warning",
|
|
14352
15343
|
error: "error"
|
|
14353
15344
|
};
|
|
14354
|
-
var WorkflowAccessWarningResourceType = {
|
|
14355
|
-
form: "form",
|
|
14356
|
-
file: "file",
|
|
14357
|
-
folder: "folder",
|
|
14358
|
-
calendar: "calendar"
|
|
14359
|
-
};
|
|
14360
15345
|
|
|
14361
15346
|
// src/types/generated/workflow.ts
|
|
14362
15347
|
var WorkflowRoutingMode = {
|
|
@@ -14381,12 +15366,21 @@ var ImportReadinessIssueCode = {
|
|
|
14381
15366
|
phone_not_provisioned: "phone_not_provisioned",
|
|
14382
15367
|
phone_missing_default_workflow: "phone_missing_default_workflow",
|
|
14383
15368
|
inbox_missing_default_workflow: "inbox_missing_default_workflow",
|
|
14384
|
-
workflow_missing_default_phone: "workflow_missing_default_phone"
|
|
15369
|
+
workflow_missing_default_phone: "workflow_missing_default_phone",
|
|
15370
|
+
workflow_missing_default_inbox: "workflow_missing_default_inbox",
|
|
15371
|
+
routine_webhook_handoff_unverified: "routine_webhook_handoff_unverified",
|
|
15372
|
+
app_connection_not_connected: "app_connection_not_connected",
|
|
15373
|
+
site_form_migration_pending: "site_form_migration_pending",
|
|
15374
|
+
site_form_binding_invalid: "site_form_binding_invalid",
|
|
15375
|
+
site_theme_setting_inherited: "site_theme_setting_inherited"
|
|
14385
15376
|
};
|
|
14386
15377
|
var ImportReadinessIssueResourceType = {
|
|
14387
15378
|
phone: "phone",
|
|
14388
15379
|
inbox: "inbox",
|
|
14389
|
-
workflow: "workflow"
|
|
15380
|
+
workflow: "workflow",
|
|
15381
|
+
routine: "routine",
|
|
15382
|
+
app_connection: "app_connection",
|
|
15383
|
+
site: "site"
|
|
14390
15384
|
};
|
|
14391
15385
|
var ImportSkippedRuleResourceGroupResourceType = {
|
|
14392
15386
|
phone: "phone",
|
|
@@ -14408,7 +15402,8 @@ var ImportSkippedRuleResponseParentKind = {
|
|
|
14408
15402
|
var ImportSkippedRuleResponseReasonCode = {
|
|
14409
15403
|
missing_binding: "missing_binding",
|
|
14410
15404
|
invalid_event_rule_cel: "invalid_event_rule_cel",
|
|
14411
|
-
unresolved_journey_scope: "unresolved_journey_scope"
|
|
15405
|
+
unresolved_journey_scope: "unresolved_journey_scope",
|
|
15406
|
+
missing_source_workflow: "missing_source_workflow"
|
|
14412
15407
|
};
|
|
14413
15408
|
var ImportSkippedRuleResponseStatus = {
|
|
14414
15409
|
outstanding: "outstanding",
|
|
@@ -14540,14 +15535,14 @@ function isChatType(value) {
|
|
|
14540
15535
|
}
|
|
14541
15536
|
|
|
14542
15537
|
// src/constants/models.ts
|
|
14543
|
-
var DEFAULT_CHAT_MODEL = "
|
|
14544
|
-
var DEFAULT_AGENT_CHAT_MODEL = "openai:chat:gpt-
|
|
15538
|
+
var DEFAULT_CHAT_MODEL = "openai:chat:gpt-6-luna";
|
|
15539
|
+
var DEFAULT_AGENT_CHAT_MODEL = "openai:chat:gpt-6-luna";
|
|
14545
15540
|
var DEFAULT_AGENT_REALTIME_MODEL = "xai:realtime:voice-agent-2";
|
|
14546
15541
|
var DEFAULT_AGENT_REALTIME_MODEL_CONFIG = {
|
|
14547
15542
|
ttsModel: "native",
|
|
14548
15543
|
voiceModel: "xai:voice:cosmo"
|
|
14549
15544
|
};
|
|
14550
|
-
var DEFAULT_VOICE_INFERENCE_MODEL = "openai:chat:gpt-
|
|
15545
|
+
var DEFAULT_VOICE_INFERENCE_MODEL = "openai:chat:gpt-6-luna";
|
|
14551
15546
|
var DEFAULT_CUSTOM_VOICE_MODEL = "xai:voice:lux";
|
|
14552
15547
|
|
|
14553
15548
|
// src/types/resource-metadata.ts
|
|
@@ -14679,6 +15674,14 @@ var ActivityWindowBasis = {
|
|
|
14679
15674
|
absolute: "absolute",
|
|
14680
15675
|
workspace_local: "workspace_local"
|
|
14681
15676
|
};
|
|
15677
|
+
var FeedCursorRejection = {
|
|
15678
|
+
malformed: "malformed",
|
|
15679
|
+
signature: "signature",
|
|
15680
|
+
version: "version",
|
|
15681
|
+
expired: "expired",
|
|
15682
|
+
scope_mismatch: "scope_mismatch",
|
|
15683
|
+
query_mismatch: "query_mismatch"
|
|
15684
|
+
};
|
|
14682
15685
|
|
|
14683
15686
|
// src/types/generated/family.ts
|
|
14684
15687
|
var ActivityEventFamily = {
|
|
@@ -14727,6 +15730,7 @@ var ScopeCategory = /* @__PURE__ */ ((ScopeCategory2) => {
|
|
|
14727
15730
|
ScopeCategory2["APPS"] = "apps";
|
|
14728
15731
|
ScopeCategory2["LABELS"] = "labels";
|
|
14729
15732
|
ScopeCategory2["ANALYTICS"] = "analytics";
|
|
15733
|
+
ScopeCategory2["ANONYMOUS_SUBMISSIONS"] = "anonymous_submissions";
|
|
14730
15734
|
ScopeCategory2["OPERATOR"] = "operator";
|
|
14731
15735
|
ScopeCategory2["EXPORT"] = "export";
|
|
14732
15736
|
ScopeCategory2["ORG"] = "org";
|
|
@@ -15189,6 +16193,14 @@ var SCOPES = {
|
|
|
15189
16193
|
description: "View analytics and reports"
|
|
15190
16194
|
},
|
|
15191
16195
|
// =========================================================================
|
|
16196
|
+
// ANONYMOUS FORM SUBMISSIONS (read-only: submissions are immutable)
|
|
16197
|
+
// =========================================================================
|
|
16198
|
+
"anonymous_submissions:read": {
|
|
16199
|
+
name: "anonymous_submissions:read",
|
|
16200
|
+
category: "anonymous_submissions" /* ANONYMOUS_SUBMISSIONS */,
|
|
16201
|
+
description: "View what anonymous visitors submitted on anonymous Forms"
|
|
16202
|
+
},
|
|
16203
|
+
// =========================================================================
|
|
15192
16204
|
// EXPORT
|
|
15193
16205
|
// =========================================================================
|
|
15194
16206
|
"export:read": {
|
|
@@ -15380,6 +16392,9 @@ function getRevisionState(workflow, revision) {
|
|
|
15380
16392
|
|
|
15381
16393
|
export {
|
|
15382
16394
|
AbilitiesApi,
|
|
16395
|
+
ResourceWorkflowsApi,
|
|
16396
|
+
BundlesApi,
|
|
16397
|
+
InstallationsApi,
|
|
15383
16398
|
AccessGrantsApi,
|
|
15384
16399
|
AgentTasksApi,
|
|
15385
16400
|
AgentsApi,
|
|
@@ -15424,6 +16439,10 @@ export {
|
|
|
15424
16439
|
QueriesApi,
|
|
15425
16440
|
QualificationsApi,
|
|
15426
16441
|
ReportsApi,
|
|
16442
|
+
RoutingActionType,
|
|
16443
|
+
RoutingAudience,
|
|
16444
|
+
RoutingChannel,
|
|
16445
|
+
RoutingTimeWindow,
|
|
15427
16446
|
SalesforceApi,
|
|
15428
16447
|
ConnectionSyncApi,
|
|
15429
16448
|
HubspotApi,
|
|
@@ -15453,15 +16472,17 @@ export {
|
|
|
15453
16472
|
PERMISSION_DELETE,
|
|
15454
16473
|
decodePermissions,
|
|
15455
16474
|
encodePermissions,
|
|
15456
|
-
WORKFLOW_IMPLICIT_USE_SCOPE,
|
|
15457
|
-
roleImplicitWorkflowUseScope,
|
|
15458
|
-
roleWorkflowAccess,
|
|
15459
|
-
roleCanUseWorkflow,
|
|
15460
16475
|
Scope,
|
|
15461
16476
|
BulkMemberResultStatus,
|
|
15462
16477
|
MemberImportMatchInfoMatchType,
|
|
15463
16478
|
MemberImportPreviewRowAction,
|
|
15464
16479
|
MergeMemberRolesRequestAccessStrategy,
|
|
16480
|
+
CreateMemberContactPointRequestContactType,
|
|
16481
|
+
CreateMemberContactPointRequestPurpose,
|
|
16482
|
+
CreateMemberContactPointRequestSharing,
|
|
16483
|
+
UpdateMemberContactPointRequestContactType,
|
|
16484
|
+
UpdateMemberContactPointRequestPurpose,
|
|
16485
|
+
UpdateMemberContactPointRequestSharing,
|
|
15465
16486
|
MemberType,
|
|
15466
16487
|
isMemberContactConflict,
|
|
15467
16488
|
isAccountContactConflict,
|
|
@@ -15475,6 +16496,8 @@ export {
|
|
|
15475
16496
|
EventRuleActionType,
|
|
15476
16497
|
eventRuleActionParams,
|
|
15477
16498
|
MASKED_SECRET_SENTINEL,
|
|
16499
|
+
SendingNextStep,
|
|
16500
|
+
SendingStopState,
|
|
15478
16501
|
WorkspaceFeature,
|
|
15479
16502
|
MemberFeature,
|
|
15480
16503
|
OrgFeature,
|
|
@@ -15506,8 +16529,16 @@ export {
|
|
|
15506
16529
|
FhirVendor,
|
|
15507
16530
|
FhirConnectionState,
|
|
15508
16531
|
FhirClientType,
|
|
16532
|
+
CrmActivityKind,
|
|
16533
|
+
RunHealthCategory,
|
|
15509
16534
|
TestChatRunLane,
|
|
15510
16535
|
TestChatRunOutcome,
|
|
16536
|
+
ScenarioHealthCaption,
|
|
16537
|
+
ScenarioHealthHeadline,
|
|
16538
|
+
ScenarioHealthSampleNote,
|
|
16539
|
+
ScenarioHealthState,
|
|
16540
|
+
RevisionHistorySegment,
|
|
16541
|
+
ScenarioRunBlocker,
|
|
15511
16542
|
CriterionType,
|
|
15512
16543
|
DriverMode,
|
|
15513
16544
|
AccessGrantResourceType,
|
|
@@ -15562,6 +16593,8 @@ export {
|
|
|
15562
16593
|
bindOperatorMethods,
|
|
15563
16594
|
bindOrgMethods,
|
|
15564
16595
|
bindPronunciationsMethods,
|
|
16596
|
+
bindBundlesMethods,
|
|
16597
|
+
bindInstallationsMethods,
|
|
15565
16598
|
bindJourneysMethods,
|
|
15566
16599
|
bindQualificationsMethods,
|
|
15567
16600
|
bindPersonasMethods,
|
|
@@ -15571,6 +16604,7 @@ export {
|
|
|
15571
16604
|
bindResellersMethods,
|
|
15572
16605
|
bindPromptsMethods,
|
|
15573
16606
|
bindSupportRequestMethods,
|
|
16607
|
+
bindRoutingRulesMethods,
|
|
15574
16608
|
GravityRailClient,
|
|
15575
16609
|
AbilityTypeSlugs,
|
|
15576
16610
|
DEFAULT_THINKING_SPEECH_PHRASES,
|
|
@@ -15602,7 +16636,6 @@ export {
|
|
|
15602
16636
|
MenuItemResponseItemType,
|
|
15603
16637
|
AbilityConfigIssueCode,
|
|
15604
16638
|
AbilityConfigIssueSeverity,
|
|
15605
|
-
WorkflowAccessWarningResourceType,
|
|
15606
16639
|
WorkflowRoutingMode,
|
|
15607
16640
|
WIDGET_SLUGS,
|
|
15608
16641
|
PromoCodeStatus,
|
|
@@ -15646,6 +16679,7 @@ export {
|
|
|
15646
16679
|
ActivityGroupBy,
|
|
15647
16680
|
ActivityOpenItemOrder,
|
|
15648
16681
|
ActivityWindowBasis,
|
|
16682
|
+
FeedCursorRejection,
|
|
15649
16683
|
ActivityEventFamily,
|
|
15650
16684
|
ActivityOutcome,
|
|
15651
16685
|
RefResolutionStatus,
|
|
@@ -15655,4 +16689,4 @@ export {
|
|
|
15655
16689
|
SCOPE_PRESETS,
|
|
15656
16690
|
getRevisionState
|
|
15657
16691
|
};
|
|
15658
|
-
//# sourceMappingURL=chunk-
|
|
16692
|
+
//# sourceMappingURL=chunk-JTOMGNUO.js.map
|