@gravity-rail/cli 0.42.0 → 0.43.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/dist/gr.js +282 -16
- package/dist/gr.js.map +1 -1
- package/dist/lib.js +16 -6
- package/dist/lib.js.map +1 -1
- package/package.json +2 -2
package/dist/gr.js
CHANGED
|
@@ -3205,7 +3205,7 @@ var init_libphonenumber_js = __esm({
|
|
|
3205
3205
|
}
|
|
3206
3206
|
});
|
|
3207
3207
|
|
|
3208
|
-
// ../sdk/dist/chunk-
|
|
3208
|
+
// ../sdk/dist/chunk-G32MQGJD.js
|
|
3209
3209
|
function resourceWorkflowsPath(wid, ...segments) {
|
|
3210
3210
|
const tail = segments.map((segment) => encodeURIComponent(String(segment))).join("/");
|
|
3211
3211
|
const base = `w/${encodeURIComponent(wid)}/resource-workflows`;
|
|
@@ -3223,6 +3223,9 @@ function pageQuery(params) {
|
|
|
3223
3223
|
const qs = query.toString();
|
|
3224
3224
|
return qs ? `?${qs}` : "";
|
|
3225
3225
|
}
|
|
3226
|
+
function refusalCode(value) {
|
|
3227
|
+
return typeof value === "string" && REFUSAL_CODES.includes(value) ? value : void 0;
|
|
3228
|
+
}
|
|
3226
3229
|
function installationsPath(wid, ...segments) {
|
|
3227
3230
|
const tail = segments.map((segment) => encodeURIComponent(String(segment))).join("/");
|
|
3228
3231
|
const base = `w/${encodeURIComponent(wid)}/installations`;
|
|
@@ -3415,6 +3418,7 @@ function createApiModules(apiKey, baseUrl3, customFetch) {
|
|
|
3415
3418
|
auth: new AuthApi(apiKey, baseUrl3, customFetch),
|
|
3416
3419
|
builders: new BuildersApi(apiKey, baseUrl3, customFetch),
|
|
3417
3420
|
bundles: new BundlesApi(apiKey, baseUrl3, customFetch),
|
|
3421
|
+
demos: new DemosApi(apiKey, baseUrl3, customFetch),
|
|
3418
3422
|
installations: new InstallationsApi(apiKey, baseUrl3, customFetch),
|
|
3419
3423
|
calendars: new CalendarsApi(apiKey, baseUrl3, customFetch),
|
|
3420
3424
|
calls: new CallsApi(apiKey, baseUrl3, customFetch),
|
|
@@ -3578,6 +3582,7 @@ function bindChatsMethods(target, chats) {
|
|
|
3578
3582
|
target.updateChatMute = chats.updateChatMute.bind(chats);
|
|
3579
3583
|
target.summarizeChat = chats.summarizeChat.bind(chats);
|
|
3580
3584
|
target.getChatMessages = chats.getChatMessages.bind(chats);
|
|
3585
|
+
target.getChatTaskTransitions = chats.getChatTaskTransitions.bind(chats);
|
|
3581
3586
|
target.getChildThreadMessages = chats.getChildThreadMessages.bind(chats);
|
|
3582
3587
|
target.getChatToolCallMessages = chats.getChatToolCallMessages.bind(chats);
|
|
3583
3588
|
target.getChatTools = chats.getChatTools.bind(chats);
|
|
@@ -3610,6 +3615,7 @@ function bindCallsMethods(target, calls, cel) {
|
|
|
3610
3615
|
target.getPhoneCalls = calls.getPhoneCalls.bind(calls);
|
|
3611
3616
|
target.getMessageTiming = calls.getMessageTiming.bind(calls);
|
|
3612
3617
|
target.getRecordingInfo = calls.getRecordingInfo.bind(calls);
|
|
3618
|
+
target.getEdgeCaptureInfo = calls.getEdgeCaptureInfo.bind(calls);
|
|
3613
3619
|
target.listChatRecordings = calls.listChatRecordings.bind(calls);
|
|
3614
3620
|
target.getCallRecordingDownloadUrl = calls.getCallRecordingDownloadUrl.bind(calls);
|
|
3615
3621
|
target.getCelContext = cel.getCelContext.bind(cel);
|
|
@@ -4530,6 +4536,8 @@ function bindBundlesMethods(target, bundles, resourceWorkflows) {
|
|
|
4530
4536
|
target.listBundleInstallations = bundles.listBundleInstallations.bind(bundles);
|
|
4531
4537
|
target.listBundles = bundles.listBundles.bind(bundles);
|
|
4532
4538
|
target.listBundleWorkflowCandidates = bundles.listBundleWorkflowCandidates.bind(bundles);
|
|
4539
|
+
target.listBundleJourneyCandidates = bundles.listBundleJourneyCandidates.bind(bundles);
|
|
4540
|
+
target.getBundleJourneyCandidate = bundles.getBundleJourneyCandidate.bind(bundles);
|
|
4533
4541
|
target.createBundle = bundles.createBundle.bind(bundles);
|
|
4534
4542
|
target.getBundleDraft = bundles.getBundleDraft.bind(bundles);
|
|
4535
4543
|
target.replaceBundleDraft = bundles.replaceBundleDraft.bind(bundles);
|
|
@@ -4542,6 +4550,15 @@ function bindBundlesMethods(target, bundles, resourceWorkflows) {
|
|
|
4542
4550
|
target.revokeBundleGrant = bundles.revokeBundleGrant.bind(bundles);
|
|
4543
4551
|
target.listResourceWorkflows = resourceWorkflows.listResourceWorkflows.bind(resourceWorkflows);
|
|
4544
4552
|
}
|
|
4553
|
+
function bindDemosMethods(target, demos) {
|
|
4554
|
+
target.getDemo = demos.getDemo.bind(demos);
|
|
4555
|
+
target.startDemoSession = demos.startDemoSession.bind(demos);
|
|
4556
|
+
target.sendDemoSessionSms = demos.sendDemoSessionSms.bind(demos);
|
|
4557
|
+
target.sendDemoSessionEmail = demos.sendDemoSessionEmail.bind(demos);
|
|
4558
|
+
target.placeDemoSessionCall = demos.placeDemoSessionCall.bind(demos);
|
|
4559
|
+
target.getDemoSessionTimeline = demos.getDemoSessionTimeline.bind(demos);
|
|
4560
|
+
target.endDemoSession = demos.endDemoSession.bind(demos);
|
|
4561
|
+
}
|
|
4545
4562
|
function bindInstallationsMethods(target, installations) {
|
|
4546
4563
|
target.preflightBundleInstallation = installations.preflightBundleInstallation.bind(installations);
|
|
4547
4564
|
target.installBundle = installations.installBundle.bind(installations);
|
|
@@ -4611,6 +4628,10 @@ function bindQualificationsMethods(target, qualifications) {
|
|
|
4611
4628
|
target.listTestChatRuns = qualifications.listTestChatRuns.bind(qualifications);
|
|
4612
4629
|
target.listScenarioHealthSummaries = qualifications.listScenarioHealthSummaries.bind(qualifications);
|
|
4613
4630
|
target.getTestChatRun = qualifications.getTestChatRun.bind(qualifications);
|
|
4631
|
+
target.listTestChatRunCapturedEffects = qualifications.listTestChatRunCapturedEffects.bind(qualifications);
|
|
4632
|
+
target.deliverTestChatRunSms = qualifications.deliverTestChatRunSms.bind(qualifications);
|
|
4633
|
+
target.deliverTestChatRunEmail = qualifications.deliverTestChatRunEmail.bind(qualifications);
|
|
4634
|
+
target.placeTestChatRunCall = qualifications.placeTestChatRunCall.bind(qualifications);
|
|
4614
4635
|
target.startTestChatRun = qualifications.startTestChatRun.bind(qualifications);
|
|
4615
4636
|
target.evaluateTestChatRun = qualifications.evaluateTestChatRun.bind(qualifications);
|
|
4616
4637
|
target.endTestChatRun = qualifications.endTestChatRun.bind(qualifications);
|
|
@@ -4703,9 +4724,9 @@ function getRevisionState(workflow, revision) {
|
|
|
4703
4724
|
state: revision?.publishedAt != null ? "published" : "draft"
|
|
4704
4725
|
};
|
|
4705
4726
|
}
|
|
4706
|
-
var AbilitiesApi, ResourceWorkflowsApi, BundlesApi, InstallationsApi, AccessGrantsApi, AgentTasksApi, AgentsApi, AIModelsApi, ApiKeysApi, AppsApi, AssignmentsApi, VoiceApi, AuthApi, BuildersApi, CalendarsApi, CallsApi, CELApi, ChatsApi, ConfluenceApi, CustomToolkitsApi, DataTypesApi, DiscordBotsApi, SlackAppsApi, EventsApi, FeaturesApi, FhirConnectionsApi, InboundFaxStatus, DocumoFaxApi, HealthieApi, FilesApi, InboxesApi, InquiriesApi, AppConnectionsApi, McpServersApi, MemberImportValidationError, MembersApi, MondayIntegrationApi, NotificationRulesApi, OperatorApi, OrgApi, OAuthConnectionsApi, OAuthApi, PhoneNumbersApi, PronunciationsApi, PromptsApi, PersonasApi, QueriesApi, QualificationsApi, ReportsApi, RoutingRulesApi, SalesforceApi, ConnectionSyncApi, HubspotApi, SitesApi, SubscriptionsApi, SupportRequestsApi, CustomersApi, ResellersApi, SupervisorsApi, TasksApi, TemplatesApi, ToolkitsApi, JourneysApi, WorkflowsApi, WorkflowNotesApi, EventRuleObjectType, EventRuleEventType, EventRuleActionType, DriverMode, MEMBER_RELATIONSHIP_KINDS, WorkspaceInvitationsApi, WorkspacesApi, DashboardsApi, DevicesApi, TeamsAppsApi, ExperimentsApi, PatientSyncConnectionsApi, ActivityApi, MotdApi, InterventionRequestsApi, MetricsApi, ProjectsApi, TrackedLinksApi, WORKSPACE_METHOD_NAMES, WORKSPACE_METHOD_NAME_SET, GravityRailClient, WIDGET_SLUGS, CHAT_TYPES, BUILTIN_ASSISTANT_CHAT_TYPES, MEMBER_AGENT_CHAT_TYPES, ActivityGrain, ActivityGroupBy, ActivityOpenItemOrder, ActivityWindowBasis;
|
|
4707
|
-
var
|
|
4708
|
-
"../sdk/dist/chunk-
|
|
4727
|
+
var AbilitiesApi, ResourceWorkflowsApi, BundlesApi, DemoRefusalCode, REFUSAL_CODES, DemoRequestError, DemosApi, InstallationsApi, AccessGrantsApi, AgentTasksApi, AgentsApi, AIModelsApi, ApiKeysApi, AppsApi, AssignmentsApi, VoiceApi, AuthApi, BuildersApi, CalendarsApi, CallsApi, CELApi, ChatsApi, ConfluenceApi, CustomToolkitsApi, DataTypesApi, DiscordBotsApi, SlackAppsApi, EventsApi, FeaturesApi, FhirConnectionsApi, InboundFaxStatus, DocumoFaxApi, HealthieApi, FilesApi, InboxesApi, InquiriesApi, AppConnectionsApi, McpServersApi, MemberImportValidationError, MembersApi, MondayIntegrationApi, NotificationRulesApi, OperatorApi, OrgApi, OAuthConnectionsApi, OAuthApi, PhoneNumbersApi, PronunciationsApi, PromptsApi, PersonasApi, QueriesApi, QualificationsApi, ReportsApi, RoutingRulesApi, SalesforceApi, ConnectionSyncApi, HubspotApi, SitesApi, SubscriptionsApi, SupportRequestsApi, CustomersApi, ResellersApi, SupervisorsApi, TasksApi, TemplatesApi, ToolkitsApi, JourneysApi, WorkflowsApi, WorkflowNotesApi, EventRuleObjectType, EventRuleEventType, EventRuleActionType, DriverMode, MEMBER_RELATIONSHIP_KINDS, WorkspaceInvitationsApi, WorkspacesApi, DashboardsApi, DevicesApi, TeamsAppsApi, ExperimentsApi, PatientSyncConnectionsApi, ActivityApi, MotdApi, InterventionRequestsApi, MetricsApi, ProjectsApi, TrackedLinksApi, WORKSPACE_METHOD_NAMES, WORKSPACE_METHOD_NAME_SET, GravityRailClient, WIDGET_SLUGS, CHAT_TYPES, BUILTIN_ASSISTANT_CHAT_TYPES, MEMBER_AGENT_CHAT_TYPES, ActivityGrain, ActivityGroupBy, ActivityOpenItemOrder, ActivityWindowBasis;
|
|
4728
|
+
var init_chunk_G32MQGJD = __esm({
|
|
4729
|
+
"../sdk/dist/chunk-G32MQGJD.js"() {
|
|
4709
4730
|
init_chunk_67QXTQVL();
|
|
4710
4731
|
init_libphonenumber_js();
|
|
4711
4732
|
AbilitiesApi = class extends BaseApiClient {
|
|
@@ -4857,6 +4878,27 @@ var init_chunk_JTOMGNUO = __esm({
|
|
|
4857
4878
|
async listBundleWorkflowCandidates(wid) {
|
|
4858
4879
|
return this.fetch(bundlesPath(wid, "workflow-candidates"));
|
|
4859
4880
|
}
|
|
4881
|
+
/**
|
|
4882
|
+
* This workspace's Journeys for the Bundle picker, by name. Nothing is built
|
|
4883
|
+
* for the list. `available` is false while the server refuses Journey items.
|
|
4884
|
+
* Requires `workflows:admin` and `journeys:write`.
|
|
4885
|
+
*/
|
|
4886
|
+
async listBundleJourneyCandidates(wid) {
|
|
4887
|
+
return this.fetch(bundlesPath(wid, "journey-candidates"));
|
|
4888
|
+
}
|
|
4889
|
+
/**
|
|
4890
|
+
* One Journey as the Bundle item that adds it: the whole Journey item the
|
|
4891
|
+
* server built (`item`), the Forms its conditions read and the Workflows its
|
|
4892
|
+
* actions start, or the `problems` that name what the Journey must change
|
|
4893
|
+
* first. The item never carries enrollment; `enrollmentOmitted` says the
|
|
4894
|
+
* Journey has automatic enrollment that was left out. Requires
|
|
4895
|
+
* `workflows:admin` and `journeys:write`.
|
|
4896
|
+
*/
|
|
4897
|
+
async getBundleJourneyCandidate(wid, journeyUuid) {
|
|
4898
|
+
return this.fetch(
|
|
4899
|
+
bundlesPath(wid, "journey-candidates", journeyUuid)
|
|
4900
|
+
);
|
|
4901
|
+
}
|
|
4860
4902
|
/** Create an empty Bundle owned by this workspace. */
|
|
4861
4903
|
async createBundle(wid, data) {
|
|
4862
4904
|
return this.fetch(bundlesPath(wid), {
|
|
@@ -4923,6 +4965,109 @@ var init_chunk_JTOMGNUO = __esm({
|
|
|
4923
4965
|
});
|
|
4924
4966
|
}
|
|
4925
4967
|
};
|
|
4968
|
+
DemoRefusalCode = {
|
|
4969
|
+
session_expired: "session_expired",
|
|
4970
|
+
session_capped: "session_capped",
|
|
4971
|
+
calls_capped: "calls_capped",
|
|
4972
|
+
session_ended: "session_ended",
|
|
4973
|
+
destination_not_allowed: "destination_not_allowed",
|
|
4974
|
+
sender_cannot_send: "sender_cannot_send",
|
|
4975
|
+
demo_not_available: "demo_not_available"
|
|
4976
|
+
};
|
|
4977
|
+
REFUSAL_CODES = Object.values(DemoRefusalCode);
|
|
4978
|
+
DemoRequestError = class extends ApiError {
|
|
4979
|
+
code;
|
|
4980
|
+
constructor(message, statusCode, code) {
|
|
4981
|
+
super(message, statusCode);
|
|
4982
|
+
this.name = "DemoRequestError";
|
|
4983
|
+
this.code = code;
|
|
4984
|
+
}
|
|
4985
|
+
};
|
|
4986
|
+
DemosApi = class extends BaseApiClient {
|
|
4987
|
+
/** Whether a Bundle has a Demo, and what a visitor may contact in it. Needs no session. */
|
|
4988
|
+
async getDemo(bundleUuid2) {
|
|
4989
|
+
return this.anonymous(`demos/${encodeURIComponent(bundleUuid2)}`, {
|
|
4990
|
+
method: "GET"
|
|
4991
|
+
});
|
|
4992
|
+
}
|
|
4993
|
+
/** Start a Demo session. Needs no session; `recaptchaToken` is required where reCAPTCHA is enforced. */
|
|
4994
|
+
async startDemoSession(bundleUuid2, data = {}) {
|
|
4995
|
+
return this.anonymous(
|
|
4996
|
+
`demos/${encodeURIComponent(bundleUuid2)}/sessions`,
|
|
4997
|
+
{ method: "POST", body: JSON.stringify(data) }
|
|
4998
|
+
);
|
|
4999
|
+
}
|
|
5000
|
+
/** Text one of the Demo's numbers as the session's Persona. */
|
|
5001
|
+
async sendDemoSessionSms(sessionToken, data) {
|
|
5002
|
+
return this.anonymous(
|
|
5003
|
+
"demos/sessions/sms",
|
|
5004
|
+
{ method: "POST", body: JSON.stringify(data) },
|
|
5005
|
+
sessionToken
|
|
5006
|
+
);
|
|
5007
|
+
}
|
|
5008
|
+
/** Email one of the Demo's inboxes as the session's Persona. Returns after the Agent's turn. */
|
|
5009
|
+
async sendDemoSessionEmail(sessionToken, data) {
|
|
5010
|
+
return this.anonymous(
|
|
5011
|
+
"demos/sessions/email",
|
|
5012
|
+
{ method: "POST", body: JSON.stringify(data) },
|
|
5013
|
+
sessionToken
|
|
5014
|
+
);
|
|
5015
|
+
}
|
|
5016
|
+
/**
|
|
5017
|
+
* Call one of the Demo's numbers as the session's Persona.
|
|
5018
|
+
*
|
|
5019
|
+
* For an `answered` call, `join` holds what a browser opens the call with:
|
|
5020
|
+
* the web voice socket `url`, a single-use login `token` for this call's
|
|
5021
|
+
* Chat, and `chatId`. Send them in `voice.login`. For a `not_answered`
|
|
5022
|
+
* call, `notAnsweredBranch` says what the number does and nothing connects.
|
|
5023
|
+
*/
|
|
5024
|
+
async placeDemoSessionCall(sessionToken, data) {
|
|
5025
|
+
return this.anonymous(
|
|
5026
|
+
"demos/sessions/call",
|
|
5027
|
+
{ method: "POST", body: JSON.stringify(data) },
|
|
5028
|
+
sessionToken
|
|
5029
|
+
);
|
|
5030
|
+
}
|
|
5031
|
+
/**
|
|
5032
|
+
* The session's own messages, oldest first, and its state. `after` returns
|
|
5033
|
+
* only the rows after that row id, so a poll reads what is new.
|
|
5034
|
+
*/
|
|
5035
|
+
async getDemoSessionTimeline(sessionToken, params) {
|
|
5036
|
+
const query = params?.after !== void 0 ? `?after=${encodeURIComponent(params.after)}` : "";
|
|
5037
|
+
return this.anonymous(
|
|
5038
|
+
`demos/sessions/timeline${query}`,
|
|
5039
|
+
{ method: "GET" },
|
|
5040
|
+
sessionToken
|
|
5041
|
+
);
|
|
5042
|
+
}
|
|
5043
|
+
/** End the session. Nothing further is captured on it. */
|
|
5044
|
+
async endDemoSession(sessionToken) {
|
|
5045
|
+
return this.anonymous(
|
|
5046
|
+
"demos/sessions/end",
|
|
5047
|
+
{ method: "POST" },
|
|
5048
|
+
sessionToken
|
|
5049
|
+
);
|
|
5050
|
+
}
|
|
5051
|
+
/**
|
|
5052
|
+
* A request that carries the Demo session token, or no credential at all.
|
|
5053
|
+
* It never sends this client's API key or the browser's cookies.
|
|
5054
|
+
*/
|
|
5055
|
+
async anonymous(endpoint, init, sessionToken) {
|
|
5056
|
+
const headers2 = new Headers({ "Content-Type": "application/json" });
|
|
5057
|
+
if (sessionToken) headers2.set("Authorization", `Bearer ${sessionToken}`);
|
|
5058
|
+
const response = await this.fetchFunction(`${this.baseUrl}/api/v2/${endpoint}`, {
|
|
5059
|
+
...init,
|
|
5060
|
+
headers: headers2,
|
|
5061
|
+
credentials: "omit"
|
|
5062
|
+
});
|
|
5063
|
+
if (!response.ok) {
|
|
5064
|
+
const body = await response.json().catch(() => ({}));
|
|
5065
|
+
const detail = typeof body.detail === "string" ? body.detail : `Request failed (${response.status})`;
|
|
5066
|
+
throw new DemoRequestError(detail, response.status, refusalCode(body.code));
|
|
5067
|
+
}
|
|
5068
|
+
return await response.json();
|
|
5069
|
+
}
|
|
5070
|
+
};
|
|
4926
5071
|
InstallationsApi = class extends BaseApiClient {
|
|
4927
5072
|
/** Inspect one published release and its selected example dependencies. */
|
|
4928
5073
|
async preflightBundleInstallation(wid, bundleUuid2, data) {
|
|
@@ -6203,9 +6348,25 @@ var init_chunk_JTOMGNUO = __esm({
|
|
|
6203
6348
|
`w/${wid}/calls${params.toString() ? `?${params.toString()}` : ""}`
|
|
6204
6349
|
);
|
|
6205
6350
|
}
|
|
6206
|
-
/**
|
|
6207
|
-
|
|
6208
|
-
|
|
6351
|
+
/**
|
|
6352
|
+
* Get message timing data for a chat recording. `source` selects whose
|
|
6353
|
+
* timeline the offsets are measured against; omitted means `standard`.
|
|
6354
|
+
*/
|
|
6355
|
+
async getMessageTiming(wid, chatId, options = {}) {
|
|
6356
|
+
const params = new URLSearchParams();
|
|
6357
|
+
if (options.source) params.set("source", options.source);
|
|
6358
|
+
return this.fetch(
|
|
6359
|
+
`w/${wid}/recordings/chat/${chatId}/message-timing${params.toString() ? `?${params.toString()}` : ""}`
|
|
6360
|
+
);
|
|
6361
|
+
}
|
|
6362
|
+
/**
|
|
6363
|
+
* Staff-only discovery of retained edge-stream capture for a chat:
|
|
6364
|
+
* whether any is retained, its aggregate coverage status, the interval it
|
|
6365
|
+
* covers, and closed reason codes. `available: false` when nothing is
|
|
6366
|
+
* retained; 403 for anyone who is not Gravity Rail staff.
|
|
6367
|
+
*/
|
|
6368
|
+
async getEdgeCaptureInfo(wid, chatId) {
|
|
6369
|
+
return this.fetch(`w/${wid}/recordings/chat/${chatId}/edge-capture`);
|
|
6209
6370
|
}
|
|
6210
6371
|
/**
|
|
6211
6372
|
* Get PHI-safe provenance metadata for the recording served by
|
|
@@ -6571,6 +6732,19 @@ var init_chunk_JTOMGNUO = __esm({
|
|
|
6571
6732
|
`w/${wid}/chats/${id}/messages${params.toString() ? `?${params.toString()}` : ""}`
|
|
6572
6733
|
);
|
|
6573
6734
|
}
|
|
6735
|
+
/** Who moved the chat's Assignment between Tasks, for a time window.
|
|
6736
|
+
* Pair it with `getChatMessages`: pass the window the message page covers as
|
|
6737
|
+
* `after` / `before` (ISO-8601, inclusive). The newest `limit` moves in the
|
|
6738
|
+
* window come back, oldest first. */
|
|
6739
|
+
async getChatTaskTransitions(wid, id, options) {
|
|
6740
|
+
const params = new URLSearchParams();
|
|
6741
|
+
if (options?.after) params.append("after", options.after);
|
|
6742
|
+
if (options?.before) params.append("before", options.before);
|
|
6743
|
+
if (options?.limit) params.append("limit", options.limit.toString());
|
|
6744
|
+
return this.fetch(
|
|
6745
|
+
`w/${wid}/chats/${id}/task-transitions${params.toString() ? `?${params.toString()}` : ""}`
|
|
6746
|
+
);
|
|
6747
|
+
}
|
|
6574
6748
|
/** List the background-work thread hanging off a message.
|
|
6575
6749
|
*
|
|
6576
6750
|
* When a tool trajectory outgrows its turn it detaches and runs in the
|
|
@@ -9787,7 +9961,8 @@ var init_chunk_JTOMGNUO = __esm({
|
|
|
9787
9961
|
return this.fetch(`o/${orgIdOrUuid}/bundles`);
|
|
9788
9962
|
}
|
|
9789
9963
|
/**
|
|
9790
|
-
* Update the settings an org admin owns: name, slug
|
|
9964
|
+
* Update the settings an org admin owns: name, slug, contact details and
|
|
9965
|
+
* the security contact.
|
|
9791
9966
|
*
|
|
9792
9967
|
* Deliberately NOT the admin organization update — `enforceCreditLimit`
|
|
9793
9968
|
* is superuser-only and is not a field on this endpoint's request model
|
|
@@ -11239,6 +11414,18 @@ var init_chunk_JTOMGNUO = __esm({
|
|
|
11239
11414
|
async getTestChatRun(wid, runId) {
|
|
11240
11415
|
return this.fetch(`w/${wid}/qualifications/test-chat-runs/${runId}`);
|
|
11241
11416
|
}
|
|
11417
|
+
/**
|
|
11418
|
+
* What a test run would have sent: the SMS, WhatsApp, email, call,
|
|
11419
|
+
* notification and escalation it prepared, with content, oldest first.
|
|
11420
|
+
* One entry per Member reached, naming the Member and the workspace phone
|
|
11421
|
+
* number or inbox used. Nothing in the list was delivered. `truncated` means the list is
|
|
11422
|
+
* incomplete.
|
|
11423
|
+
*/
|
|
11424
|
+
async listTestChatRunCapturedEffects(wid, runId) {
|
|
11425
|
+
return this.fetch(
|
|
11426
|
+
`w/${wid}/qualifications/test-chat-runs/${runId}/captured-effects`
|
|
11427
|
+
);
|
|
11428
|
+
}
|
|
11242
11429
|
async startTestChatRun(wid, workflowId, data = {}) {
|
|
11243
11430
|
return this.fetch(
|
|
11244
11431
|
`w/${wid}/qualifications/workflows/${workflowId}/test-chat-runs`,
|
|
@@ -11248,6 +11435,50 @@ var init_chunk_JTOMGNUO = __esm({
|
|
|
11248
11435
|
}
|
|
11249
11436
|
);
|
|
11250
11437
|
}
|
|
11438
|
+
/**
|
|
11439
|
+
* Text a workspace phone number as the run's Persona. The text enters the
|
|
11440
|
+
* inbound SMS pipeline; the Agent's reply is captured on the run and never
|
|
11441
|
+
* sent. `chatId` is the Chat the text landed in.
|
|
11442
|
+
*/
|
|
11443
|
+
async deliverTestChatRunSms(wid, runId, data) {
|
|
11444
|
+
return this.fetch(
|
|
11445
|
+
`w/${wid}/qualifications/test-chat-runs/${runId}/inbound/sms`,
|
|
11446
|
+
{
|
|
11447
|
+
method: "POST",
|
|
11448
|
+
body: JSON.stringify(data)
|
|
11449
|
+
}
|
|
11450
|
+
);
|
|
11451
|
+
}
|
|
11452
|
+
/**
|
|
11453
|
+
* Email a workspace inbox as the run's Persona. The email enters the
|
|
11454
|
+
* inbound email pipeline; the call returns after the Agent's turn, and the
|
|
11455
|
+
* reply is captured on the run and never sent.
|
|
11456
|
+
*/
|
|
11457
|
+
async deliverTestChatRunEmail(wid, runId, data) {
|
|
11458
|
+
return this.fetch(
|
|
11459
|
+
`w/${wid}/qualifications/test-chat-runs/${runId}/inbound/email`,
|
|
11460
|
+
{
|
|
11461
|
+
method: "POST",
|
|
11462
|
+
body: JSON.stringify(data)
|
|
11463
|
+
}
|
|
11464
|
+
);
|
|
11465
|
+
}
|
|
11466
|
+
/**
|
|
11467
|
+
* Call a workspace phone number as the run's Persona. When the Agent
|
|
11468
|
+
* answers (`answered: true`), `chatId` is the test Chat a browser joins
|
|
11469
|
+
* over the web voice socket (`voice.login` with that Chat id). Otherwise
|
|
11470
|
+
* `notAnsweredBranch` names what the number does with the call, and
|
|
11471
|
+
* nothing is run. No carrier is dialed.
|
|
11472
|
+
*/
|
|
11473
|
+
async placeTestChatRunCall(wid, runId, data) {
|
|
11474
|
+
return this.fetch(
|
|
11475
|
+
`w/${wid}/qualifications/test-chat-runs/${runId}/inbound/call`,
|
|
11476
|
+
{
|
|
11477
|
+
method: "POST",
|
|
11478
|
+
body: JSON.stringify(data)
|
|
11479
|
+
}
|
|
11480
|
+
);
|
|
11481
|
+
}
|
|
11251
11482
|
async evaluateTestChatRun(wid, runId) {
|
|
11252
11483
|
await this.fetch(`w/${wid}/qualifications/test-chat-runs/${runId}/evaluate`, {
|
|
11253
11484
|
method: "POST"
|
|
@@ -15360,6 +15591,7 @@ var init_chunk_JTOMGNUO = __esm({
|
|
|
15360
15591
|
"getInstallationReadiness",
|
|
15361
15592
|
"getThemeSettingsSchema",
|
|
15362
15593
|
"getBundleDraft",
|
|
15594
|
+
"getBundleJourneyCandidate",
|
|
15363
15595
|
"getBundle",
|
|
15364
15596
|
"getBundleVersion",
|
|
15365
15597
|
"getBusinessHoursStatus",
|
|
@@ -15391,6 +15623,7 @@ var init_chunk_JTOMGNUO = __esm({
|
|
|
15391
15623
|
"getChatLabels",
|
|
15392
15624
|
"getChatMachineResources",
|
|
15393
15625
|
"getChatMessages",
|
|
15626
|
+
"getChatTaskTransitions",
|
|
15394
15627
|
"getChatModelOverride",
|
|
15395
15628
|
"getChatPhoneCalls",
|
|
15396
15629
|
"getChatSkills",
|
|
@@ -15448,6 +15681,7 @@ var init_chunk_JTOMGNUO = __esm({
|
|
|
15448
15681
|
"getDocumoFaxSetup",
|
|
15449
15682
|
"listDocumoFaxes",
|
|
15450
15683
|
"getDocumoFaxStatus",
|
|
15684
|
+
"getEdgeCaptureInfo",
|
|
15451
15685
|
"getEnrollmentStatusLog",
|
|
15452
15686
|
"getEventRule",
|
|
15453
15687
|
"getEventRules",
|
|
@@ -15728,6 +15962,7 @@ var init_chunk_JTOMGNUO = __esm({
|
|
|
15728
15962
|
"listAvailableAppConnections",
|
|
15729
15963
|
"listInstallations",
|
|
15730
15964
|
"listBundleGrants",
|
|
15965
|
+
"listBundleJourneyCandidates",
|
|
15731
15966
|
"listBundleVersions",
|
|
15732
15967
|
"listBundles",
|
|
15733
15968
|
"listBundleWorkflowCandidates",
|
|
@@ -15764,6 +15999,10 @@ var init_chunk_JTOMGNUO = __esm({
|
|
|
15764
15999
|
"listSalesforceObjects",
|
|
15765
16000
|
"listScenarioHealthSummaries",
|
|
15766
16001
|
"listScenarios",
|
|
16002
|
+
"listTestChatRunCapturedEffects",
|
|
16003
|
+
"deliverTestChatRunSms",
|
|
16004
|
+
"deliverTestChatRunEmail",
|
|
16005
|
+
"placeTestChatRunCall",
|
|
15767
16006
|
"listTestChatRuns",
|
|
15768
16007
|
"listWidgetDomains",
|
|
15769
16008
|
"listWorkspaceInvitationsAdmin",
|
|
@@ -16018,6 +16257,7 @@ var init_chunk_JTOMGNUO = __esm({
|
|
|
16018
16257
|
updateChatMute;
|
|
16019
16258
|
summarizeChat;
|
|
16020
16259
|
getChatMessages;
|
|
16260
|
+
getChatTaskTransitions;
|
|
16021
16261
|
getChildThreadMessages;
|
|
16022
16262
|
getChatToolCallMessages;
|
|
16023
16263
|
getChatTools;
|
|
@@ -16049,6 +16289,7 @@ var init_chunk_JTOMGNUO = __esm({
|
|
|
16049
16289
|
getPhoneCalls;
|
|
16050
16290
|
getMessageTiming;
|
|
16051
16291
|
getRecordingInfo;
|
|
16292
|
+
getEdgeCaptureInfo;
|
|
16052
16293
|
listChatRecordings;
|
|
16053
16294
|
getCallRecordingDownloadUrl;
|
|
16054
16295
|
getCelContext;
|
|
@@ -16192,6 +16433,10 @@ var init_chunk_JTOMGNUO = __esm({
|
|
|
16192
16433
|
listTestChatRuns;
|
|
16193
16434
|
listScenarioHealthSummaries;
|
|
16194
16435
|
getTestChatRun;
|
|
16436
|
+
listTestChatRunCapturedEffects;
|
|
16437
|
+
deliverTestChatRunSms;
|
|
16438
|
+
deliverTestChatRunEmail;
|
|
16439
|
+
placeTestChatRunCall;
|
|
16195
16440
|
startTestChatRun;
|
|
16196
16441
|
evaluateTestChatRun;
|
|
16197
16442
|
endTestChatRun;
|
|
@@ -16303,6 +16548,14 @@ var init_chunk_JTOMGNUO = __esm({
|
|
|
16303
16548
|
createJourneyNote;
|
|
16304
16549
|
updateJourneyNote;
|
|
16305
16550
|
deleteJourneyNote;
|
|
16551
|
+
// Demos API
|
|
16552
|
+
getDemo;
|
|
16553
|
+
startDemoSession;
|
|
16554
|
+
sendDemoSessionSms;
|
|
16555
|
+
sendDemoSessionEmail;
|
|
16556
|
+
placeDemoSessionCall;
|
|
16557
|
+
getDemoSessionTimeline;
|
|
16558
|
+
endDemoSession;
|
|
16306
16559
|
updateBundle;
|
|
16307
16560
|
listBundleInstallations;
|
|
16308
16561
|
// Bundles API
|
|
@@ -16310,6 +16563,8 @@ var init_chunk_JTOMGNUO = __esm({
|
|
|
16310
16563
|
getPublicBundle;
|
|
16311
16564
|
listBundles;
|
|
16312
16565
|
listBundleWorkflowCandidates;
|
|
16566
|
+
listBundleJourneyCandidates;
|
|
16567
|
+
getBundleJourneyCandidate;
|
|
16313
16568
|
createBundle;
|
|
16314
16569
|
getBundleDraft;
|
|
16315
16570
|
replaceBundleDraft;
|
|
@@ -17163,6 +17418,7 @@ var init_chunk_JTOMGNUO = __esm({
|
|
|
17163
17418
|
bindTrackedLinksMethods(this, apis.trackedLinks);
|
|
17164
17419
|
bindJourneysMethods(this, apis.journeys);
|
|
17165
17420
|
bindBundlesMethods(this, apis.bundles, apis.resourceWorkflows);
|
|
17421
|
+
bindDemosMethods(this, apis.demos);
|
|
17166
17422
|
bindInstallationsMethods(this, apis.installations);
|
|
17167
17423
|
bindExperimentsMethods(this, apis.experiments);
|
|
17168
17424
|
bindOperatorMethods(this, apis.operatorGroups);
|
|
@@ -17393,7 +17649,7 @@ var init_chunk_6KPGCPGW = __esm({
|
|
|
17393
17649
|
var SEARCHABLE_EVENT_RULE_SOURCE_FIELDS, ActivityEventType, EntityKind;
|
|
17394
17650
|
var init_dist = __esm({
|
|
17395
17651
|
"../sdk/dist/index.js"() {
|
|
17396
|
-
|
|
17652
|
+
init_chunk_G32MQGJD();
|
|
17397
17653
|
init_chunk_72SWNLVD();
|
|
17398
17654
|
init_chunk_6KPGCPGW();
|
|
17399
17655
|
init_chunk_67QXTQVL();
|
|
@@ -25023,10 +25279,14 @@ Assistant / models (live on the DRAFT revision \u2014 publish to go live)
|
|
|
25023
25279
|
chatModelId (string) Text chat model (see \`gr ai-models chat\`)
|
|
25024
25280
|
chatModelConfig (object|null) Chat model overrides
|
|
25025
25281
|
realtimeModelId (string|null) Voice/realtime model (see \`gr ai-models realtime\`)
|
|
25282
|
+
create: omit \u2192 xai:realtime:voice-agent-2 with
|
|
25283
|
+
voice xai:voice:cosmo; null = voice off
|
|
25284
|
+
update: null = voice off
|
|
25026
25285
|
One-shot voice example:
|
|
25027
25286
|
{"realtimeModelId":"xai:realtime:voice-agent-2"}
|
|
25028
|
-
|
|
25029
|
-
|
|
25287
|
+
A native model named WITHOUT a config gets
|
|
25288
|
+
tts=native + the provider fallback voice
|
|
25289
|
+
(xAI \u2192 xai:voice:eve, not cosmo). Explicit config:
|
|
25030
25290
|
{"realtimeModelId":"xai:realtime:voice-agent-2",
|
|
25031
25291
|
"realtimeModelConfig":{"ttsModel":"native",
|
|
25032
25292
|
"voiceModel":"xai:voice:ara"}}
|
|
@@ -31295,7 +31555,6 @@ init_output();
|
|
|
31295
31555
|
var COLUMNS12 = [
|
|
31296
31556
|
COL.id(),
|
|
31297
31557
|
COL.name(),
|
|
31298
|
-
{ header: "AGE", getValue: (item) => item.age != null ? String(item.age) : "" },
|
|
31299
31558
|
{
|
|
31300
31559
|
header: "HAS_PHONE",
|
|
31301
31560
|
getValue: (item) => item.hasPhone ? "yes" : "no"
|
|
@@ -39152,6 +39411,14 @@ init_context();
|
|
|
39152
39411
|
function runOutcome(run) {
|
|
39153
39412
|
return run.outcome ?? run.status ?? "";
|
|
39154
39413
|
}
|
|
39414
|
+
function replayedPages(run) {
|
|
39415
|
+
return typeof run.replayedPages === "number" ? run.replayedPages : 0;
|
|
39416
|
+
}
|
|
39417
|
+
function countSummary(run) {
|
|
39418
|
+
const replayed = replayedPages(run);
|
|
39419
|
+
const replay = replayed > 0 ? `, replayed pages: ${replayed}` : "";
|
|
39420
|
+
return `${run.synced} synced, ${run.failed} failed, ${run.skipped} skipped (${run.total} total${replay})`;
|
|
39421
|
+
}
|
|
39155
39422
|
var RUN_COLUMNS2 = [
|
|
39156
39423
|
{ header: "RUN ID", getValue: (item) => item.runId ?? "" },
|
|
39157
39424
|
{ header: "OUTCOME", getValue: (item) => runOutcome(item) },
|
|
@@ -39161,6 +39428,7 @@ var RUN_COLUMNS2 = [
|
|
|
39161
39428
|
{ header: "SYNCED", getValue: (item) => String(item.synced ?? 0) },
|
|
39162
39429
|
{ header: "FAILED", getValue: (item) => String(item.failed ?? 0) },
|
|
39163
39430
|
{ header: "SKIPPED", getValue: (item) => String(item.skipped ?? 0) },
|
|
39431
|
+
{ header: "REPLAYED PAGES", getValue: (item) => String(replayedPages(item)) },
|
|
39164
39432
|
{ header: "DRY RUN", getValue: (item) => item.dryRun ? "yes" : "no" },
|
|
39165
39433
|
{ header: "STARTED", getValue: (item) => item.startedAt ?? "" }
|
|
39166
39434
|
];
|
|
@@ -39199,9 +39467,7 @@ async function streamSyncRun(response, verbose) {
|
|
|
39199
39467
|
lastRun = data;
|
|
39200
39468
|
if (verbose) {
|
|
39201
39469
|
const s = data;
|
|
39202
|
-
process.stderr.write(
|
|
39203
|
-
`\r ${runOutcome(s)} \u2014 ${s.synced} synced, ${s.failed} failed, ${s.skipped} skipped (${s.total} total)`
|
|
39204
|
-
);
|
|
39470
|
+
process.stderr.write(`\r ${runOutcome(s)} \u2014 ${countSummary(s)}`);
|
|
39205
39471
|
}
|
|
39206
39472
|
} else if (data.type === "sync_item") {
|
|
39207
39473
|
if (verbose) {
|
|
@@ -46082,7 +46348,7 @@ init_concierge_api();
|
|
|
46082
46348
|
|
|
46083
46349
|
// package.json
|
|
46084
46350
|
var package_default = {
|
|
46085
|
-
version: "0.
|
|
46351
|
+
version: "0.43.0"};
|
|
46086
46352
|
|
|
46087
46353
|
// src/gr.ts
|
|
46088
46354
|
var VERSION = package_default.version;
|