@gravity-rail/cli 0.40.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 CHANGED
@@ -3205,7 +3205,7 @@ var init_libphonenumber_js = __esm({
3205
3205
  }
3206
3206
  });
3207
3207
 
3208
- // ../sdk/dist/chunk-ZTUOB4V2.js
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);
@@ -4053,7 +4059,7 @@ function bindWorkflowsMethods(target, workflows, workflowNotes, voice, superviso
4053
4059
  target.getWorkflowActivity = workflows.getWorkflowActivity.bind(workflows);
4054
4060
  target.getWorkflowsActivityBatch = workflows.getWorkflowsActivityBatch.bind(workflows);
4055
4061
  target.getWorkflowDiagram = workflows.getWorkflowDiagram.bind(workflows);
4056
- target.getWorkflowThumbnailUrl = workflows.getWorkflowThumbnailUrl.bind(workflows);
4062
+ target.getWorkflowOutline = workflows.getWorkflowOutline.bind(workflows);
4057
4063
  target.createWorkflow = workflows.createWorkflow.bind(workflows);
4058
4064
  target.updateWorkflow = workflows.updateWorkflow.bind(workflows);
4059
4065
  target.getWorkflowDeletionPreview = workflows.getWorkflowDeletionPreview.bind(workflows);
@@ -4524,11 +4530,14 @@ function bindResourceWorkflowsMethods(target, resourceWorkflows) {
4524
4530
  }
4525
4531
  function bindBundlesMethods(target, bundles, resourceWorkflows) {
4526
4532
  bindResourceWorkflowsMethods(target, resourceWorkflows);
4527
- target.getSolutionRelease = bundles.getSolutionRelease.bind(bundles);
4533
+ target.listPublicBundles = bundles.listPublicBundles.bind(bundles);
4534
+ target.getPublicBundle = bundles.getPublicBundle.bind(bundles);
4528
4535
  target.updateBundle = bundles.updateBundle.bind(bundles);
4529
4536
  target.listBundleInstallations = bundles.listBundleInstallations.bind(bundles);
4530
4537
  target.listBundles = bundles.listBundles.bind(bundles);
4531
4538
  target.listBundleWorkflowCandidates = bundles.listBundleWorkflowCandidates.bind(bundles);
4539
+ target.listBundleJourneyCandidates = bundles.listBundleJourneyCandidates.bind(bundles);
4540
+ target.getBundleJourneyCandidate = bundles.getBundleJourneyCandidate.bind(bundles);
4532
4541
  target.createBundle = bundles.createBundle.bind(bundles);
4533
4542
  target.getBundleDraft = bundles.getBundleDraft.bind(bundles);
4534
4543
  target.replaceBundleDraft = bundles.replaceBundleDraft.bind(bundles);
@@ -4541,6 +4550,15 @@ function bindBundlesMethods(target, bundles, resourceWorkflows) {
4541
4550
  target.revokeBundleGrant = bundles.revokeBundleGrant.bind(bundles);
4542
4551
  target.listResourceWorkflows = resourceWorkflows.listResourceWorkflows.bind(resourceWorkflows);
4543
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
+ }
4544
4562
  function bindInstallationsMethods(target, installations) {
4545
4563
  target.preflightBundleInstallation = installations.preflightBundleInstallation.bind(installations);
4546
4564
  target.installBundle = installations.installBundle.bind(installations);
@@ -4610,6 +4628,10 @@ function bindQualificationsMethods(target, qualifications) {
4610
4628
  target.listTestChatRuns = qualifications.listTestChatRuns.bind(qualifications);
4611
4629
  target.listScenarioHealthSummaries = qualifications.listScenarioHealthSummaries.bind(qualifications);
4612
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);
4613
4635
  target.startTestChatRun = qualifications.startTestChatRun.bind(qualifications);
4614
4636
  target.evaluateTestChatRun = qualifications.evaluateTestChatRun.bind(qualifications);
4615
4637
  target.endTestChatRun = qualifications.endTestChatRun.bind(qualifications);
@@ -4702,9 +4724,9 @@ function getRevisionState(workflow, revision) {
4702
4724
  state: revision?.publishedAt != null ? "published" : "draft"
4703
4725
  };
4704
4726
  }
4705
- 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;
4706
- var init_chunk_ZTUOB4V2 = __esm({
4707
- "../sdk/dist/chunk-ZTUOB4V2.js"() {
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"() {
4708
4730
  init_chunk_67QXTQVL();
4709
4731
  init_libphonenumber_js();
4710
4732
  AbilitiesApi = class extends BaseApiClient {
@@ -4812,11 +4834,15 @@ var init_chunk_ZTUOB4V2 = __esm({
4812
4834
  }
4813
4835
  };
4814
4836
  BundlesApi = class extends BaseApiClient {
4815
- /** Official solution metadata, independent of the default workspace Library. */
4816
- async getSolutionRelease(slug) {
4817
- return this.fetch(`solutions/${encodeURIComponent(slug)}`);
4837
+ /** Bundles shared with everyone. Needs no session. */
4838
+ async listPublicBundles(params) {
4839
+ return this.fetch(`bundles/public${pageQuery(params)}`);
4818
4840
  }
4819
- /** Read an authorized Bundle by UUID, including official solutions hidden from discovery. */
4841
+ /** The outline of one Bundle shared with everyone. Needs no session; 404 otherwise. */
4842
+ async getPublicBundle(bundleUuid2) {
4843
+ return this.fetch(`bundles/${encodeURIComponent(bundleUuid2)}/public`);
4844
+ }
4845
+ /** Read an authorized Bundle by UUID. */
4820
4846
  async getBundle(wid, bundleUuid2) {
4821
4847
  return this.fetch(bundlesPath(wid, bundleUuid2));
4822
4848
  }
@@ -4852,6 +4878,27 @@ var init_chunk_ZTUOB4V2 = __esm({
4852
4878
  async listBundleWorkflowCandidates(wid) {
4853
4879
  return this.fetch(bundlesPath(wid, "workflow-candidates"));
4854
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
+ }
4855
4902
  /** Create an empty Bundle owned by this workspace. */
4856
4903
  async createBundle(wid, data) {
4857
4904
  return this.fetch(bundlesPath(wid), {
@@ -4901,9 +4948,9 @@ var init_chunk_ZTUOB4V2 = __esm({
4901
4948
  return this.fetch(bundlesPath(wid, bundleUuid2, "grants"));
4902
4949
  }
4903
4950
  /**
4904
- * Share throughout the publisher's organization with organization-admin authority.
4905
- * Workspace-specific and global author grants are refused. Official public
4906
- * solutions use the separate staff approval API.
4951
+ * Share throughout the publisher's organization with organization-admin authority,
4952
+ * or with everyone (`granteeType: "global"`) as a superuser. Workspace-specific
4953
+ * grants are refused.
4907
4954
  */
4908
4955
  async grantBundle(wid, bundleUuid2, data) {
4909
4956
  return this.fetch(bundlesPath(wid, bundleUuid2, "grants"), {
@@ -4918,6 +4965,109 @@ var init_chunk_ZTUOB4V2 = __esm({
4918
4965
  });
4919
4966
  }
4920
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
+ };
4921
5071
  InstallationsApi = class extends BaseApiClient {
4922
5072
  /** Inspect one published release and its selected example dependencies. */
4923
5073
  async preflightBundleInstallation(wid, bundleUuid2, data) {
@@ -6198,9 +6348,25 @@ var init_chunk_ZTUOB4V2 = __esm({
6198
6348
  `w/${wid}/calls${params.toString() ? `?${params.toString()}` : ""}`
6199
6349
  );
6200
6350
  }
6201
- /** Get message timing data for a chat recording. */
6202
- async getMessageTiming(wid, chatId) {
6203
- return this.fetch(`w/${wid}/recordings/chat/${chatId}/message-timing`);
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`);
6204
6370
  }
6205
6371
  /**
6206
6372
  * Get PHI-safe provenance metadata for the recording served by
@@ -6566,6 +6732,19 @@ var init_chunk_ZTUOB4V2 = __esm({
6566
6732
  `w/${wid}/chats/${id}/messages${params.toString() ? `?${params.toString()}` : ""}`
6567
6733
  );
6568
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
+ }
6569
6748
  /** List the background-work thread hanging off a message.
6570
6749
  *
6571
6750
  * When a tool trajectory outgrows its turn it detaches and runs in the
@@ -9782,7 +9961,8 @@ var init_chunk_ZTUOB4V2 = __esm({
9782
9961
  return this.fetch(`o/${orgIdOrUuid}/bundles`);
9783
9962
  }
9784
9963
  /**
9785
- * Update the settings an org admin owns: name, slug and contact details.
9964
+ * Update the settings an org admin owns: name, slug, contact details and
9965
+ * the security contact.
9786
9966
  *
9787
9967
  * Deliberately NOT the admin organization update — `enforceCreditLimit`
9788
9968
  * is superuser-only and is not a field on this endpoint's request model
@@ -11234,6 +11414,18 @@ var init_chunk_ZTUOB4V2 = __esm({
11234
11414
  async getTestChatRun(wid, runId) {
11235
11415
  return this.fetch(`w/${wid}/qualifications/test-chat-runs/${runId}`);
11236
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
+ }
11237
11429
  async startTestChatRun(wid, workflowId, data = {}) {
11238
11430
  return this.fetch(
11239
11431
  `w/${wid}/qualifications/workflows/${workflowId}/test-chat-runs`,
@@ -11243,6 +11435,50 @@ var init_chunk_ZTUOB4V2 = __esm({
11243
11435
  }
11244
11436
  );
11245
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
+ }
11246
11482
  async evaluateTestChatRun(wid, runId) {
11247
11483
  await this.fetch(`w/${wid}/qualifications/test-chat-runs/${runId}/evaluate`, {
11248
11484
  method: "POST"
@@ -13038,15 +13274,11 @@ var init_chunk_ZTUOB4V2 = __esm({
13038
13274
  return this.fetch(`w/${wid}/workflows/${id}/diagram${query}`);
13039
13275
  }
13040
13276
  /**
13041
- * Get workflow thumbnail URL.
13042
- * For cross-domain setups, returns a same-origin proxy URL to ensure cookies are sent.
13043
- * For same-origin setups, returns the direct API URL.
13277
+ * The outline a Workflow's diagram is drawn from: its active Tasks, its
13278
+ * start Task, the moves between Tasks and its Ability types.
13044
13279
  */
13045
- getWorkflowThumbnailUrl(wid, id) {
13046
- if (this.isCrossDomain) {
13047
- return `/api/v2/w/${wid}/workflows/${id}/thumbnail`;
13048
- }
13049
- return `${this.baseUrl}/api/v2/w/${wid}/workflows/${id}/thumbnail`;
13280
+ async getWorkflowOutline(wid, id) {
13281
+ return this.fetch(`w/${wid}/workflows/${id}/outline`);
13050
13282
  }
13051
13283
  /** Create a new workflow in a workspace. */
13052
13284
  async createWorkflow(wid, workflow) {
@@ -15359,6 +15591,7 @@ var init_chunk_ZTUOB4V2 = __esm({
15359
15591
  "getInstallationReadiness",
15360
15592
  "getThemeSettingsSchema",
15361
15593
  "getBundleDraft",
15594
+ "getBundleJourneyCandidate",
15362
15595
  "getBundle",
15363
15596
  "getBundleVersion",
15364
15597
  "getBusinessHoursStatus",
@@ -15390,6 +15623,7 @@ var init_chunk_ZTUOB4V2 = __esm({
15390
15623
  "getChatLabels",
15391
15624
  "getChatMachineResources",
15392
15625
  "getChatMessages",
15626
+ "getChatTaskTransitions",
15393
15627
  "getChatModelOverride",
15394
15628
  "getChatPhoneCalls",
15395
15629
  "getChatSkills",
@@ -15447,6 +15681,7 @@ var init_chunk_ZTUOB4V2 = __esm({
15447
15681
  "getDocumoFaxSetup",
15448
15682
  "listDocumoFaxes",
15449
15683
  "getDocumoFaxStatus",
15684
+ "getEdgeCaptureInfo",
15450
15685
  "getEnrollmentStatusLog",
15451
15686
  "getEventRule",
15452
15687
  "getEventRules",
@@ -15673,11 +15908,11 @@ var init_chunk_ZTUOB4V2 = __esm({
15673
15908
  "getWorkflowDeletionPreview",
15674
15909
  "getWorkflowDiagram",
15675
15910
  "getWorkflowNotes",
15911
+ "getWorkflowOutline",
15676
15912
  "getWorkflowRevision",
15677
15913
  "getWorkflowRevisions",
15678
15914
  "getWorkflowTaskAssignmentStats",
15679
15915
  "getWorkflowTemplates",
15680
- "getWorkflowThumbnailUrl",
15681
15916
  "getWorkflows",
15682
15917
  "getWorkflowsActivityBatch",
15683
15918
  "getWorkspace",
@@ -15727,6 +15962,7 @@ var init_chunk_ZTUOB4V2 = __esm({
15727
15962
  "listAvailableAppConnections",
15728
15963
  "listInstallations",
15729
15964
  "listBundleGrants",
15965
+ "listBundleJourneyCandidates",
15730
15966
  "listBundleVersions",
15731
15967
  "listBundles",
15732
15968
  "listBundleWorkflowCandidates",
@@ -15763,6 +15999,10 @@ var init_chunk_ZTUOB4V2 = __esm({
15763
15999
  "listSalesforceObjects",
15764
16000
  "listScenarioHealthSummaries",
15765
16001
  "listScenarios",
16002
+ "listTestChatRunCapturedEffects",
16003
+ "deliverTestChatRunSms",
16004
+ "deliverTestChatRunEmail",
16005
+ "placeTestChatRunCall",
15766
16006
  "listTestChatRuns",
15767
16007
  "listWidgetDomains",
15768
16008
  "listWorkspaceInvitationsAdmin",
@@ -16017,6 +16257,7 @@ var init_chunk_ZTUOB4V2 = __esm({
16017
16257
  updateChatMute;
16018
16258
  summarizeChat;
16019
16259
  getChatMessages;
16260
+ getChatTaskTransitions;
16020
16261
  getChildThreadMessages;
16021
16262
  getChatToolCallMessages;
16022
16263
  getChatTools;
@@ -16048,6 +16289,7 @@ var init_chunk_ZTUOB4V2 = __esm({
16048
16289
  getPhoneCalls;
16049
16290
  getMessageTiming;
16050
16291
  getRecordingInfo;
16292
+ getEdgeCaptureInfo;
16051
16293
  listChatRecordings;
16052
16294
  getCallRecordingDownloadUrl;
16053
16295
  getCelContext;
@@ -16191,6 +16433,10 @@ var init_chunk_ZTUOB4V2 = __esm({
16191
16433
  listTestChatRuns;
16192
16434
  listScenarioHealthSummaries;
16193
16435
  getTestChatRun;
16436
+ listTestChatRunCapturedEffects;
16437
+ deliverTestChatRunSms;
16438
+ deliverTestChatRunEmail;
16439
+ placeTestChatRunCall;
16194
16440
  startTestChatRun;
16195
16441
  evaluateTestChatRun;
16196
16442
  endTestChatRun;
@@ -16302,12 +16548,23 @@ var init_chunk_ZTUOB4V2 = __esm({
16302
16548
  createJourneyNote;
16303
16549
  updateJourneyNote;
16304
16550
  deleteJourneyNote;
16551
+ // Demos API
16552
+ getDemo;
16553
+ startDemoSession;
16554
+ sendDemoSessionSms;
16555
+ sendDemoSessionEmail;
16556
+ placeDemoSessionCall;
16557
+ getDemoSessionTimeline;
16558
+ endDemoSession;
16305
16559
  updateBundle;
16306
16560
  listBundleInstallations;
16307
16561
  // Bundles API
16308
- getSolutionRelease;
16562
+ listPublicBundles;
16563
+ getPublicBundle;
16309
16564
  listBundles;
16310
16565
  listBundleWorkflowCandidates;
16566
+ listBundleJourneyCandidates;
16567
+ getBundleJourneyCandidate;
16311
16568
  createBundle;
16312
16569
  getBundleDraft;
16313
16570
  replaceBundleDraft;
@@ -16671,7 +16928,7 @@ var init_chunk_ZTUOB4V2 = __esm({
16671
16928
  getWorkflowActivity;
16672
16929
  getWorkflowsActivityBatch;
16673
16930
  getWorkflowDiagram;
16674
- getWorkflowThumbnailUrl;
16931
+ getWorkflowOutline;
16675
16932
  createWorkflow;
16676
16933
  updateWorkflow;
16677
16934
  getWorkflowDeletionPreview;
@@ -17161,6 +17418,7 @@ var init_chunk_ZTUOB4V2 = __esm({
17161
17418
  bindTrackedLinksMethods(this, apis.trackedLinks);
17162
17419
  bindJourneysMethods(this, apis.journeys);
17163
17420
  bindBundlesMethods(this, apis.bundles, apis.resourceWorkflows);
17421
+ bindDemosMethods(this, apis.demos);
17164
17422
  bindInstallationsMethods(this, apis.installations);
17165
17423
  bindExperimentsMethods(this, apis.experiments);
17166
17424
  bindOperatorMethods(this, apis.operatorGroups);
@@ -17391,7 +17649,7 @@ var init_chunk_6KPGCPGW = __esm({
17391
17649
  var SEARCHABLE_EVENT_RULE_SOURCE_FIELDS, ActivityEventType, EntityKind;
17392
17650
  var init_dist = __esm({
17393
17651
  "../sdk/dist/index.js"() {
17394
- init_chunk_ZTUOB4V2();
17652
+ init_chunk_G32MQGJD();
17395
17653
  init_chunk_72SWNLVD();
17396
17654
  init_chunk_6KPGCPGW();
17397
17655
  init_chunk_67QXTQVL();
@@ -25021,10 +25279,14 @@ Assistant / models (live on the DRAFT revision \u2014 publish to go live)
25021
25279
  chatModelId (string) Text chat model (see \`gr ai-models chat\`)
25022
25280
  chatModelConfig (object|null) Chat model overrides
25023
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
25024
25285
  One-shot voice example:
25025
25286
  {"realtimeModelId":"xai:realtime:voice-agent-2"}
25026
- Native models auto-fill tts=native + default voice
25027
- (xAI \u2192 xai:voice:eve). Optional explicit config:
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:
25028
25290
  {"realtimeModelId":"xai:realtime:voice-agent-2",
25029
25291
  "realtimeModelConfig":{"ttsModel":"native",
25030
25292
  "voiceModel":"xai:voice:ara"}}
@@ -29404,6 +29666,23 @@ async function readBindings(hctx) {
29404
29666
  }
29405
29667
  return payload;
29406
29668
  }
29669
+ var CREATE_INBOX_ARG = {
29670
+ name: "create-inbox",
29671
+ description: "Comma-separated Inbox slot keys to fill by creating an Inbox (one per installation, named for the Bundle; needs inboxes:write)"
29672
+ };
29673
+ async function readSlotTargets(hctx) {
29674
+ const bindings = await readBindings(hctx);
29675
+ const keys = (optionalString(hctx.args, "create-inbox") ?? "").split(",").map((key) => key.trim()).filter(Boolean);
29676
+ if (keys.length === 0) return bindings;
29677
+ const merged = { ...bindings };
29678
+ for (const key of keys) {
29679
+ if (merged[key]) {
29680
+ throw new CLIError(`--create-inbox "${key}" is also set in --bindings; choose one`);
29681
+ }
29682
+ merged[key] = { kind: "new_inbox" };
29683
+ }
29684
+ return merged;
29685
+ }
29407
29686
  async function guardConflict(run, hint2) {
29408
29687
  try {
29409
29688
  return await run();
@@ -29477,18 +29756,20 @@ var installationCommands = [
29477
29756
  {
29478
29757
  name: "bindings",
29479
29758
  description: "Path to a JSON object mapping slot keys to targets"
29480
- }
29759
+ },
29760
+ CREATE_INBOX_ARG
29481
29761
  ],
29482
29762
  examples: [
29483
29763
  "gr bundles install -w $WID --bundle <bundle-uuid> --allow-write",
29484
- "gr bundles install -w $WID --bundle <bundle-uuid> --bindings bindings.json --allow-write"
29764
+ "gr bundles install -w $WID --bundle <bundle-uuid> --bindings bindings.json --allow-write",
29765
+ "gr bundles install -w $WID --bundle <bundle-uuid> --create-inbox program.inbox --allow-write"
29485
29766
  ],
29486
29767
  handler: async (hctx) => {
29487
29768
  const bundle = requireBundleUuid(hctx);
29488
29769
  const summary = await getBundleSummary(hctx, bundle);
29489
29770
  const version = summary.publishedVersion;
29490
29771
  if (version == null) throw new CLIError("Publish the Bundle before installing it");
29491
- const bindings = await readBindings(hctx);
29772
+ const bindings = await readSlotTargets(hctx);
29492
29773
  const result2 = await guardConflict(
29493
29774
  () => client(hctx).installBundle(hctx.workspace, bundle, {
29494
29775
  version,
@@ -29603,6 +29884,7 @@ var installationCommands = [
29603
29884
  name: "bindings",
29604
29885
  description: "Path to a JSON object mapping new slot keys to targets"
29605
29886
  },
29887
+ CREATE_INBOX_ARG,
29606
29888
  { name: "preview", description: "Show what would change and write nothing", isFlag: true }
29607
29889
  ],
29608
29890
  examples: [
@@ -29619,7 +29901,7 @@ var installationCommands = [
29619
29901
  );
29620
29902
  return;
29621
29903
  }
29622
- const bindings = await readBindings(hctx);
29904
+ const bindings = await readSlotTargets(hctx);
29623
29905
  const result2 = await guardConflict(
29624
29906
  () => client(hctx).upgradeInstallation(hctx.workspace, uuid, {
29625
29907
  toVersion: to,
@@ -29661,17 +29943,17 @@ var installationCommands = [
29661
29943
  INSTALLATION_ARG,
29662
29944
  {
29663
29945
  name: "bindings",
29664
- description: "Path to a JSON object mapping slot keys to targets",
29665
- required: true
29666
- }
29946
+ description: "Path to a JSON object mapping slot keys to targets"
29947
+ },
29948
+ CREATE_INBOX_ARG
29667
29949
  ],
29668
29950
  examples: [
29669
29951
  "gr bundles bind -w $WID --installation <installation-uuid> --bindings bindings.json --allow-write"
29670
29952
  ],
29671
29953
  handler: async (hctx) => {
29672
- const bindings = await readBindings(hctx);
29954
+ const bindings = await readSlotTargets(hctx);
29673
29955
  if (!bindings || Object.keys(bindings).length === 0) {
29674
- throw new CLIError("--bindings must name at least one slot");
29956
+ throw new CLIError("--bindings or --create-inbox must name at least one slot");
29675
29957
  }
29676
29958
  const result2 = await guardConflict(
29677
29959
  () => client(hctx).bindInstallationSlots(hctx.workspace, installationUuid(hctx), {
@@ -29760,6 +30042,18 @@ function parseDraftItems(payload) {
29760
30042
  });
29761
30043
  return items;
29762
30044
  }
30045
+ function parseDraftLinks(payload) {
30046
+ const links = payload.links;
30047
+ if (links === void 0) return void 0;
30048
+ if (!Array.isArray(links)) throw new CLIError('"links" must be an array');
30049
+ links.forEach((link, index) => {
30050
+ const record2 = link;
30051
+ if (typeof record2 !== "object" || record2 === null || typeof record2.label !== "string" || typeof record2.url !== "string") {
30052
+ throw new CLIError(`links[${index}] needs string "label" and "url"`);
30053
+ }
30054
+ });
30055
+ return links;
30056
+ }
29763
30057
  async function currentGeneration(hctx, uuid) {
29764
30058
  const expected2 = optionalNumber(hctx.args, "expected-generation");
29765
30059
  if (expected2 !== void 0) {
@@ -29835,6 +30129,14 @@ Draft generation: ${version.draftGeneration}
29835
30129
  hctx.ctx,
29836
30130
  ITEM_COLUMNS
29837
30131
  );
30132
+ if (version.links?.length) {
30133
+ process.stdout.write(
30134
+ `
30135
+ Links:
30136
+ ${version.links.map((link) => ` ${link.label}: ${link.url}`).join("\n")}
30137
+ `
30138
+ );
30139
+ }
29838
30140
  if (version.releaseNotes) {
29839
30141
  process.stdout.write(`
29840
30142
  Release notes:
@@ -30004,7 +30306,7 @@ var bundlesDomain = {
30004
30306
  },
30005
30307
  {
30006
30308
  path: ["bundles", "draft", "set"],
30007
- description: 'Replace draft items from {"items": [...]}; use --expected-generation from draft get to protect edits.',
30309
+ description: 'Replace draft items from {"items": [...]}; an optional "links": [{"label", "url"}] replaces the draft links. Use --expected-generation from draft get to protect edits.',
30008
30310
  requiresWorkspace: true,
30009
30311
  mutates: true,
30010
30312
  args: [BUNDLE_ARG, GENERATION_ARG],
@@ -30013,11 +30315,13 @@ var bundlesDomain = {
30013
30315
  ],
30014
30316
  handler: async (hctx) => {
30015
30317
  const items = parseDraftItems(hctx.data);
30318
+ const links = parseDraftLinks(hctx.data);
30016
30319
  const uuid = bundleUuid(hctx);
30017
30320
  const expectedGeneration = await currentGeneration(hctx, uuid);
30018
30321
  const result2 = await client2(hctx).replaceBundleDraft(hctx.workspace, uuid, {
30019
30322
  expectedGeneration,
30020
- items
30323
+ items,
30324
+ ...links ? { links } : {}
30021
30325
  });
30022
30326
  writeVersionDetail(hctx, result2);
30023
30327
  }
@@ -30066,28 +30370,30 @@ var bundlesDomain = {
30066
30370
  },
30067
30371
  {
30068
30372
  path: ["bundles", "grant"],
30069
- description: "Share a published Bundle within its organization with full source visibility",
30373
+ description: "Share a published Bundle with its organization, or with everyone as a superuser",
30070
30374
  requiresWorkspace: true,
30071
30375
  mutates: true,
30072
30376
  args: [
30073
30377
  BUNDLE_ARG,
30074
30378
  ...sharingArgs.filter((arg) => arg.name !== "disclosure").map(
30075
- (arg) => arg.name === "to" ? { ...arg, description: "organization (publishing organization only)" } : arg.name === "uuid" ? { ...arg, description: "Publishing organization UUID", required: true } : arg
30379
+ (arg) => arg.name === "to" ? {
30380
+ ...arg,
30381
+ description: "organization (publishing organization only) | global (everyone; superuser only)"
30382
+ } : arg.name === "uuid" ? {
30383
+ ...arg,
30384
+ description: "Publishing organization UUID (omit with --to global)"
30385
+ } : arg
30076
30386
  )
30077
30387
  ],
30078
30388
  examples: [
30079
- "gr bundles grant -w $WID --allow-write --bundle <bundle-uuid> --to organization --uuid <org-uuid>"
30389
+ "gr bundles grant -w $WID --allow-write --bundle <bundle-uuid> --to organization --uuid <org-uuid>",
30390
+ "gr bundles grant -w $WID --allow-write --bundle <bundle-uuid> --to global"
30080
30391
  ],
30081
30392
  handler: async (hctx) => {
30082
- if (requireString(hctx.args, "to") === "global") {
30083
- throw new CLIError(
30084
- "Bundle sharing is organization-only; official solution approval uses the staff catalog command"
30085
- );
30086
- }
30087
30393
  const request = sharingRequest(hctx.args, "full");
30088
- if (request.granteeType !== "organization") {
30394
+ if (request.granteeType === "workspace") {
30089
30395
  throw new CLIError(
30090
- "Share Bundles with their organization, then install per workspace"
30396
+ "Share Bundles with their organization or with everyone, then install per workspace"
30091
30397
  );
30092
30398
  }
30093
30399
  const bundleRequest = {
@@ -31249,7 +31555,6 @@ init_output();
31249
31555
  var COLUMNS12 = [
31250
31556
  COL.id(),
31251
31557
  COL.name(),
31252
- { header: "AGE", getValue: (item) => item.age != null ? String(item.age) : "" },
31253
31558
  {
31254
31559
  header: "HAS_PHONE",
31255
31560
  getValue: (item) => item.hasPhone ? "yes" : "no"
@@ -39106,6 +39411,14 @@ init_context();
39106
39411
  function runOutcome(run) {
39107
39412
  return run.outcome ?? run.status ?? "";
39108
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
+ }
39109
39422
  var RUN_COLUMNS2 = [
39110
39423
  { header: "RUN ID", getValue: (item) => item.runId ?? "" },
39111
39424
  { header: "OUTCOME", getValue: (item) => runOutcome(item) },
@@ -39115,6 +39428,7 @@ var RUN_COLUMNS2 = [
39115
39428
  { header: "SYNCED", getValue: (item) => String(item.synced ?? 0) },
39116
39429
  { header: "FAILED", getValue: (item) => String(item.failed ?? 0) },
39117
39430
  { header: "SKIPPED", getValue: (item) => String(item.skipped ?? 0) },
39431
+ { header: "REPLAYED PAGES", getValue: (item) => String(replayedPages(item)) },
39118
39432
  { header: "DRY RUN", getValue: (item) => item.dryRun ? "yes" : "no" },
39119
39433
  { header: "STARTED", getValue: (item) => item.startedAt ?? "" }
39120
39434
  ];
@@ -39153,9 +39467,7 @@ async function streamSyncRun(response, verbose) {
39153
39467
  lastRun = data;
39154
39468
  if (verbose) {
39155
39469
  const s = data;
39156
- process.stderr.write(
39157
- `\r ${runOutcome(s)} \u2014 ${s.synced} synced, ${s.failed} failed, ${s.skipped} skipped (${s.total} total)`
39158
- );
39470
+ process.stderr.write(`\r ${runOutcome(s)} \u2014 ${countSummary(s)}`);
39159
39471
  }
39160
39472
  } else if (data.type === "sync_item") {
39161
39473
  if (verbose) {
@@ -46036,7 +46348,7 @@ init_concierge_api();
46036
46348
 
46037
46349
  // package.json
46038
46350
  var package_default = {
46039
- version: "0.40.0"};
46351
+ version: "0.43.0"};
46040
46352
 
46041
46353
  // src/gr.ts
46042
46354
  var VERSION = package_default.version;