@iblai/iblai-js 1.5.4 → 1.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2077,6 +2077,413 @@ async function filterByActorAndVerify(page, actorName) {
2077
2077
  return count;
2078
2078
  }
2079
2079
 
2080
+ const DEFAULT_TIMEOUT$1 = 10000;
2081
+ /**
2082
+ * Reads `current_tenant` from localStorage and returns its `show_paywall` flag.
2083
+ * Returns false if the entry is missing, malformed, or the flag is unset.
2084
+ */
2085
+ async function getCurrentTenantShowPaywall(page) {
2086
+ return page.evaluate(() => {
2087
+ try {
2088
+ const raw = window.localStorage.getItem('current_tenant');
2089
+ if (!raw)
2090
+ return false;
2091
+ const parsed = JSON.parse(raw);
2092
+ return Boolean(parsed === null || parsed === void 0 ? void 0 : parsed.show_paywall);
2093
+ }
2094
+ catch (_a) {
2095
+ return false;
2096
+ }
2097
+ });
2098
+ }
2099
+ /** Locator for the credit-balance trigger button (icon in the nav). */
2100
+ function creditBalanceTrigger(page) {
2101
+ return page.getByTestId('credit-balance-trigger');
2102
+ }
2103
+ /** Locator for the credit-balance dropdown panel (rendered in a Radix portal). */
2104
+ function creditBalancePanel(page) {
2105
+ return page.getByTestId('credit-balance-panel');
2106
+ }
2107
+ /** Locator for the plan badge (Free / Trial / Premium) inside the open panel. */
2108
+ function creditBalancePlanBadge(page) {
2109
+ return creditBalancePanel(page).getByTestId('credit-balance-plan-badge');
2110
+ }
2111
+ /**
2112
+ * Asserts the credit-balance trigger is visible iff the current tenant has
2113
+ * `show_paywall=true`. Returns the resolved expectation so callers can branch.
2114
+ */
2115
+ async function expectCreditBalanceVisibilityForTenant(page) {
2116
+ const showPaywall = await getCurrentTenantShowPaywall(page);
2117
+ const trigger = creditBalanceTrigger(page);
2118
+ if (showPaywall) {
2119
+ await expect(trigger).toBeVisible({ timeout: DEFAULT_TIMEOUT$1 });
2120
+ logger.info('Credit balance trigger is visible (current_tenant.show_paywall=true)');
2121
+ }
2122
+ else {
2123
+ await expect(trigger).toHaveCount(0);
2124
+ logger.info('Credit balance trigger is hidden (current_tenant.show_paywall is falsy or missing)');
2125
+ }
2126
+ return { shouldBeVisible: showPaywall };
2127
+ }
2128
+ /**
2129
+ * Opens the credit-balance dropdown if not already open, waits for the panel
2130
+ * to be visible, and waits for the initial "Loading credits..." placeholder to
2131
+ * clear so callers can immediately read content. Idempotent — safe to call
2132
+ * when the panel is already up.
2133
+ */
2134
+ async function openCreditBalanceDropdown(page) {
2135
+ const panel = creditBalancePanel(page);
2136
+ if (!(await panel.isVisible().catch(() => false))) {
2137
+ const trigger = creditBalanceTrigger(page);
2138
+ await expect(trigger).toBeVisible({ timeout: DEFAULT_TIMEOUT$1 });
2139
+ await trigger.click();
2140
+ }
2141
+ await expect(panel).toBeVisible({ timeout: DEFAULT_TIMEOUT$1 });
2142
+ await waitForCreditBalanceLoaded(page);
2143
+ return panel;
2144
+ }
2145
+ /**
2146
+ * Waits for the "Loading credits..." placeholder to disappear from the open
2147
+ * panel. Resolves in the success path (real content rendered) or the error
2148
+ * path ("Unable to load credit balance." rendered) — both replace the loading
2149
+ * row. Returns immediately if the placeholder was never present.
2150
+ */
2151
+ async function waitForCreditBalanceLoaded(page) {
2152
+ const loading = creditBalancePanel(page).getByText(/^Loading credits/i);
2153
+ await expect(loading).toHaveCount(0, { timeout: DEFAULT_TIMEOUT$1 });
2154
+ }
2155
+ /** Closes the credit-balance dropdown via Escape and waits for it to detach. */
2156
+ async function closeCreditBalanceDropdown(page) {
2157
+ await page.keyboard.press('Escape');
2158
+ await expect(creditBalancePanel(page)).toHaveCount(0);
2159
+ }
2160
+ /**
2161
+ * Reads the plan label text from the open panel. Returns null if the badge is
2162
+ * not rendered (e.g. billing data still loading or errored).
2163
+ */
2164
+ async function getCreditBalancePlanLabel(page) {
2165
+ const badge = creditBalancePlanBadge(page);
2166
+ if ((await badge.count()) === 0)
2167
+ return null;
2168
+ const text = (await badge.innerText()).trim();
2169
+ if (text === 'Free' || text === 'Trial' || text === 'Premium')
2170
+ return text;
2171
+ return null;
2172
+ }
2173
+ /**
2174
+ * Reads the "Remaining" credits value from the open panel ("X,XXX Credits").
2175
+ * Returns null when the row is not rendered or unparseable.
2176
+ */
2177
+ async function getCreditBalanceRemaining(page) {
2178
+ const panel = creditBalancePanel(page);
2179
+ const row = panel.locator('div', { has: page.getByText(/^Remaining$/) }).first();
2180
+ if ((await row.count()) === 0)
2181
+ return null;
2182
+ const text = await row.innerText().catch(() => '');
2183
+ const match = text.match(/([0-9][0-9,]*)\s*Credits/i);
2184
+ if (!match)
2185
+ return null;
2186
+ return parseInt(match[1].replace(/,/g, ''), 10);
2187
+ }
2188
+ function panelButtons(panel, page) {
2189
+ return {
2190
+ upgradePlan: panel.getByRole('button', { name: /^Upgrade Plan$/ }),
2191
+ manageUsage: panel.getByRole('button', { name: /^Manage Usage$/ }),
2192
+ addCredits: panel.getByRole('button', { name: /^Add Credits$/ }),
2193
+ manageBilling: panel.getByRole('button', { name: /^Manage Billing$/ }),
2194
+ autoRechargeHeading: panel.getByText(/^Auto Recharge$/),
2195
+ };
2196
+ }
2197
+ /**
2198
+ * Free plan UI: Upgrade Plan only. No payment buttons. No auto-recharge section.
2199
+ */
2200
+ async function expectCreditBalancePanelForFreePlan(page) {
2201
+ const panel = await openCreditBalanceDropdown(page);
2202
+ await expect(creditBalancePlanBadge(page)).toHaveText('Free');
2203
+ const btn = panelButtons(panel);
2204
+ await expect(btn.autoRechargeHeading).toHaveCount(0);
2205
+ await expect(btn.upgradePlan).toBeVisible();
2206
+ await expect(btn.manageUsage).toHaveCount(0);
2207
+ await expect(btn.addCredits).toHaveCount(0);
2208
+ await expect(btn.manageBilling).toHaveCount(0);
2209
+ logger.info('Verified credit balance panel for Free plan');
2210
+ }
2211
+ /**
2212
+ * Trial plan UI: Upgrade Plan only. No Manage Usage / Add Credits / Manage Billing.
2213
+ */
2214
+ async function expectCreditBalancePanelForTrialPlan(page) {
2215
+ const panel = await openCreditBalanceDropdown(page);
2216
+ await expect(creditBalancePlanBadge(page)).toHaveText('Trial');
2217
+ const btn = panelButtons(panel);
2218
+ await expect(btn.upgradePlan).toBeVisible();
2219
+ await expect(btn.manageUsage).toHaveCount(0);
2220
+ await expect(btn.addCredits).toHaveCount(0);
2221
+ await expect(btn.manageBilling).toHaveCount(0);
2222
+ logger.info('Verified credit balance panel for Trial plan');
2223
+ }
2224
+ /**
2225
+ * Premium plan UI: Upgrade Plan must NOT appear.
2226
+ * - With payment method: Manage Usage + Add Credits both visible; Manage Billing hidden.
2227
+ * - Without payment method: Manage Billing visible; Manage Usage + Add Credits hidden.
2228
+ */
2229
+ async function expectCreditBalancePanelForPremiumPlan(page, options) {
2230
+ const panel = await openCreditBalanceDropdown(page);
2231
+ await expect(creditBalancePlanBadge(page)).toHaveText('Premium');
2232
+ const btn = panelButtons(panel);
2233
+ await expect(btn.upgradePlan).toHaveCount(0);
2234
+ if (options.hasPaymentMethod) {
2235
+ await expect(btn.manageUsage).toBeVisible();
2236
+ await expect(btn.addCredits).toBeVisible();
2237
+ await expect(btn.manageBilling).toHaveCount(0);
2238
+ }
2239
+ else {
2240
+ await expect(btn.manageBilling).toBeVisible();
2241
+ await expect(btn.manageUsage).toHaveCount(0);
2242
+ await expect(btn.addCredits).toHaveCount(0);
2243
+ }
2244
+ logger.info(`Verified credit balance panel for Premium plan (hasPaymentMethod=${options.hasPaymentMethod})`);
2245
+ }
2246
+ /**
2247
+ * Convenience: opens the dropdown, detects the active plan from the badge,
2248
+ * and runs the matching state assertions on the already-open panel. Returns
2249
+ * the detected plan label.
2250
+ *
2251
+ * For Premium plans you may pass `hasPaymentMethod` to assert the specific
2252
+ * sub-state; if omitted on Premium, only the "no Upgrade Plan button" check runs.
2253
+ */
2254
+ async function expectCreditBalanceForCurrentPlan(page, options) {
2255
+ const panel = await openCreditBalanceDropdown(page);
2256
+ const plan = await getCreditBalancePlanLabel(page);
2257
+ if (!plan) {
2258
+ throw new Error('Credit balance plan badge was not found in the dropdown panel');
2259
+ }
2260
+ const btn = panelButtons(panel);
2261
+ if (plan === 'Free') {
2262
+ await expect(btn.autoRechargeHeading).toHaveCount(0);
2263
+ await expect(btn.upgradePlan).toBeVisible();
2264
+ await expect(btn.manageUsage).toHaveCount(0);
2265
+ await expect(btn.addCredits).toHaveCount(0);
2266
+ await expect(btn.manageBilling).toHaveCount(0);
2267
+ }
2268
+ else if (plan === 'Trial') {
2269
+ await expect(btn.upgradePlan).toBeVisible();
2270
+ await expect(btn.manageUsage).toHaveCount(0);
2271
+ await expect(btn.addCredits).toHaveCount(0);
2272
+ await expect(btn.manageBilling).toHaveCount(0);
2273
+ }
2274
+ else {
2275
+ // Premium
2276
+ await expect(btn.upgradePlan).toHaveCount(0);
2277
+ if ((options === null || options === void 0 ? void 0 : options.hasPaymentMethod) === true) {
2278
+ await expect(btn.manageUsage).toBeVisible();
2279
+ await expect(btn.addCredits).toBeVisible();
2280
+ await expect(btn.manageBilling).toHaveCount(0);
2281
+ }
2282
+ else if ((options === null || options === void 0 ? void 0 : options.hasPaymentMethod) === false) {
2283
+ await expect(btn.manageBilling).toBeVisible();
2284
+ await expect(btn.manageUsage).toHaveCount(0);
2285
+ await expect(btn.addCredits).toHaveCount(0);
2286
+ }
2287
+ }
2288
+ logger.info(`Verified credit balance UI for plan="${plan}"`);
2289
+ return plan;
2290
+ }
2291
+
2292
+ const DEFAULT_TIMEOUT = 10000;
2293
+ /** Locator for the Plan section card on the BillingTab. */
2294
+ function billingPlanSection(page) {
2295
+ return page.getByTestId('billing-plan-section');
2296
+ }
2297
+ /** Locator for the Credits section card on the BillingTab. */
2298
+ function billingCreditsSection(page) {
2299
+ return page.getByTestId('billing-credits-section');
2300
+ }
2301
+ /** Locator for the Auto Recharge section card on the BillingTab.
2302
+ * This section is only rendered for non-Free plans with a payment method on file.
2303
+ */
2304
+ function billingAutoRechargeSection(page) {
2305
+ return page.getByTestId('billing-auto-recharge-section');
2306
+ }
2307
+ /** Reads the plan label (Free / Trial / Premium) from the Plan section. */
2308
+ async function getBillingPlanLabel(page) {
2309
+ const label = billingPlanSection(page).getByTestId('billing-plan-label');
2310
+ if ((await label.count()) === 0)
2311
+ return null;
2312
+ const text = (await label.innerText()).trim();
2313
+ if (text === 'Free' || text === 'Trial' || text === 'Premium')
2314
+ return text;
2315
+ return null;
2316
+ }
2317
+ /** Reads the auto-recharge status badge (Enabled / Disabled) when the section is rendered. */
2318
+ async function getBillingAutoRechargeStatus(page) {
2319
+ const badge = billingAutoRechargeSection(page).getByTestId('billing-auto-recharge-status');
2320
+ if ((await badge.count()) === 0)
2321
+ return null;
2322
+ const text = (await badge.innerText()).trim();
2323
+ if (text === 'Enabled' || text === 'Disabled')
2324
+ return text;
2325
+ return null;
2326
+ }
2327
+ /** Waits for the BillingTab loading skeletons to clear by waiting for the Plan
2328
+ * section card to mount. */
2329
+ async function waitForBillingTabReady(page) {
2330
+ await expect(billingPlanSection(page)).toBeVisible({ timeout: 15000 });
2331
+ }
2332
+ /**
2333
+ * Asserts the Plan section state for a given plan. Verifies:
2334
+ * - The plan label text matches `options.plan`
2335
+ * - The "Current" pill is visible
2336
+ * - The Upgrade button is visible iff the plan is not Premium
2337
+ */
2338
+ async function expectBillingPlanSection(page, options) {
2339
+ const section = billingPlanSection(page);
2340
+ await expect(section).toBeVisible({ timeout: DEFAULT_TIMEOUT });
2341
+ await expect(section.getByTestId('billing-plan-label')).toHaveText(options.plan);
2342
+ await expect(section.getByText(/^Current$/)).toBeVisible();
2343
+ const upgradeBtn = section.getByRole('button', { name: /^Upgrade$/ });
2344
+ if (options.plan === 'Premium') {
2345
+ await expect(upgradeBtn).toHaveCount(0);
2346
+ }
2347
+ else {
2348
+ await expect(upgradeBtn).toBeVisible();
2349
+ }
2350
+ }
2351
+ /**
2352
+ * Asserts the Credits section state. Always verifies the "Available" stat row.
2353
+ * The action button rule mirrors the component:
2354
+ * - Free plan → no Add Credits / Manage Billing button
2355
+ * - Non-Free + hasPaymentMethod=true → "Add Credits" visible, "Manage Billing" absent
2356
+ * - Non-Free + hasPaymentMethod=false → "Manage Billing" visible, "Add Credits" absent
2357
+ * - Non-Free with hasPaymentMethod omitted → only the "Available" row is asserted
2358
+ */
2359
+ async function expectBillingCreditsSection(page, options) {
2360
+ const section = billingCreditsSection(page);
2361
+ await expect(section).toBeVisible({ timeout: DEFAULT_TIMEOUT });
2362
+ await expect(section.getByText(/^Available$/)).toBeVisible();
2363
+ const addCreditsBtn = section.getByRole('button', { name: /^Add Credits$/ });
2364
+ const manageBillingBtn = section.getByRole('button', { name: /^Manage Billing$/ });
2365
+ if (options.plan === 'Free') {
2366
+ await expect(addCreditsBtn).toHaveCount(0);
2367
+ await expect(manageBillingBtn).toHaveCount(0);
2368
+ }
2369
+ else if (options.hasPaymentMethod === true) {
2370
+ await expect(addCreditsBtn).toBeVisible();
2371
+ await expect(manageBillingBtn).toHaveCount(0);
2372
+ }
2373
+ else if (options.hasPaymentMethod === false) {
2374
+ await expect(manageBillingBtn).toBeVisible();
2375
+ await expect(addCreditsBtn).toHaveCount(0);
2376
+ }
2377
+ }
2378
+ /**
2379
+ * Asserts the Auto Recharge section visibility. Section is rendered only when
2380
+ * `hasPaymentMethod && !isFreePlan` in the component. Pass `expectVisible: false`
2381
+ * to assert the section is absent. When visible and `status` is provided, also
2382
+ * asserts the Enabled/Disabled badge text.
2383
+ */
2384
+ async function expectBillingAutoRechargeSection(page, options) {
2385
+ const section = billingAutoRechargeSection(page);
2386
+ if (!options.expectVisible) {
2387
+ await expect(section).toHaveCount(0);
2388
+ return;
2389
+ }
2390
+ await expect(section).toBeVisible({ timeout: DEFAULT_TIMEOUT });
2391
+ await expect(section.getByRole('button', { name: /^Manage Usage$/ })).toBeVisible();
2392
+ if (options.status) {
2393
+ await expect(section.getByTestId('billing-auto-recharge-status')).toHaveText(options.status);
2394
+ }
2395
+ }
2396
+ /**
2397
+ * Free plan: Plan="Free" with Upgrade visible; Credits section has no action;
2398
+ * Auto Recharge section is hidden entirely (regardless of has_payment_method).
2399
+ */
2400
+ async function expectBillingTabForFreePlan(page) {
2401
+ await expectBillingPlanSection(page, { plan: 'Free' });
2402
+ await expectBillingCreditsSection(page, { plan: 'Free' });
2403
+ await expectBillingAutoRechargeSection(page, { expectVisible: false });
2404
+ logger.info('Verified billing tab for Free plan');
2405
+ }
2406
+ /**
2407
+ * Trial plan: Plan="Trial" with Upgrade visible; Credits action depends on
2408
+ * `hasPaymentMethod` (Add Credits when true, Manage Billing when false);
2409
+ * Auto Recharge section is rendered iff `hasPaymentMethod` is true.
2410
+ */
2411
+ async function expectBillingTabForTrialPlan(page, options) {
2412
+ await expectBillingPlanSection(page, { plan: 'Trial' });
2413
+ await expectBillingCreditsSection(page, {
2414
+ plan: 'Trial',
2415
+ hasPaymentMethod: options.hasPaymentMethod,
2416
+ });
2417
+ await expectBillingAutoRechargeSection(page, { expectVisible: options.hasPaymentMethod });
2418
+ logger.info(`Verified billing tab for Trial plan (hasPaymentMethod=${options.hasPaymentMethod})`);
2419
+ }
2420
+ /**
2421
+ * Premium plan: Plan="Premium" with Upgrade hidden; Credits action depends on
2422
+ * `hasPaymentMethod` (Add Credits when true, Manage Billing when false);
2423
+ * Auto Recharge section is rendered iff `hasPaymentMethod` is true.
2424
+ */
2425
+ async function expectBillingTabForPremiumPlan(page, options) {
2426
+ await expectBillingPlanSection(page, { plan: 'Premium' });
2427
+ await expectBillingCreditsSection(page, {
2428
+ plan: 'Premium',
2429
+ hasPaymentMethod: options.hasPaymentMethod,
2430
+ });
2431
+ await expectBillingAutoRechargeSection(page, { expectVisible: options.hasPaymentMethod });
2432
+ logger.info(`Verified billing tab for Premium plan (hasPaymentMethod=${options.hasPaymentMethod})`);
2433
+ }
2434
+ /**
2435
+ * Convenience: detects the active plan from the Plan section badge and runs
2436
+ * the matching state assertions. Returns the detected plan.
2437
+ *
2438
+ * For non-Free plans, pass `hasPaymentMethod` to assert the Credits/Auto Recharge
2439
+ * sub-states; if omitted, only the Plan section + base Credits row is verified.
2440
+ */
2441
+ async function expectBillingTabForCurrentPlan(page, options) {
2442
+ await waitForBillingTabReady(page);
2443
+ const plan = await getBillingPlanLabel(page);
2444
+ if (!plan) {
2445
+ throw new Error('Could not detect plan label in BillingTab Plan section');
2446
+ }
2447
+ if (plan === 'Free') {
2448
+ await expectBillingTabForFreePlan(page);
2449
+ }
2450
+ else if (plan === 'Trial') {
2451
+ await expectBillingTabForTrialPlan(page, {
2452
+ hasPaymentMethod: Boolean(options === null || options === void 0 ? void 0 : options.hasPaymentMethod),
2453
+ });
2454
+ }
2455
+ else {
2456
+ await expectBillingTabForPremiumPlan(page, {
2457
+ hasPaymentMethod: Boolean(options === null || options === void 0 ? void 0 : options.hasPaymentMethod),
2458
+ });
2459
+ }
2460
+ return plan;
2461
+ }
2462
+ /** Clicks the Upgrade button in the Plan section (visible only on non-Premium plans). */
2463
+ async function clickBillingUpgrade(page) {
2464
+ const btn = billingPlanSection(page).getByRole('button', { name: /^Upgrade$/ });
2465
+ await expect(btn).toBeVisible({ timeout: DEFAULT_TIMEOUT });
2466
+ await btn.click();
2467
+ }
2468
+ /** Clicks the Add Credits button in the Credits section (non-Free + has payment method). */
2469
+ async function clickBillingAddCredits(page) {
2470
+ const btn = billingCreditsSection(page).getByRole('button', { name: /^Add Credits$/ });
2471
+ await expect(btn).toBeVisible({ timeout: DEFAULT_TIMEOUT });
2472
+ await btn.click();
2473
+ }
2474
+ /** Clicks the Manage Billing button in the Credits section (non-Free + no payment method). */
2475
+ async function clickBillingManageBilling(page) {
2476
+ const btn = billingCreditsSection(page).getByRole('button', { name: /^Manage Billing$/ });
2477
+ await expect(btn).toBeVisible({ timeout: DEFAULT_TIMEOUT });
2478
+ await btn.click();
2479
+ }
2480
+ /** Clicks the Manage Usage button in the Auto Recharge section. */
2481
+ async function clickBillingManageUsage(page) {
2482
+ const btn = billingAutoRechargeSection(page).getByRole('button', { name: /^Manage Usage$/ });
2483
+ await expect(btn).toBeVisible({ timeout: DEFAULT_TIMEOUT });
2484
+ await btn.click();
2485
+ }
2486
+
2080
2487
  /** Extract browser key from device name (e.g., 'Desktop Chrome' -> 'chrome') */
2081
2488
  function getBrowserKey(deviceName) {
2082
2489
  return deviceName.toLowerCase().replace(/^desktop\s+/, '');
@@ -2202,5 +2609,5 @@ function createPlaywrightConfig(options) {
2202
2609
  });
2203
2610
  }
2204
2611
 
2205
- export { AuthFlowBuilder, CustomReporter, MailsacClient, addMemory, archiveFirstMemory, archiveMemoryByContent, buildReportUrl, canChatWithEmbedMentor, checkAdminStatus, clearDateRangeFilter, clickBackHome, clickDownloadAgain, clickManualDownloadLink, closeWithEsc, createAuthSetup, createEnvConfig, createPlaywrightConfig, deleteFirstMemory, deleteMemoryByContent, expectNoAccessibilityViolations, expectNoAccessibilityViolationsOnDialogs, filterByAction, filterByActionAndVerify, filterByActor, filterByActorAndVerify, filterByDateRange, generateBrowserSetupProjects, generateProjectConfig, getAuditLogRowCount, getAvailableActors, getBrowserKey, getMemoryCount, getMentorIdFromUrl, getPaginationInfo, goToFirstPage, goToLastPage, goToNextPage, goToPage, goToPreviousPage, inviteUserTest, isFirefox, isJSON, isMemoryTabVisible, isOnFirstPage, isOnLastPage, logger, loginWithEmailAndPassword, loginWithMicrosoftIdp, navigateToAccountComponent, navigateToAuditLog, navigateToAuditLogAndWaitForData, navigateToDataReports, navigateToReportDownload, openAddMemoryDialog, parseReportUrlParams, reliableClick, reliableFill, retry, safeWaitForURL, selectDateFromCalendar, shouldAddNewRowWhenClickingAddRowButton, shouldAllowEditingCellValuesInCSVEditor, shouldCancelCombiningReports, shouldCloseCSVEditorWhenClickingCloseButton, shouldCloseCSVEditorWithoutSavingWhenClickingCancel, shouldCombineRecommendationReports, shouldDirectlyDownloadChatHistoryReportWithoutCSVEditor, shouldDisableOtherDownloadButtonsWhileGeneratingReport, shouldDisplayCSVInEditableTableFormat, shouldDisplayReportCards, shouldHaveCombinedReportDataTestIds, shouldOpenCSVEditorDialog, shouldOpenCSVEditorForUserMetadataReport, shouldSaveEditedCSVAndTriggerDownload, shouldShowCombiningReportsDialog, shouldVerifyCSVEditorDialogAccessibility, signUpWithEmailAndPassword, switchToMemoryTab, test, toggleMemorySwitch, verifyAuditLogEmptyState, verifyAuditLogEntryStructure, verifyAuditLogGenericError, verifyAuditLogLoading, verifyAuditLogPermissionError, verifyAuditLogTableVisible, verifyCurrentPage, verifyDonePhase, verifyDownloadingPhase, verifyErrorPhase, verifyMemoryExists, verifyMemoryNotExists, verifyMemoryTabMemoriesList, verifyMemoryTabSettings, verifyPreparingPhase, waitForAuditLogDataLoaded, waitForDialogReady, waitForElementStable, waitForPageLoad, waitForPageReady, waitForReportDownload };
2612
+ export { AuthFlowBuilder, CustomReporter, MailsacClient, addMemory, archiveFirstMemory, archiveMemoryByContent, billingAutoRechargeSection, billingCreditsSection, billingPlanSection, buildReportUrl, canChatWithEmbedMentor, checkAdminStatus, clearDateRangeFilter, clickBackHome, clickBillingAddCredits, clickBillingManageBilling, clickBillingManageUsage, clickBillingUpgrade, clickDownloadAgain, clickManualDownloadLink, closeCreditBalanceDropdown, closeWithEsc, createAuthSetup, createEnvConfig, createPlaywrightConfig, creditBalancePanel, creditBalancePlanBadge, creditBalanceTrigger, deleteFirstMemory, deleteMemoryByContent, expectBillingAutoRechargeSection, expectBillingCreditsSection, expectBillingPlanSection, expectBillingTabForCurrentPlan, expectBillingTabForFreePlan, expectBillingTabForPremiumPlan, expectBillingTabForTrialPlan, expectCreditBalanceForCurrentPlan, expectCreditBalancePanelForFreePlan, expectCreditBalancePanelForPremiumPlan, expectCreditBalancePanelForTrialPlan, expectCreditBalanceVisibilityForTenant, expectNoAccessibilityViolations, expectNoAccessibilityViolationsOnDialogs, filterByAction, filterByActionAndVerify, filterByActor, filterByActorAndVerify, filterByDateRange, generateBrowserSetupProjects, generateProjectConfig, getAuditLogRowCount, getAvailableActors, getBillingAutoRechargeStatus, getBillingPlanLabel, getBrowserKey, getCreditBalancePlanLabel, getCreditBalanceRemaining, getCurrentTenantShowPaywall, getMemoryCount, getMentorIdFromUrl, getPaginationInfo, goToFirstPage, goToLastPage, goToNextPage, goToPage, goToPreviousPage, inviteUserTest, isFirefox, isJSON, isMemoryTabVisible, isOnFirstPage, isOnLastPage, logger, loginWithEmailAndPassword, loginWithMicrosoftIdp, navigateToAccountComponent, navigateToAuditLog, navigateToAuditLogAndWaitForData, navigateToDataReports, navigateToReportDownload, openAddMemoryDialog, openCreditBalanceDropdown, parseReportUrlParams, reliableClick, reliableFill, retry, safeWaitForURL, selectDateFromCalendar, shouldAddNewRowWhenClickingAddRowButton, shouldAllowEditingCellValuesInCSVEditor, shouldCancelCombiningReports, shouldCloseCSVEditorWhenClickingCloseButton, shouldCloseCSVEditorWithoutSavingWhenClickingCancel, shouldCombineRecommendationReports, shouldDirectlyDownloadChatHistoryReportWithoutCSVEditor, shouldDisableOtherDownloadButtonsWhileGeneratingReport, shouldDisplayCSVInEditableTableFormat, shouldDisplayReportCards, shouldHaveCombinedReportDataTestIds, shouldOpenCSVEditorDialog, shouldOpenCSVEditorForUserMetadataReport, shouldSaveEditedCSVAndTriggerDownload, shouldShowCombiningReportsDialog, shouldVerifyCSVEditorDialogAccessibility, signUpWithEmailAndPassword, switchToMemoryTab, test, toggleMemorySwitch, verifyAuditLogEmptyState, verifyAuditLogEntryStructure, verifyAuditLogGenericError, verifyAuditLogLoading, verifyAuditLogPermissionError, verifyAuditLogTableVisible, verifyCurrentPage, verifyDonePhase, verifyDownloadingPhase, verifyErrorPhase, verifyMemoryExists, verifyMemoryNotExists, verifyMemoryTabMemoriesList, verifyMemoryTabSettings, verifyPreparingPhase, waitForAuditLogDataLoaded, waitForBillingTabReady, waitForCreditBalanceLoaded, waitForDialogReady, waitForElementStable, waitForPageLoad, waitForPageReady, waitForReportDownload };
2206
2613
  //# sourceMappingURL=index.esm.js.map