@iblai/iblai-js 2.2.6 → 2.2.8
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/data-layer/playwright/grader-tab-helpers.d.ts +138 -0
- package/dist/data-layer/playwright/index.d.ts +2 -0
- package/dist/playwright/index.cjs +326 -0
- package/dist/playwright/index.cjs.map +1 -1
- package/dist/playwright/index.d.ts +140 -2
- package/dist/playwright/index.esm.js +313 -1
- package/dist/playwright/index.esm.js.map +1 -1
- package/dist/playwright/playwright/grader-tab-helpers.d.ts +138 -0
- package/dist/playwright/playwright/index.d.ts +2 -0
- package/dist/security/playwright/grader-tab-helpers.d.ts +138 -0
- package/dist/security/playwright/index.d.ts +2 -0
- package/dist/web-containers/playwright/grader-tab-helpers.d.ts +138 -0
- package/dist/web-containers/playwright/index.d.ts +2 -0
- package/dist/web-containers/source/index.esm.js +452 -0
- package/dist/web-containers/source/next/index.esm.js +995 -2
- package/dist/web-utils/playwright/grader-tab-helpers.d.ts +138 -0
- package/dist/web-utils/playwright/index.d.ts +2 -0
- package/package.json +5 -5
|
@@ -1313,6 +1313,144 @@ declare function saveScreenSharePrompts(scope: Page | Locator): Promise<void>;
|
|
|
1313
1313
|
*/
|
|
1314
1314
|
declare function expectScreenShareDisabledHint(scope: Page | Locator, visible: boolean): Promise<void>;
|
|
1315
1315
|
|
|
1316
|
+
/**
|
|
1317
|
+
* Grader tab helpers — Playwright bindings for the standalone
|
|
1318
|
+
* `AgentGraderTab` component from `@iblai/web-containers`.
|
|
1319
|
+
*
|
|
1320
|
+
* The tab is a peer to Tools/LLM/Memory/etc in the edit-agent modal. Its
|
|
1321
|
+
* master toggle attaches/detaches the "Grading" tool on the agent; the gated
|
|
1322
|
+
* content splits into two sub-tabs — Grading setup (configuration form) and
|
|
1323
|
+
* Rubric (criteria table with modal-based add/edit/delete behind a
|
|
1324
|
+
* three-dots row menu).
|
|
1325
|
+
*
|
|
1326
|
+
* Selector policy (flakiness-proof by construction):
|
|
1327
|
+
* - Every query is scoped dialog-first: resolve the edit-agent dialog, then
|
|
1328
|
+
* the tab body, then the sub-element — never a bare page-wide match. The
|
|
1329
|
+
* criterion/delete modals portal outside that dialog, so they are located
|
|
1330
|
+
* by their own testids and all fills happen within the modal locator.
|
|
1331
|
+
* - Stable hooks only: `data-testid`, role + accessible name, labels.
|
|
1332
|
+
* No CSS class or structural selectors.
|
|
1333
|
+
* - No `waitForTimeout` / `networkidle`. Progress is gated on UI state that
|
|
1334
|
+
* only exists after the awaited transition: sub-tab section testids, a
|
|
1335
|
+
* modal closing after a persisted mutation, a rubric row
|
|
1336
|
+
* appearing/disappearing after the list refetch.
|
|
1337
|
+
*/
|
|
1338
|
+
declare const GRADER_LABELS: {
|
|
1339
|
+
readonly tabName: "Grader";
|
|
1340
|
+
readonly capabilityToggle: "Grading";
|
|
1341
|
+
readonly subTabs: {
|
|
1342
|
+
readonly setup: "Grading setup";
|
|
1343
|
+
readonly rubric: "Rubric";
|
|
1344
|
+
};
|
|
1345
|
+
readonly addButton: "Add criterion";
|
|
1346
|
+
readonly menu: {
|
|
1347
|
+
/** aria-label template for a row's three-dots trigger. */
|
|
1348
|
+
readonly actionsAria: (name: string) => string;
|
|
1349
|
+
readonly edit: "Edit";
|
|
1350
|
+
readonly delete: "Delete";
|
|
1351
|
+
};
|
|
1352
|
+
readonly modal: {
|
|
1353
|
+
readonly fields: {
|
|
1354
|
+
readonly name: "Name";
|
|
1355
|
+
readonly criteria: "Criteria";
|
|
1356
|
+
readonly points: "Points";
|
|
1357
|
+
};
|
|
1358
|
+
readonly cancel: "Cancel";
|
|
1359
|
+
};
|
|
1360
|
+
readonly toasts: {
|
|
1361
|
+
readonly toggleOn: "Grading turned on";
|
|
1362
|
+
readonly toggleOff: "Grading turned off — your rubric is kept for next time";
|
|
1363
|
+
};
|
|
1364
|
+
readonly gradingModeOptions: {
|
|
1365
|
+
readonly submission: "A submission";
|
|
1366
|
+
readonly conversation: "The conversation";
|
|
1367
|
+
};
|
|
1368
|
+
readonly feedbackModeOptions: {
|
|
1369
|
+
readonly overall: "Overall feedback only";
|
|
1370
|
+
readonly per_criteria: "Feedback per criterion";
|
|
1371
|
+
readonly both: "Overall + per criterion";
|
|
1372
|
+
};
|
|
1373
|
+
};
|
|
1374
|
+
type GraderSubTab = keyof typeof GRADER_LABELS.subTabs;
|
|
1375
|
+
type GraderGradingMode = keyof typeof GRADER_LABELS.gradingModeOptions;
|
|
1376
|
+
type GraderFeedbackMode = keyof typeof GRADER_LABELS.feedbackModeOptions;
|
|
1377
|
+
interface GraderCriterionInput {
|
|
1378
|
+
name: string;
|
|
1379
|
+
criteria: string;
|
|
1380
|
+
points: number;
|
|
1381
|
+
}
|
|
1382
|
+
/** The Grader tab's body, scoped through the edit-agent dialog. */
|
|
1383
|
+
declare function graderTabBody(page: Page): Locator;
|
|
1384
|
+
/**
|
|
1385
|
+
* Returns false if the Grader tab isn't currently rendered in the
|
|
1386
|
+
* edit-agent dialog (host didn't register it, or RBAC hid it).
|
|
1387
|
+
*/
|
|
1388
|
+
declare function isGraderTabVisible(page: Page): Promise<boolean>;
|
|
1389
|
+
/**
|
|
1390
|
+
* Switch to the Grader top-level tab. Assumes the edit-agent dialog is
|
|
1391
|
+
* open. Completion is gated on the tab body's testid, not on timing.
|
|
1392
|
+
*/
|
|
1393
|
+
declare function switchToGraderTab(page: Page): Promise<void>;
|
|
1394
|
+
/**
|
|
1395
|
+
* Switch between the Grader tab's two sub-tabs. Completion is gated on the
|
|
1396
|
+
* target section's testid rendering.
|
|
1397
|
+
*/
|
|
1398
|
+
declare function switchToGraderSubTab(page: Page, subTab: GraderSubTab): Promise<void>;
|
|
1399
|
+
/** Read the current on/off state of the Grading capability toggle. */
|
|
1400
|
+
declare function isGradingEnabled(page: Page): Promise<boolean>;
|
|
1401
|
+
/**
|
|
1402
|
+
* Idempotently set the Grading capability toggle. Waits for the success
|
|
1403
|
+
* toast (which only fires after the settings PATCH resolves — the switch
|
|
1404
|
+
* itself flips optimistically and would roll back on failure) and then for
|
|
1405
|
+
* the gated content to reflect the new state.
|
|
1406
|
+
*/
|
|
1407
|
+
declare function setGradingEnabled(page: Page, enabled: boolean): Promise<void>;
|
|
1408
|
+
/**
|
|
1409
|
+
* Fill and persist the Grading setup form (switches to the setup sub-tab
|
|
1410
|
+
* first). Only the provided fields are changed. Completion is gated on the
|
|
1411
|
+
* Save button returning to disabled: after the config POST/PATCH resolves,
|
|
1412
|
+
* the form rehydrates from the server copy and stops being dirty.
|
|
1413
|
+
*/
|
|
1414
|
+
declare function saveGraderConfig(page: Page, values: {
|
|
1415
|
+
instructions?: string;
|
|
1416
|
+
gradingMode?: GraderGradingMode;
|
|
1417
|
+
feedbackMode?: GraderFeedbackMode;
|
|
1418
|
+
}): Promise<void>;
|
|
1419
|
+
/**
|
|
1420
|
+
* Add a rubric criterion through the Add-criterion modal (switches to the
|
|
1421
|
+
* Rubric sub-tab first). Requires a saved grader configuration — the Add
|
|
1422
|
+
* button is disabled until one exists. Completion is gated on the modal
|
|
1423
|
+
* closing and the new row rendering after the list refetch.
|
|
1424
|
+
*/
|
|
1425
|
+
declare function addGraderCriterion(page: Page, criterion: GraderCriterionInput): Promise<void>;
|
|
1426
|
+
/**
|
|
1427
|
+
* Edit an existing rubric criterion via its row's three-dots menu → Edit
|
|
1428
|
+
* modal. The row is located by its current name; all three fields are
|
|
1429
|
+
* rewritten. Completion is gated on the modal closing and the updated row
|
|
1430
|
+
* rendering.
|
|
1431
|
+
*/
|
|
1432
|
+
declare function editGraderCriterion(page: Page, currentName: string, updates: GraderCriterionInput): Promise<void>;
|
|
1433
|
+
/**
|
|
1434
|
+
* Delete a rubric criterion via its row's three-dots menu → confirmation
|
|
1435
|
+
* modal. Completion is gated on the modal closing and the row disappearing
|
|
1436
|
+
* after the server delete + list refetch.
|
|
1437
|
+
*/
|
|
1438
|
+
declare function deleteGraderCriterion(page: Page, name: string): Promise<void>;
|
|
1439
|
+
/**
|
|
1440
|
+
* Assert the last remaining criterion's Delete menu action is disabled and
|
|
1441
|
+
* the explanatory hint is shown — the backend refuses to delete the final
|
|
1442
|
+
* row, so the UI must block it too. Closes the menu again before returning.
|
|
1443
|
+
*/
|
|
1444
|
+
declare function expectLastCriterionDeleteDisabled(page: Page, name: string): Promise<void>;
|
|
1445
|
+
/**
|
|
1446
|
+
* Assert whether the amber misconfiguration banner is shown (grading on
|
|
1447
|
+
* with no config yet, or with an empty rubric). The banner sits above the
|
|
1448
|
+
* sub-tabs, so no sub-tab switch is needed.
|
|
1449
|
+
*/
|
|
1450
|
+
declare function expectGraderMisconfiguredWarning(page: Page, visible: boolean): Promise<void>;
|
|
1451
|
+
/** Assert the rubric's live "total possible points" readout (Rubric sub-tab). */
|
|
1452
|
+
declare function expectGraderTotalPoints(page: Page, total: number): Promise<void>;
|
|
1453
|
+
|
|
1316
1454
|
type BillingAutoRechargeStatus = 'Enabled' | 'Disabled';
|
|
1317
1455
|
/** Locator for the Plan section card on the BillingTab. */
|
|
1318
1456
|
declare function billingPlanSection(page: Page): Locator;
|
|
@@ -2578,5 +2716,5 @@ declare function generateProjectConfig(platform: string, deviceName: string, dep
|
|
|
2578
2716
|
*/
|
|
2579
2717
|
declare function createPlaywrightConfig(options: CreatePlaywrightConfigOptions): PlaywrightTestConfig;
|
|
2580
2718
|
|
|
2581
|
-
export { AuthFlowBuilder, CHAT_PRIVACY_LABELS, CustomReporter, EVALS_LABELS, LTI_LABELS, LTI_TEST_IDS, MailsacClient, PRIVACY_LABELS, SCREENSHARE_LABELS, SUPPORT_LABELS, TASKS_LABELS, VOICE_LABELS, addManualScore, addMemory, addQaPairsManually, archiveFirstMemory, archiveMemoryByContent, billingAutoRechargeSection, billingCreditsSection, billingPlanSection, buildReportUrl, canChatWithEmbedMentor, cancelDeleteEvaluation, cancelDeleteInstance, cancelDeleteSkill, cancelDisconnectInstance, cancelEnableChatPrivacyMidSession, cancelKeyDelete, cancelLlmJudge, cancelNewInstanceDialog, cancelStartEvaluation, checkAdminStatus, checkRunStatus, clearDateRangeFilter, clearInstanceSearch, clearUserFilter, clickBackHome, clickBillingAddCredits, clickBillingManageBilling, clickBillingManageUsage, clickBillingUpgrade, clickChatPrivacyToggle, clickDownloadAgain, clickManualDownloadLink, closeBenchmarkItemsDialog, closeCreditBalanceDropdown, closeEvaluationDetailDialog, closeKeyDetail, closeManageBenchmarksDialog, closeWithEsc, confirmEnableChatPrivacyMidSession, confirmKeyDelete, connectToInstance, copyEndpoint, createAuthSetup, createBenchmark, createEnvConfig, createInstance, createKey, createLink, createPlaywrightConfig, createSkill, createSupportTicketViaChatAndVerify, createTool, creditBalancePanel, creditBalancePlanBadge, creditBalanceTrigger, deleteEvaluation, deleteFirstMemory, deleteInstance, deleteKey, deleteMemoryByContent, deleteQaItem, deleteSkill, deleteTask, disableSkill, disableSupport, disconnectInstance, editAgentPrompt, editInstance, editLink, editSkill, editTool, enableSkill, enableSupport, expandReview, expandTrace, expectAllEndpointsVisible, expectBenchmarkListed, expectBillingAutoRechargeSection, expectBillingCreditsSection, expectBillingPlanSection, expectBillingTabForCurrentPlan, expectBillingTabForFreePlan, expectBillingTabForPremiumPlan, expectBillingTabForTrialPlan, expectCallConfigVisible, expectCallConfigVoiceTriggerShows, expectChatPrivacyConfirmDialogOpen, expectChatPrivacyLocked, expectChatPrivacySource, expectChatPrivacyState, expectChatPrivacyToggleVisible, expectCompletedTasks, expectCreditBalanceForCurrentPlan, expectCreditBalancePanelForFreePlan, expectCreditBalancePanelForPremiumPlan, expectCreditBalancePanelForTrialPlan, expectCreditBalanceVisibilityForTenant, expectDetailWaitingForTraces, expectEndpointUrl, expectEntitySelected, expectFailedTasks, expectKeyDeleteError, expectKeyInList, expectKeyNotInList, expectKeysEmpty, expectLinkInList, expectLinkNotInList, expectLinkTargetUri, expectLinksEmpty, expectLogDetailsStatus, expectLogsForTask, expectLtiHeader, expectMentorVoiceTriggerShows, expectMessageInConversation, expectNoAccessibilityViolations, expectNoAccessibilityViolationsOnDialogs, expectNoBenchmarksNotice, expectNoLogsForSelectedTask, expectNoRepliesYet, expectNoTickets, expectOutputFilterEnabled, expectPrivacyFieldsHidden, expectPrivacyFieldsVisible, expectPrivateModeSelected, expectPrivateModeTabReady, expectQaItemListed, expectReviewInList, expectReviewStatus, expectRunInTable, expectRunNotInTable, expectRunStatus, expectRunsTableEmpty, expectScheduleStartTimeInPastError, expectScreenShareDisabledHint, expectSelectedBenchmark, expectSttSelectDisabled, expectTaskInList, expectTaskNotInList, expectTaskStatus, expectTasksEmpty, expectTenantChatPrivacyEnabled, expectTenantChatPrivacyVisible, expectTicketClosedNotice, expectTicketDescriptionContains, expectTicketInList, expectTicketStatusInList, expectToolInList, expectToolNotInList, expectToolsEmpty, expectTotalTasks, expectTraceScore, expectTtsSelectDisabled, expectVoiceProviderSelected, expectVoiceVisible, exportRunCsv, fillLinkName, fillToolForm, filterByAction, filterByActionAndVerify, filterByActor, filterByActorAndVerify, filterByDateRange, filterTicketsByStatus, filterTicketsByUser, generateBrowserSetupProjects, generateProjectConfig, getAddItemsDialog, getAuditLogRowCount, getAvailableActors, getBenchmarkCombobox, getBenchmarkComboboxDropdown, getBenchmarkItemsDialog, getBillingAutoRechargeStatus, getBillingPlanLabel, getBrowserKey, getCallConfigForm, getChatInput, getChatPrivacyConfirmDialog, getChatPrivacyToggle, getCreateBenchmarkDialog, getCreateKeyButton, getCreateLinkButton, getCreateToolButton, getCreditBalancePlanLabel, getCreditBalanceRemaining, getCurrentModel, getCurrentTenantShowPaywall, getDeleteEvaluationDialog, getDeleteQaItemDialog, getEditAgentDialog, getEndpoint, getEndpointCopyButton, getEndpointUrl, getEntityChip, getEvaluationDetailDialog, getInstanceHealthLabel, getInstanceRowCount, getInstanceStatusLabel, getKeyActionsTrigger, getKeyCreateModal, getKeyCreateNameInput, getKeyDeleteModal, getKeyDetailModal, getKeyDetailNameInput, getKeyPublicJwkField, getKeyPublicKeyField, getKeyRow, getKeysEmptyState, getKeysSection, getLinkCopyTargetUriButton, getLinkEditButton, getLinkModal, getLinkNameInput, getLinkRow, getLinksEmptyState, getLinksSection, getLlmJudgeDialog, getLlmPickerDialog, getLtiSubTab, getManageBenchmarksButton, getManageBenchmarksDialog, getMemoryCount, getMentorIdFromUrl, getNewEvaluationButton, getOutputFilterSwitch, getPaginationInfo, getPrivateModeCard, getReplyComposer, getReviewRow, getRunRow, getScheduleTaskButton, getSearchInput, getSkillRowCount, getStartEvaluationDialog, getStatusFilter, getSupportInfoBox, getSupportTabTrigger, getSupportToggle, getTaskRow, getTenantChatPrivacyRow, getTenantChatPrivacySwitch, getTicketDescription, getTicketDetail, getTicketList, getTicketRow, getTicketRowByIndex, getToolEditButton, getToolKeySelect, getToolModal, getToolRow, getToolsEmptyState, getToolsSection, getTraceRow, getUserFilter, getVoiceProviderCard, getVoiceRow, goToFirstPage, goToLastPage, goToNextPage, goToPage, goToPreviousPage, inviteUserTest, isEvaluationTabVisible, isFirefox, isJSON, isLtiTabVisible, isMemoryTabVisible, isOnFirstPage, isOnLastPage, isPrivacyTabVisible, isPrivateModeTabVisible, isSandboxTabVisible, isScreenShareTabVisible, isSkillEnabled, isSupportEnabled, isSupportTabVisible, isTasksTabVisible, isVoiceTabVisible, logger, loginWithEmailAndPassword, loginWithMicrosoftIdp, navigateToAccountComponent, navigateToAuditLog, navigateToAuditLogAndWaitForData, navigateToDataReports, navigateToReportDownload, openAddItemsDialog, openAddMemoryDialog, openAgentPromptEditModal, openBenchmarkItems, openCallConfigVoicePicker, openCreateKeyModal, openCreateLinkModal, openCreateToolModal, openCreditBalanceDropdown, openEditInstanceDialog, openEditLinkModal, openEditSkillDialog, openEditToolModal, openFirstLogDetails, openInstanceActionsMenu, openKeyActionsMenu, openKeyDelete, openKeyDetail, openLLMProviderPicker, openManageBenchmarksDialog, openMentorVoicePicker, openNewInstanceDialog, openNewReviewForRun, openNewReviewFromDetail, openNewSkillDialog, openRunActionsMenu, openRunResults, openScheduleTaskDialog, openScreenSharePromptEditor, openSkillActionsMenu, openStartEvaluationDialog, openTicket, parseReportUrlParams, previewCallConfigVoiceInline, previewMentorVoiceInline, previewVoice, pushConfiguration, readEndpointUrl, readKeyPublicJwk, readKeyPublicKey, refreshEvaluationDetail, refreshTickets, reliableClick, reliableFill, removeTraceScore, renameKey, replyToTicket, requestSupportTicketViaChat, resetCallConfig, retry, runConnectedInstanceChecks, runInstanceChecks, safeWaitForURL, saveCallConfig, saveScreenSharePrompts, saveVoiceSettings, scheduleTask, searchBenchmarks, searchInstances, searchTasks, searchVoices, selectBenchmark, selectCallMode, selectDateFromCalendar, selectJudgeLlm, selectLLMModel, selectLlmProvider, selectPrivacyAction, selectPrivateMode, selectSttProvider, selectTaskInList, selectToolKeySetMode, selectToolSigningKey, selectTtsProvider, selectVoice, selectVoiceProvider, sendAgentChatMessage, setBlockMessage, setCallLanguage, setEnableVideo, setEntitySelected, setOutputFilterEnabled, setScreenSharePrompt, setSupportEnabled, setTenantChatPrivacyEnabled, setTicketStatus, setUseFunctionCallingEnabled, setupSandboxInstance, shouldAddNewRowWhenClickingAddRowButton, shouldAllowEditingCellValuesInCSVEditor, shouldCancelCombiningReports, shouldCloseCSVEditorWhenClickingCloseButton, shouldCloseCSVEditorWithoutSavingWhenClickingCancel, shouldCombineRecommendationReports, shouldDirectlyDownloadChatHistoryReportWithoutCSVEditor, shouldDisableOtherDownloadButtonsWhileGeneratingReport, shouldDisplayCSVInEditableTableFormat, shouldDisplayReportCards, shouldHaveCombinedReportDataTestIds, shouldOpenCSVEditorDialog, shouldOpenCSVEditorForUserMetadataReport, shouldSaveEditedCSVAndTriggerDownload, shouldShowCombiningReportsDialog, shouldVerifyCSVEditorDialogAccessibility, signUpWithEmailAndPassword, startEvaluation, submitLinkModal, submitLlmJudge, submitToolModal, switchToAddItemsSubTab, switchToEvaluationTab, switchToLtiSubTab, switchToLtiTab, switchToMemoryTab, switchToPrivacyTab, switchToPrivateModeTab, switchToSandboxTab, switchToScreenShareTab, switchToSkillsTab, switchToSupportTab, switchToTasksTab, switchToVoiceSubTab, switchToVoiceTab, teardownSandboxInstance, test, toggleAutoPush, toggleMemorySwitch, toggleSkill, toolFields, uploadQaCsv, verifyAgentConfigPromptsVisible, verifyAuditLogEmptyState, verifyAuditLogEntryStructure, verifyAuditLogGenericError, verifyAuditLogLoading, verifyAuditLogPermissionError, verifyAuditLogTableVisible, verifyConnectDisabledForUnhealthy, verifyConnectedInstanceCard, verifyCurrentPage, verifyDonePhase, verifyDownloadingPhase, verifyErrorPhase, verifyInstanceTableEmpty, verifyInstanceTableVisible, verifyMemoryExists, verifyMemoryNotExists, verifyMemoryTabMemoriesList, verifyMemoryTabSettings, verifyPreparingPhase, verifySkillVisible, verifySkillsEmptyState, verifySkillsTabVisible, waitForAgentChatResponse, waitForAuditLogDataLoaded, waitForBillingTabReady, waitForCreditBalanceLoaded, waitForDialogReady, waitForElementStable, waitForPageLoad, waitForPageReady, waitForReportDownload, waitForTicketInList };
|
|
2582
|
-
export type { AgentPromptField, AuthFlowType, AuthSetupConfig, BillingAutoRechargeStatus, CallMode, ChatPrivacyMode, ChatPrivacySource, ChatPrivacyToggleState, CreatePlaywrightConfigOptions, CreditBalancePlan, EnvConfig, EvalReviewStatus, EvalRunStatus, LlmProvider, LtiEndpoint, LtiKeySetMode, LtiSubTab, LtiToolFormData, PlatformConfig, PrivacyAction, PrivacyEntity, ReportDownloadOptions, SafeWaitForURLOptions, ScreenSharePromptField, SignUpCredentials, SkillFormValues, StepFn, SttProvider, SupportTicketStatus, TaskRepeat, TaskStatus, TtsProvider, VoiceProvider };
|
|
2719
|
+
export { AuthFlowBuilder, CHAT_PRIVACY_LABELS, CustomReporter, EVALS_LABELS, GRADER_LABELS, LTI_LABELS, LTI_TEST_IDS, MailsacClient, PRIVACY_LABELS, SCREENSHARE_LABELS, SUPPORT_LABELS, TASKS_LABELS, VOICE_LABELS, addGraderCriterion, addManualScore, addMemory, addQaPairsManually, archiveFirstMemory, archiveMemoryByContent, billingAutoRechargeSection, billingCreditsSection, billingPlanSection, buildReportUrl, canChatWithEmbedMentor, cancelDeleteEvaluation, cancelDeleteInstance, cancelDeleteSkill, cancelDisconnectInstance, cancelEnableChatPrivacyMidSession, cancelKeyDelete, cancelLlmJudge, cancelNewInstanceDialog, cancelStartEvaluation, checkAdminStatus, checkRunStatus, clearDateRangeFilter, clearInstanceSearch, clearUserFilter, clickBackHome, clickBillingAddCredits, clickBillingManageBilling, clickBillingManageUsage, clickBillingUpgrade, clickChatPrivacyToggle, clickDownloadAgain, clickManualDownloadLink, closeBenchmarkItemsDialog, closeCreditBalanceDropdown, closeEvaluationDetailDialog, closeKeyDetail, closeManageBenchmarksDialog, closeWithEsc, confirmEnableChatPrivacyMidSession, confirmKeyDelete, connectToInstance, copyEndpoint, createAuthSetup, createBenchmark, createEnvConfig, createInstance, createKey, createLink, createPlaywrightConfig, createSkill, createSupportTicketViaChatAndVerify, createTool, creditBalancePanel, creditBalancePlanBadge, creditBalanceTrigger, deleteEvaluation, deleteFirstMemory, deleteGraderCriterion, deleteInstance, deleteKey, deleteMemoryByContent, deleteQaItem, deleteSkill, deleteTask, disableSkill, disableSupport, disconnectInstance, editAgentPrompt, editGraderCriterion, editInstance, editLink, editSkill, editTool, enableSkill, enableSupport, expandReview, expandTrace, expectAllEndpointsVisible, expectBenchmarkListed, expectBillingAutoRechargeSection, expectBillingCreditsSection, expectBillingPlanSection, expectBillingTabForCurrentPlan, expectBillingTabForFreePlan, expectBillingTabForPremiumPlan, expectBillingTabForTrialPlan, expectCallConfigVisible, expectCallConfigVoiceTriggerShows, expectChatPrivacyConfirmDialogOpen, expectChatPrivacyLocked, expectChatPrivacySource, expectChatPrivacyState, expectChatPrivacyToggleVisible, expectCompletedTasks, expectCreditBalanceForCurrentPlan, expectCreditBalancePanelForFreePlan, expectCreditBalancePanelForPremiumPlan, expectCreditBalancePanelForTrialPlan, expectCreditBalanceVisibilityForTenant, expectDetailWaitingForTraces, expectEndpointUrl, expectEntitySelected, expectFailedTasks, expectGraderMisconfiguredWarning, expectGraderTotalPoints, expectKeyDeleteError, expectKeyInList, expectKeyNotInList, expectKeysEmpty, expectLastCriterionDeleteDisabled, expectLinkInList, expectLinkNotInList, expectLinkTargetUri, expectLinksEmpty, expectLogDetailsStatus, expectLogsForTask, expectLtiHeader, expectMentorVoiceTriggerShows, expectMessageInConversation, expectNoAccessibilityViolations, expectNoAccessibilityViolationsOnDialogs, expectNoBenchmarksNotice, expectNoLogsForSelectedTask, expectNoRepliesYet, expectNoTickets, expectOutputFilterEnabled, expectPrivacyFieldsHidden, expectPrivacyFieldsVisible, expectPrivateModeSelected, expectPrivateModeTabReady, expectQaItemListed, expectReviewInList, expectReviewStatus, expectRunInTable, expectRunNotInTable, expectRunStatus, expectRunsTableEmpty, expectScheduleStartTimeInPastError, expectScreenShareDisabledHint, expectSelectedBenchmark, expectSttSelectDisabled, expectTaskInList, expectTaskNotInList, expectTaskStatus, expectTasksEmpty, expectTenantChatPrivacyEnabled, expectTenantChatPrivacyVisible, expectTicketClosedNotice, expectTicketDescriptionContains, expectTicketInList, expectTicketStatusInList, expectToolInList, expectToolNotInList, expectToolsEmpty, expectTotalTasks, expectTraceScore, expectTtsSelectDisabled, expectVoiceProviderSelected, expectVoiceVisible, exportRunCsv, fillLinkName, fillToolForm, filterByAction, filterByActionAndVerify, filterByActor, filterByActorAndVerify, filterByDateRange, filterTicketsByStatus, filterTicketsByUser, generateBrowserSetupProjects, generateProjectConfig, getAddItemsDialog, getAuditLogRowCount, getAvailableActors, getBenchmarkCombobox, getBenchmarkComboboxDropdown, getBenchmarkItemsDialog, getBillingAutoRechargeStatus, getBillingPlanLabel, getBrowserKey, getCallConfigForm, getChatInput, getChatPrivacyConfirmDialog, getChatPrivacyToggle, getCreateBenchmarkDialog, getCreateKeyButton, getCreateLinkButton, getCreateToolButton, getCreditBalancePlanLabel, getCreditBalanceRemaining, getCurrentModel, getCurrentTenantShowPaywall, getDeleteEvaluationDialog, getDeleteQaItemDialog, getEditAgentDialog, getEndpoint, getEndpointCopyButton, getEndpointUrl, getEntityChip, getEvaluationDetailDialog, getInstanceHealthLabel, getInstanceRowCount, getInstanceStatusLabel, getKeyActionsTrigger, getKeyCreateModal, getKeyCreateNameInput, getKeyDeleteModal, getKeyDetailModal, getKeyDetailNameInput, getKeyPublicJwkField, getKeyPublicKeyField, getKeyRow, getKeysEmptyState, getKeysSection, getLinkCopyTargetUriButton, getLinkEditButton, getLinkModal, getLinkNameInput, getLinkRow, getLinksEmptyState, getLinksSection, getLlmJudgeDialog, getLlmPickerDialog, getLtiSubTab, getManageBenchmarksButton, getManageBenchmarksDialog, getMemoryCount, getMentorIdFromUrl, getNewEvaluationButton, getOutputFilterSwitch, getPaginationInfo, getPrivateModeCard, getReplyComposer, getReviewRow, getRunRow, getScheduleTaskButton, getSearchInput, getSkillRowCount, getStartEvaluationDialog, getStatusFilter, getSupportInfoBox, getSupportTabTrigger, getSupportToggle, getTaskRow, getTenantChatPrivacyRow, getTenantChatPrivacySwitch, getTicketDescription, getTicketDetail, getTicketList, getTicketRow, getTicketRowByIndex, getToolEditButton, getToolKeySelect, getToolModal, getToolRow, getToolsEmptyState, getToolsSection, getTraceRow, getUserFilter, getVoiceProviderCard, getVoiceRow, goToFirstPage, goToLastPage, goToNextPage, goToPage, goToPreviousPage, graderTabBody, inviteUserTest, isEvaluationTabVisible, isFirefox, isGraderTabVisible, isGradingEnabled, isJSON, isLtiTabVisible, isMemoryTabVisible, isOnFirstPage, isOnLastPage, isPrivacyTabVisible, isPrivateModeTabVisible, isSandboxTabVisible, isScreenShareTabVisible, isSkillEnabled, isSupportEnabled, isSupportTabVisible, isTasksTabVisible, isVoiceTabVisible, logger, loginWithEmailAndPassword, loginWithMicrosoftIdp, navigateToAccountComponent, navigateToAuditLog, navigateToAuditLogAndWaitForData, navigateToDataReports, navigateToReportDownload, openAddItemsDialog, openAddMemoryDialog, openAgentPromptEditModal, openBenchmarkItems, openCallConfigVoicePicker, openCreateKeyModal, openCreateLinkModal, openCreateToolModal, openCreditBalanceDropdown, openEditInstanceDialog, openEditLinkModal, openEditSkillDialog, openEditToolModal, openFirstLogDetails, openInstanceActionsMenu, openKeyActionsMenu, openKeyDelete, openKeyDetail, openLLMProviderPicker, openManageBenchmarksDialog, openMentorVoicePicker, openNewInstanceDialog, openNewReviewForRun, openNewReviewFromDetail, openNewSkillDialog, openRunActionsMenu, openRunResults, openScheduleTaskDialog, openScreenSharePromptEditor, openSkillActionsMenu, openStartEvaluationDialog, openTicket, parseReportUrlParams, previewCallConfigVoiceInline, previewMentorVoiceInline, previewVoice, pushConfiguration, readEndpointUrl, readKeyPublicJwk, readKeyPublicKey, refreshEvaluationDetail, refreshTickets, reliableClick, reliableFill, removeTraceScore, renameKey, replyToTicket, requestSupportTicketViaChat, resetCallConfig, retry, runConnectedInstanceChecks, runInstanceChecks, safeWaitForURL, saveCallConfig, saveGraderConfig, saveScreenSharePrompts, saveVoiceSettings, scheduleTask, searchBenchmarks, searchInstances, searchTasks, searchVoices, selectBenchmark, selectCallMode, selectDateFromCalendar, selectJudgeLlm, selectLLMModel, selectLlmProvider, selectPrivacyAction, selectPrivateMode, selectSttProvider, selectTaskInList, selectToolKeySetMode, selectToolSigningKey, selectTtsProvider, selectVoice, selectVoiceProvider, sendAgentChatMessage, setBlockMessage, setCallLanguage, setEnableVideo, setEntitySelected, setGradingEnabled, setOutputFilterEnabled, setScreenSharePrompt, setSupportEnabled, setTenantChatPrivacyEnabled, setTicketStatus, setUseFunctionCallingEnabled, setupSandboxInstance, shouldAddNewRowWhenClickingAddRowButton, shouldAllowEditingCellValuesInCSVEditor, shouldCancelCombiningReports, shouldCloseCSVEditorWhenClickingCloseButton, shouldCloseCSVEditorWithoutSavingWhenClickingCancel, shouldCombineRecommendationReports, shouldDirectlyDownloadChatHistoryReportWithoutCSVEditor, shouldDisableOtherDownloadButtonsWhileGeneratingReport, shouldDisplayCSVInEditableTableFormat, shouldDisplayReportCards, shouldHaveCombinedReportDataTestIds, shouldOpenCSVEditorDialog, shouldOpenCSVEditorForUserMetadataReport, shouldSaveEditedCSVAndTriggerDownload, shouldShowCombiningReportsDialog, shouldVerifyCSVEditorDialogAccessibility, signUpWithEmailAndPassword, startEvaluation, submitLinkModal, submitLlmJudge, submitToolModal, switchToAddItemsSubTab, switchToEvaluationTab, switchToGraderSubTab, switchToGraderTab, switchToLtiSubTab, switchToLtiTab, switchToMemoryTab, switchToPrivacyTab, switchToPrivateModeTab, switchToSandboxTab, switchToScreenShareTab, switchToSkillsTab, switchToSupportTab, switchToTasksTab, switchToVoiceSubTab, switchToVoiceTab, teardownSandboxInstance, test, toggleAutoPush, toggleMemorySwitch, toggleSkill, toolFields, uploadQaCsv, verifyAgentConfigPromptsVisible, verifyAuditLogEmptyState, verifyAuditLogEntryStructure, verifyAuditLogGenericError, verifyAuditLogLoading, verifyAuditLogPermissionError, verifyAuditLogTableVisible, verifyConnectDisabledForUnhealthy, verifyConnectedInstanceCard, verifyCurrentPage, verifyDonePhase, verifyDownloadingPhase, verifyErrorPhase, verifyInstanceTableEmpty, verifyInstanceTableVisible, verifyMemoryExists, verifyMemoryNotExists, verifyMemoryTabMemoriesList, verifyMemoryTabSettings, verifyPreparingPhase, verifySkillVisible, verifySkillsEmptyState, verifySkillsTabVisible, waitForAgentChatResponse, waitForAuditLogDataLoaded, waitForBillingTabReady, waitForCreditBalanceLoaded, waitForDialogReady, waitForElementStable, waitForPageLoad, waitForPageReady, waitForReportDownload, waitForTicketInList };
|
|
2720
|
+
export type { AgentPromptField, AuthFlowType, AuthSetupConfig, BillingAutoRechargeStatus, CallMode, ChatPrivacyMode, ChatPrivacySource, ChatPrivacyToggleState, CreatePlaywrightConfigOptions, CreditBalancePlan, EnvConfig, EvalReviewStatus, EvalRunStatus, GraderCriterionInput, GraderFeedbackMode, GraderGradingMode, GraderSubTab, LlmProvider, LtiEndpoint, LtiKeySetMode, LtiSubTab, LtiToolFormData, PlatformConfig, PrivacyAction, PrivacyEntity, ReportDownloadOptions, SafeWaitForURLOptions, ScreenSharePromptField, SignUpCredentials, SkillFormValues, StepFn, SttProvider, SupportTicketStatus, TaskRepeat, TaskStatus, TtsProvider, VoiceProvider };
|
|
@@ -4039,6 +4039,318 @@ async function expectScreenShareDisabledHint(scope, visible) {
|
|
|
4039
4039
|
}
|
|
4040
4040
|
}
|
|
4041
4041
|
|
|
4042
|
+
/**
|
|
4043
|
+
* Grader tab helpers — Playwright bindings for the standalone
|
|
4044
|
+
* `AgentGraderTab` component from `@iblai/web-containers`.
|
|
4045
|
+
*
|
|
4046
|
+
* The tab is a peer to Tools/LLM/Memory/etc in the edit-agent modal. Its
|
|
4047
|
+
* master toggle attaches/detaches the "Grading" tool on the agent; the gated
|
|
4048
|
+
* content splits into two sub-tabs — Grading setup (configuration form) and
|
|
4049
|
+
* Rubric (criteria table with modal-based add/edit/delete behind a
|
|
4050
|
+
* three-dots row menu).
|
|
4051
|
+
*
|
|
4052
|
+
* Selector policy (flakiness-proof by construction):
|
|
4053
|
+
* - Every query is scoped dialog-first: resolve the edit-agent dialog, then
|
|
4054
|
+
* the tab body, then the sub-element — never a bare page-wide match. The
|
|
4055
|
+
* criterion/delete modals portal outside that dialog, so they are located
|
|
4056
|
+
* by their own testids and all fills happen within the modal locator.
|
|
4057
|
+
* - Stable hooks only: `data-testid`, role + accessible name, labels.
|
|
4058
|
+
* No CSS class or structural selectors.
|
|
4059
|
+
* - No `waitForTimeout` / `networkidle`. Progress is gated on UI state that
|
|
4060
|
+
* only exists after the awaited transition: sub-tab section testids, a
|
|
4061
|
+
* modal closing after a persisted mutation, a rubric row
|
|
4062
|
+
* appearing/disappearing after the list refetch.
|
|
4063
|
+
*/
|
|
4064
|
+
const GRADER_LABELS = {
|
|
4065
|
+
tabName: 'Grader',
|
|
4066
|
+
capabilityToggle: 'Grading',
|
|
4067
|
+
subTabs: {
|
|
4068
|
+
setup: 'Grading setup',
|
|
4069
|
+
rubric: 'Rubric',
|
|
4070
|
+
},
|
|
4071
|
+
addButton: 'Add criterion',
|
|
4072
|
+
menu: {
|
|
4073
|
+
/** aria-label template for a row's three-dots trigger. */
|
|
4074
|
+
actionsAria: (name) => `Actions for ${name}`,
|
|
4075
|
+
edit: 'Edit',
|
|
4076
|
+
delete: 'Delete',
|
|
4077
|
+
},
|
|
4078
|
+
modal: {
|
|
4079
|
+
fields: {
|
|
4080
|
+
name: 'Name',
|
|
4081
|
+
criteria: 'Criteria',
|
|
4082
|
+
points: 'Points',
|
|
4083
|
+
},
|
|
4084
|
+
cancel: 'Cancel',
|
|
4085
|
+
},
|
|
4086
|
+
toasts: {
|
|
4087
|
+
toggleOn: 'Grading turned on',
|
|
4088
|
+
toggleOff: 'Grading turned off — your rubric is kept for next time',
|
|
4089
|
+
},
|
|
4090
|
+
gradingModeOptions: {
|
|
4091
|
+
submission: 'A submission',
|
|
4092
|
+
conversation: 'The conversation',
|
|
4093
|
+
},
|
|
4094
|
+
feedbackModeOptions: {
|
|
4095
|
+
overall: 'Overall feedback only',
|
|
4096
|
+
per_criteria: 'Feedback per criterion',
|
|
4097
|
+
both: 'Overall + per criterion',
|
|
4098
|
+
},
|
|
4099
|
+
};
|
|
4100
|
+
const UI_TIMEOUT = 10000;
|
|
4101
|
+
const MUTATION_TIMEOUT = 15000;
|
|
4102
|
+
/**
|
|
4103
|
+
* The edit-agent dialog that hosts the settings tabs. Scoping through the
|
|
4104
|
+
* dialog first keeps every subsequent query away from same-named elements
|
|
4105
|
+
* elsewhere on the page (nested portals, background page content).
|
|
4106
|
+
*/
|
|
4107
|
+
function editAgentDialog(page) {
|
|
4108
|
+
return page.getByRole('dialog').filter({ has: page.getByRole('tablist') });
|
|
4109
|
+
}
|
|
4110
|
+
/** The Grader tab's body, scoped through the edit-agent dialog. */
|
|
4111
|
+
function graderTabBody(page) {
|
|
4112
|
+
return editAgentDialog(page).getByTestId('grader-tab-body');
|
|
4113
|
+
}
|
|
4114
|
+
/** The Rubric sub-tab's section within the tab body. */
|
|
4115
|
+
function criteriaSection(page) {
|
|
4116
|
+
return graderTabBody(page).getByTestId('grader-criteria-section');
|
|
4117
|
+
}
|
|
4118
|
+
/** A rubric table row containing the given criterion name (exact match). */
|
|
4119
|
+
function criterionRow(page, name) {
|
|
4120
|
+
return criteriaSection(page)
|
|
4121
|
+
.locator('[data-testid^="grader-criterion-row-"]')
|
|
4122
|
+
.filter({ has: page.getByText(name, { exact: true }) });
|
|
4123
|
+
}
|
|
4124
|
+
/**
|
|
4125
|
+
* Returns false if the Grader tab isn't currently rendered in the
|
|
4126
|
+
* edit-agent dialog (host didn't register it, or RBAC hid it).
|
|
4127
|
+
*/
|
|
4128
|
+
async function isGraderTabVisible(page) {
|
|
4129
|
+
const tab = editAgentDialog(page).getByRole('tab', {
|
|
4130
|
+
name: GRADER_LABELS.tabName,
|
|
4131
|
+
exact: true,
|
|
4132
|
+
});
|
|
4133
|
+
try {
|
|
4134
|
+
await expect(tab).toBeVisible({ timeout: 5000 });
|
|
4135
|
+
return true;
|
|
4136
|
+
}
|
|
4137
|
+
catch (_a) {
|
|
4138
|
+
return false;
|
|
4139
|
+
}
|
|
4140
|
+
}
|
|
4141
|
+
/**
|
|
4142
|
+
* Switch to the Grader top-level tab. Assumes the edit-agent dialog is
|
|
4143
|
+
* open. Completion is gated on the tab body's testid, not on timing.
|
|
4144
|
+
*/
|
|
4145
|
+
async function switchToGraderTab(page) {
|
|
4146
|
+
const dialog = editAgentDialog(page);
|
|
4147
|
+
const tab = dialog.getByRole('tab', { name: GRADER_LABELS.tabName, exact: true });
|
|
4148
|
+
await expect(tab).toBeVisible({ timeout: UI_TIMEOUT });
|
|
4149
|
+
await tab.click();
|
|
4150
|
+
await expect(graderTabBody(page)).toBeVisible({ timeout: UI_TIMEOUT });
|
|
4151
|
+
logger.info('Switched to Grader tab');
|
|
4152
|
+
}
|
|
4153
|
+
/**
|
|
4154
|
+
* Switch between the Grader tab's two sub-tabs. Completion is gated on the
|
|
4155
|
+
* target section's testid rendering.
|
|
4156
|
+
*/
|
|
4157
|
+
async function switchToGraderSubTab(page, subTab) {
|
|
4158
|
+
const body = graderTabBody(page);
|
|
4159
|
+
const trigger = body.getByTestId(`grader-sub-tab-${subTab}`);
|
|
4160
|
+
await expect(trigger).toBeVisible({ timeout: UI_TIMEOUT });
|
|
4161
|
+
await trigger.click();
|
|
4162
|
+
const section = subTab === 'setup'
|
|
4163
|
+
? body.getByTestId('grader-setup-section')
|
|
4164
|
+
: body.getByTestId('grader-criteria-section');
|
|
4165
|
+
await expect(section).toBeVisible({ timeout: UI_TIMEOUT });
|
|
4166
|
+
logger.info(`Switched to Grader ${subTab} sub-tab`);
|
|
4167
|
+
}
|
|
4168
|
+
/** Read the current on/off state of the Grading capability toggle. */
|
|
4169
|
+
async function isGradingEnabled(page) {
|
|
4170
|
+
const toggle = graderTabBody(page).getByTestId('grader-capability-toggle');
|
|
4171
|
+
await expect(toggle).toBeVisible({ timeout: UI_TIMEOUT });
|
|
4172
|
+
return (await toggle.getAttribute('aria-checked')) === 'true';
|
|
4173
|
+
}
|
|
4174
|
+
/**
|
|
4175
|
+
* Idempotently set the Grading capability toggle. Waits for the success
|
|
4176
|
+
* toast (which only fires after the settings PATCH resolves — the switch
|
|
4177
|
+
* itself flips optimistically and would roll back on failure) and then for
|
|
4178
|
+
* the gated content to reflect the new state.
|
|
4179
|
+
*/
|
|
4180
|
+
async function setGradingEnabled(page, enabled) {
|
|
4181
|
+
const body = graderTabBody(page);
|
|
4182
|
+
const toggle = body.getByTestId('grader-capability-toggle');
|
|
4183
|
+
await expect(toggle).toBeVisible({ timeout: UI_TIMEOUT });
|
|
4184
|
+
if ((await toggle.getAttribute('aria-checked')) === String(enabled)) {
|
|
4185
|
+
logger.info(`Grading already ${enabled ? 'enabled' : 'disabled'} — no toggle needed`);
|
|
4186
|
+
return;
|
|
4187
|
+
}
|
|
4188
|
+
await expect(toggle).toBeEnabled({ timeout: UI_TIMEOUT });
|
|
4189
|
+
await toggle.click();
|
|
4190
|
+
const toastText = enabled ? GRADER_LABELS.toasts.toggleOn : GRADER_LABELS.toasts.toggleOff;
|
|
4191
|
+
// .first() is deliberate: rapid toggles can stack identical sonner toasts,
|
|
4192
|
+
// and any one of them proves the PATCH resolved.
|
|
4193
|
+
await expect(page.getByText(toastText).first()).toBeVisible({ timeout: MUTATION_TIMEOUT });
|
|
4194
|
+
await expect(toggle).toHaveAttribute('aria-checked', String(enabled), {
|
|
4195
|
+
timeout: MUTATION_TIMEOUT,
|
|
4196
|
+
});
|
|
4197
|
+
await expect(body.getByTestId('capability-gate-content')).toHaveAttribute('data-enabled', String(enabled), { timeout: UI_TIMEOUT });
|
|
4198
|
+
logger.info(`Grading ${enabled ? 'enabled' : 'disabled'}`);
|
|
4199
|
+
}
|
|
4200
|
+
/** Pick an option in one of the setup form's two Radix selects. */
|
|
4201
|
+
async function pickSelectOption(page, triggerTestId, optionLabel) {
|
|
4202
|
+
const trigger = graderTabBody(page).getByTestId(triggerTestId);
|
|
4203
|
+
await expect(trigger).toBeVisible({ timeout: UI_TIMEOUT });
|
|
4204
|
+
await trigger.click();
|
|
4205
|
+
// Radix renders the listbox in a portal outside the dialog, so the
|
|
4206
|
+
// option is looked up by role at page level — the open listbox is the
|
|
4207
|
+
// only one in the document.
|
|
4208
|
+
const option = page.getByRole('option', { name: optionLabel, exact: true });
|
|
4209
|
+
await expect(option).toBeVisible({ timeout: UI_TIMEOUT });
|
|
4210
|
+
await option.click();
|
|
4211
|
+
await expect(option).toBeHidden({ timeout: UI_TIMEOUT });
|
|
4212
|
+
}
|
|
4213
|
+
/**
|
|
4214
|
+
* Fill and persist the Grading setup form (switches to the setup sub-tab
|
|
4215
|
+
* first). Only the provided fields are changed. Completion is gated on the
|
|
4216
|
+
* Save button returning to disabled: after the config POST/PATCH resolves,
|
|
4217
|
+
* the form rehydrates from the server copy and stops being dirty.
|
|
4218
|
+
*/
|
|
4219
|
+
async function saveGraderConfig(page, values) {
|
|
4220
|
+
await switchToGraderSubTab(page, 'setup');
|
|
4221
|
+
const body = graderTabBody(page);
|
|
4222
|
+
if (values.gradingMode) {
|
|
4223
|
+
await pickSelectOption(page, 'grader-grading-mode-select', GRADER_LABELS.gradingModeOptions[values.gradingMode]);
|
|
4224
|
+
}
|
|
4225
|
+
if (values.feedbackMode) {
|
|
4226
|
+
await pickSelectOption(page, 'grader-feedback-mode-select', GRADER_LABELS.feedbackModeOptions[values.feedbackMode]);
|
|
4227
|
+
}
|
|
4228
|
+
if (values.instructions !== undefined) {
|
|
4229
|
+
const textarea = body.getByTestId('grader-instructions-textarea');
|
|
4230
|
+
await expect(textarea).toBeVisible({ timeout: UI_TIMEOUT });
|
|
4231
|
+
await textarea.fill(values.instructions);
|
|
4232
|
+
}
|
|
4233
|
+
const saveButton = body.getByTestId('grader-save-button');
|
|
4234
|
+
await expect(saveButton).toBeEnabled({ timeout: UI_TIMEOUT });
|
|
4235
|
+
await saveButton.click();
|
|
4236
|
+
await expect(saveButton).toBeDisabled({ timeout: MUTATION_TIMEOUT });
|
|
4237
|
+
logger.info('Saved grader configuration');
|
|
4238
|
+
}
|
|
4239
|
+
/** Fill the criterion modal's three fields and submit it. */
|
|
4240
|
+
async function submitCriterionModal(page, criterion) {
|
|
4241
|
+
const modal = page.getByTestId('grader-criterion-modal');
|
|
4242
|
+
await expect(modal).toBeVisible({ timeout: UI_TIMEOUT });
|
|
4243
|
+
await modal.getByLabel(GRADER_LABELS.modal.fields.name, { exact: true }).fill(criterion.name);
|
|
4244
|
+
await modal
|
|
4245
|
+
.getByLabel(GRADER_LABELS.modal.fields.criteria, { exact: true })
|
|
4246
|
+
.fill(criterion.criteria);
|
|
4247
|
+
await modal
|
|
4248
|
+
.getByLabel(GRADER_LABELS.modal.fields.points, { exact: true })
|
|
4249
|
+
.fill(String(criterion.points));
|
|
4250
|
+
const saveButton = modal.getByTestId('grader-criterion-modal-save');
|
|
4251
|
+
await expect(saveButton).toBeEnabled({ timeout: UI_TIMEOUT });
|
|
4252
|
+
await saveButton.click();
|
|
4253
|
+
// The modal only closes itself after the mutation resolves.
|
|
4254
|
+
await expect(modal).toBeHidden({ timeout: MUTATION_TIMEOUT });
|
|
4255
|
+
}
|
|
4256
|
+
/** Open a rubric row's three-dots menu and click one of its actions. */
|
|
4257
|
+
async function clickRowMenuAction(page, name, action) {
|
|
4258
|
+
const trigger = criterionRow(page, name).getByRole('button', {
|
|
4259
|
+
name: GRADER_LABELS.menu.actionsAria(name),
|
|
4260
|
+
});
|
|
4261
|
+
await expect(trigger).toBeVisible({ timeout: UI_TIMEOUT });
|
|
4262
|
+
await trigger.click();
|
|
4263
|
+
// The menu portals to the page root — the open menu is the only one.
|
|
4264
|
+
const item = page.getByRole('menuitem', { name: action, exact: true });
|
|
4265
|
+
await expect(item).toBeVisible({ timeout: UI_TIMEOUT });
|
|
4266
|
+
await item.click();
|
|
4267
|
+
}
|
|
4268
|
+
/**
|
|
4269
|
+
* Add a rubric criterion through the Add-criterion modal (switches to the
|
|
4270
|
+
* Rubric sub-tab first). Requires a saved grader configuration — the Add
|
|
4271
|
+
* button is disabled until one exists. Completion is gated on the modal
|
|
4272
|
+
* closing and the new row rendering after the list refetch.
|
|
4273
|
+
*/
|
|
4274
|
+
async function addGraderCriterion(page, criterion) {
|
|
4275
|
+
await switchToGraderSubTab(page, 'rubric');
|
|
4276
|
+
const addButton = criteriaSection(page).getByTestId('grader-add-criterion-button');
|
|
4277
|
+
await expect(addButton).toBeEnabled({ timeout: UI_TIMEOUT });
|
|
4278
|
+
await addButton.click();
|
|
4279
|
+
await submitCriterionModal(page, criterion);
|
|
4280
|
+
await expect(criterionRow(page, criterion.name)).toBeVisible({ timeout: MUTATION_TIMEOUT });
|
|
4281
|
+
logger.info(`Added rubric criterion "${criterion.name}"`);
|
|
4282
|
+
}
|
|
4283
|
+
/**
|
|
4284
|
+
* Edit an existing rubric criterion via its row's three-dots menu → Edit
|
|
4285
|
+
* modal. The row is located by its current name; all three fields are
|
|
4286
|
+
* rewritten. Completion is gated on the modal closing and the updated row
|
|
4287
|
+
* rendering.
|
|
4288
|
+
*/
|
|
4289
|
+
async function editGraderCriterion(page, currentName, updates) {
|
|
4290
|
+
await switchToGraderSubTab(page, 'rubric');
|
|
4291
|
+
await clickRowMenuAction(page, currentName, GRADER_LABELS.menu.edit);
|
|
4292
|
+
await submitCriterionModal(page, updates);
|
|
4293
|
+
await expect(criterionRow(page, updates.name)).toBeVisible({ timeout: MUTATION_TIMEOUT });
|
|
4294
|
+
logger.info(`Edited rubric criterion "${currentName}" → "${updates.name}"`);
|
|
4295
|
+
}
|
|
4296
|
+
/**
|
|
4297
|
+
* Delete a rubric criterion via its row's three-dots menu → confirmation
|
|
4298
|
+
* modal. Completion is gated on the modal closing and the row disappearing
|
|
4299
|
+
* after the server delete + list refetch.
|
|
4300
|
+
*/
|
|
4301
|
+
async function deleteGraderCriterion(page, name) {
|
|
4302
|
+
await switchToGraderSubTab(page, 'rubric');
|
|
4303
|
+
await clickRowMenuAction(page, name, GRADER_LABELS.menu.delete);
|
|
4304
|
+
const modal = page.getByTestId('grader-criterion-delete-modal');
|
|
4305
|
+
await expect(modal).toBeVisible({ timeout: UI_TIMEOUT });
|
|
4306
|
+
const confirmButton = modal.getByTestId('grader-criterion-delete-confirm');
|
|
4307
|
+
await expect(confirmButton).toBeEnabled({ timeout: UI_TIMEOUT });
|
|
4308
|
+
await confirmButton.click();
|
|
4309
|
+
await expect(modal).toBeHidden({ timeout: MUTATION_TIMEOUT });
|
|
4310
|
+
await expect(criterionRow(page, name)).toBeHidden({ timeout: MUTATION_TIMEOUT });
|
|
4311
|
+
logger.info(`Deleted rubric criterion "${name}"`);
|
|
4312
|
+
}
|
|
4313
|
+
/**
|
|
4314
|
+
* Assert the last remaining criterion's Delete menu action is disabled and
|
|
4315
|
+
* the explanatory hint is shown — the backend refuses to delete the final
|
|
4316
|
+
* row, so the UI must block it too. Closes the menu again before returning.
|
|
4317
|
+
*/
|
|
4318
|
+
async function expectLastCriterionDeleteDisabled(page, name) {
|
|
4319
|
+
await switchToGraderSubTab(page, 'rubric');
|
|
4320
|
+
await expect(criteriaSection(page).getByTestId('grader-last-criterion-hint')).toBeVisible({
|
|
4321
|
+
timeout: UI_TIMEOUT,
|
|
4322
|
+
});
|
|
4323
|
+
const trigger = criterionRow(page, name).getByRole('button', {
|
|
4324
|
+
name: GRADER_LABELS.menu.actionsAria(name),
|
|
4325
|
+
});
|
|
4326
|
+
await expect(trigger).toBeVisible({ timeout: UI_TIMEOUT });
|
|
4327
|
+
await trigger.click();
|
|
4328
|
+
const deleteItem = page.getByRole('menuitem', { name: GRADER_LABELS.menu.delete, exact: true });
|
|
4329
|
+
await expect(deleteItem).toBeVisible({ timeout: UI_TIMEOUT });
|
|
4330
|
+
await expect(deleteItem).toHaveAttribute('aria-disabled', 'true');
|
|
4331
|
+
await page.keyboard.press('Escape');
|
|
4332
|
+
await expect(deleteItem).toBeHidden({ timeout: UI_TIMEOUT });
|
|
4333
|
+
}
|
|
4334
|
+
/**
|
|
4335
|
+
* Assert whether the amber misconfiguration banner is shown (grading on
|
|
4336
|
+
* with no config yet, or with an empty rubric). The banner sits above the
|
|
4337
|
+
* sub-tabs, so no sub-tab switch is needed.
|
|
4338
|
+
*/
|
|
4339
|
+
async function expectGraderMisconfiguredWarning(page, visible) {
|
|
4340
|
+
const warning = graderTabBody(page).getByTestId('grader-misconfigured-warning');
|
|
4341
|
+
if (visible) {
|
|
4342
|
+
await expect(warning).toBeVisible({ timeout: UI_TIMEOUT });
|
|
4343
|
+
}
|
|
4344
|
+
else {
|
|
4345
|
+
await expect(warning).toBeHidden();
|
|
4346
|
+
}
|
|
4347
|
+
}
|
|
4348
|
+
/** Assert the rubric's live "total possible points" readout (Rubric sub-tab). */
|
|
4349
|
+
async function expectGraderTotalPoints(page, total) {
|
|
4350
|
+
await switchToGraderSubTab(page, 'rubric');
|
|
4351
|
+
await expect(criteriaSection(page).getByText(`Total possible points: ${total}`, { exact: true })).toBeVisible({ timeout: UI_TIMEOUT });
|
|
4352
|
+
}
|
|
4353
|
+
|
|
4042
4354
|
const DEFAULT_TIMEOUT = 10000;
|
|
4043
4355
|
/** Locator for the Plan section card on the BillingTab. */
|
|
4044
4356
|
function billingPlanSection(page) {
|
|
@@ -6521,5 +6833,5 @@ function createPlaywrightConfig(options) {
|
|
|
6521
6833
|
});
|
|
6522
6834
|
}
|
|
6523
6835
|
|
|
6524
|
-
export { AuthFlowBuilder, CHAT_PRIVACY_LABELS, CustomReporter, EVALS_LABELS, LTI_LABELS, LTI_TEST_IDS, MailsacClient, PRIVACY_LABELS, SCREENSHARE_LABELS, SUPPORT_LABELS, TASKS_LABELS, VOICE_LABELS, addManualScore, addMemory, addQaPairsManually, archiveFirstMemory, archiveMemoryByContent, billingAutoRechargeSection, billingCreditsSection, billingPlanSection, buildReportUrl, canChatWithEmbedMentor, cancelDeleteEvaluation, cancelDeleteInstance, cancelDeleteSkill, cancelDisconnectInstance, cancelEnableChatPrivacyMidSession, cancelKeyDelete, cancelLlmJudge, cancelNewInstanceDialog, cancelStartEvaluation, checkAdminStatus, checkRunStatus, clearDateRangeFilter, clearInstanceSearch, clearUserFilter, clickBackHome, clickBillingAddCredits, clickBillingManageBilling, clickBillingManageUsage, clickBillingUpgrade, clickChatPrivacyToggle, clickDownloadAgain, clickManualDownloadLink, closeBenchmarkItemsDialog, closeCreditBalanceDropdown, closeEvaluationDetailDialog, closeKeyDetail, closeManageBenchmarksDialog, closeWithEsc, confirmEnableChatPrivacyMidSession, confirmKeyDelete, connectToInstance, copyEndpoint, createAuthSetup, createBenchmark, createEnvConfig, createInstance, createKey, createLink, createPlaywrightConfig, createSkill, createSupportTicketViaChatAndVerify, createTool, creditBalancePanel, creditBalancePlanBadge, creditBalanceTrigger, deleteEvaluation, deleteFirstMemory, deleteInstance, deleteKey, deleteMemoryByContent, deleteQaItem, deleteSkill, deleteTask, disableSkill, disableSupport, disconnectInstance, editAgentPrompt, editInstance, editLink, editSkill, editTool, enableSkill, enableSupport, expandReview, expandTrace, expectAllEndpointsVisible, expectBenchmarkListed, expectBillingAutoRechargeSection, expectBillingCreditsSection, expectBillingPlanSection, expectBillingTabForCurrentPlan, expectBillingTabForFreePlan, expectBillingTabForPremiumPlan, expectBillingTabForTrialPlan, expectCallConfigVisible, expectCallConfigVoiceTriggerShows, expectChatPrivacyConfirmDialogOpen, expectChatPrivacyLocked, expectChatPrivacySource, expectChatPrivacyState, expectChatPrivacyToggleVisible, expectCompletedTasks, expectCreditBalanceForCurrentPlan, expectCreditBalancePanelForFreePlan, expectCreditBalancePanelForPremiumPlan, expectCreditBalancePanelForTrialPlan, expectCreditBalanceVisibilityForTenant, expectDetailWaitingForTraces, expectEndpointUrl, expectEntitySelected, expectFailedTasks, expectKeyDeleteError, expectKeyInList, expectKeyNotInList, expectKeysEmpty, expectLinkInList, expectLinkNotInList, expectLinkTargetUri, expectLinksEmpty, expectLogDetailsStatus, expectLogsForTask, expectLtiHeader, expectMentorVoiceTriggerShows, expectMessageInConversation, expectNoAccessibilityViolations, expectNoAccessibilityViolationsOnDialogs, expectNoBenchmarksNotice, expectNoLogsForSelectedTask, expectNoRepliesYet, expectNoTickets, expectOutputFilterEnabled, expectPrivacyFieldsHidden, expectPrivacyFieldsVisible, expectPrivateModeSelected, expectPrivateModeTabReady, expectQaItemListed, expectReviewInList, expectReviewStatus, expectRunInTable, expectRunNotInTable, expectRunStatus, expectRunsTableEmpty, expectScheduleStartTimeInPastError, expectScreenShareDisabledHint, expectSelectedBenchmark, expectSttSelectDisabled, expectTaskInList, expectTaskNotInList, expectTaskStatus, expectTasksEmpty, expectTenantChatPrivacyEnabled, expectTenantChatPrivacyVisible, expectTicketClosedNotice, expectTicketDescriptionContains, expectTicketInList, expectTicketStatusInList, expectToolInList, expectToolNotInList, expectToolsEmpty, expectTotalTasks, expectTraceScore, expectTtsSelectDisabled, expectVoiceProviderSelected, expectVoiceVisible, exportRunCsv, fillLinkName, fillToolForm, filterByAction, filterByActionAndVerify, filterByActor, filterByActorAndVerify, filterByDateRange, filterTicketsByStatus, filterTicketsByUser, generateBrowserSetupProjects, generateProjectConfig, getAddItemsDialog, getAuditLogRowCount, getAvailableActors, getBenchmarkCombobox, getBenchmarkComboboxDropdown, getBenchmarkItemsDialog, getBillingAutoRechargeStatus, getBillingPlanLabel, getBrowserKey, getCallConfigForm, getChatInput, getChatPrivacyConfirmDialog, getChatPrivacyToggle, getCreateBenchmarkDialog, getCreateKeyButton, getCreateLinkButton, getCreateToolButton, getCreditBalancePlanLabel, getCreditBalanceRemaining, getCurrentModel, getCurrentTenantShowPaywall, getDeleteEvaluationDialog, getDeleteQaItemDialog, getEditAgentDialog, getEndpoint, getEndpointCopyButton, getEndpointUrl, getEntityChip, getEvaluationDetailDialog, getInstanceHealthLabel, getInstanceRowCount, getInstanceStatusLabel, getKeyActionsTrigger, getKeyCreateModal, getKeyCreateNameInput, getKeyDeleteModal, getKeyDetailModal, getKeyDetailNameInput, getKeyPublicJwkField, getKeyPublicKeyField, getKeyRow, getKeysEmptyState, getKeysSection, getLinkCopyTargetUriButton, getLinkEditButton, getLinkModal, getLinkNameInput, getLinkRow, getLinksEmptyState, getLinksSection, getLlmJudgeDialog, getLlmPickerDialog, getLtiSubTab, getManageBenchmarksButton, getManageBenchmarksDialog, getMemoryCount, getMentorIdFromUrl, getNewEvaluationButton, getOutputFilterSwitch, getPaginationInfo, getPrivateModeCard, getReplyComposer, getReviewRow, getRunRow, getScheduleTaskButton, getSearchInput, getSkillRowCount, getStartEvaluationDialog, getStatusFilter, getSupportInfoBox, getSupportTabTrigger, getSupportToggle, getTaskRow, getTenantChatPrivacyRow, getTenantChatPrivacySwitch, getTicketDescription, getTicketDetail, getTicketList, getTicketRow, getTicketRowByIndex, getToolEditButton, getToolKeySelect, getToolModal, getToolRow, getToolsEmptyState, getToolsSection, getTraceRow, getUserFilter, getVoiceProviderCard, getVoiceRow, goToFirstPage, goToLastPage, goToNextPage, goToPage, goToPreviousPage, inviteUserTest, isEvaluationTabVisible, isFirefox, isJSON, isLtiTabVisible, isMemoryTabVisible, isOnFirstPage, isOnLastPage, isPrivacyTabVisible, isPrivateModeTabVisible, isSandboxTabVisible, isScreenShareTabVisible, isSkillEnabled, isSupportEnabled, isSupportTabVisible, isTasksTabVisible, isVoiceTabVisible, logger, loginWithEmailAndPassword, loginWithMicrosoftIdp, navigateToAccountComponent, navigateToAuditLog, navigateToAuditLogAndWaitForData, navigateToDataReports, navigateToReportDownload, openAddItemsDialog, openAddMemoryDialog, openAgentPromptEditModal, openBenchmarkItems, openCallConfigVoicePicker, openCreateKeyModal, openCreateLinkModal, openCreateToolModal, openCreditBalanceDropdown, openEditInstanceDialog, openEditLinkModal, openEditSkillDialog, openEditToolModal, openFirstLogDetails, openInstanceActionsMenu, openKeyActionsMenu, openKeyDelete, openKeyDetail, openLLMProviderPicker, openManageBenchmarksDialog, openMentorVoicePicker, openNewInstanceDialog, openNewReviewForRun, openNewReviewFromDetail, openNewSkillDialog, openRunActionsMenu, openRunResults, openScheduleTaskDialog, openScreenSharePromptEditor, openSkillActionsMenu, openStartEvaluationDialog, openTicket, parseReportUrlParams, previewCallConfigVoiceInline, previewMentorVoiceInline, previewVoice, pushConfiguration, readEndpointUrl, readKeyPublicJwk, readKeyPublicKey, refreshEvaluationDetail, refreshTickets, reliableClick, reliableFill, removeTraceScore, renameKey, replyToTicket, requestSupportTicketViaChat, resetCallConfig, retry, runConnectedInstanceChecks, runInstanceChecks, safeWaitForURL, saveCallConfig, saveScreenSharePrompts, saveVoiceSettings, scheduleTask, searchBenchmarks, searchInstances, searchTasks, searchVoices, selectBenchmark, selectCallMode, selectDateFromCalendar, selectJudgeLlm, selectLLMModel, selectLlmProvider, selectPrivacyAction, selectPrivateMode, selectSttProvider, selectTaskInList, selectToolKeySetMode, selectToolSigningKey, selectTtsProvider, selectVoice, selectVoiceProvider, sendAgentChatMessage, setBlockMessage, setCallLanguage, setEnableVideo, setEntitySelected, setOutputFilterEnabled, setScreenSharePrompt, setSupportEnabled, setTenantChatPrivacyEnabled, setTicketStatus, setUseFunctionCallingEnabled, setupSandboxInstance, shouldAddNewRowWhenClickingAddRowButton, shouldAllowEditingCellValuesInCSVEditor, shouldCancelCombiningReports, shouldCloseCSVEditorWhenClickingCloseButton, shouldCloseCSVEditorWithoutSavingWhenClickingCancel, shouldCombineRecommendationReports, shouldDirectlyDownloadChatHistoryReportWithoutCSVEditor, shouldDisableOtherDownloadButtonsWhileGeneratingReport, shouldDisplayCSVInEditableTableFormat, shouldDisplayReportCards, shouldHaveCombinedReportDataTestIds, shouldOpenCSVEditorDialog, shouldOpenCSVEditorForUserMetadataReport, shouldSaveEditedCSVAndTriggerDownload, shouldShowCombiningReportsDialog, shouldVerifyCSVEditorDialogAccessibility, signUpWithEmailAndPassword, startEvaluation, submitLinkModal, submitLlmJudge, submitToolModal, switchToAddItemsSubTab, switchToEvaluationTab, switchToLtiSubTab, switchToLtiTab, switchToMemoryTab, switchToPrivacyTab, switchToPrivateModeTab, switchToSandboxTab, switchToScreenShareTab, switchToSkillsTab, switchToSupportTab, switchToTasksTab, switchToVoiceSubTab, switchToVoiceTab, teardownSandboxInstance, test, toggleAutoPush, toggleMemorySwitch, toggleSkill, toolFields, uploadQaCsv, verifyAgentConfigPromptsVisible, verifyAuditLogEmptyState, verifyAuditLogEntryStructure, verifyAuditLogGenericError, verifyAuditLogLoading, verifyAuditLogPermissionError, verifyAuditLogTableVisible, verifyConnectDisabledForUnhealthy, verifyConnectedInstanceCard, verifyCurrentPage, verifyDonePhase, verifyDownloadingPhase, verifyErrorPhase, verifyInstanceTableEmpty, verifyInstanceTableVisible, verifyMemoryExists, verifyMemoryNotExists, verifyMemoryTabMemoriesList, verifyMemoryTabSettings, verifyPreparingPhase, verifySkillVisible, verifySkillsEmptyState, verifySkillsTabVisible, waitForAgentChatResponse, waitForAuditLogDataLoaded, waitForBillingTabReady, waitForCreditBalanceLoaded, waitForDialogReady, waitForElementStable, waitForPageLoad, waitForPageReady, waitForReportDownload, waitForTicketInList };
|
|
6836
|
+
export { AuthFlowBuilder, CHAT_PRIVACY_LABELS, CustomReporter, EVALS_LABELS, GRADER_LABELS, LTI_LABELS, LTI_TEST_IDS, MailsacClient, PRIVACY_LABELS, SCREENSHARE_LABELS, SUPPORT_LABELS, TASKS_LABELS, VOICE_LABELS, addGraderCriterion, addManualScore, addMemory, addQaPairsManually, archiveFirstMemory, archiveMemoryByContent, billingAutoRechargeSection, billingCreditsSection, billingPlanSection, buildReportUrl, canChatWithEmbedMentor, cancelDeleteEvaluation, cancelDeleteInstance, cancelDeleteSkill, cancelDisconnectInstance, cancelEnableChatPrivacyMidSession, cancelKeyDelete, cancelLlmJudge, cancelNewInstanceDialog, cancelStartEvaluation, checkAdminStatus, checkRunStatus, clearDateRangeFilter, clearInstanceSearch, clearUserFilter, clickBackHome, clickBillingAddCredits, clickBillingManageBilling, clickBillingManageUsage, clickBillingUpgrade, clickChatPrivacyToggle, clickDownloadAgain, clickManualDownloadLink, closeBenchmarkItemsDialog, closeCreditBalanceDropdown, closeEvaluationDetailDialog, closeKeyDetail, closeManageBenchmarksDialog, closeWithEsc, confirmEnableChatPrivacyMidSession, confirmKeyDelete, connectToInstance, copyEndpoint, createAuthSetup, createBenchmark, createEnvConfig, createInstance, createKey, createLink, createPlaywrightConfig, createSkill, createSupportTicketViaChatAndVerify, createTool, creditBalancePanel, creditBalancePlanBadge, creditBalanceTrigger, deleteEvaluation, deleteFirstMemory, deleteGraderCriterion, deleteInstance, deleteKey, deleteMemoryByContent, deleteQaItem, deleteSkill, deleteTask, disableSkill, disableSupport, disconnectInstance, editAgentPrompt, editGraderCriterion, editInstance, editLink, editSkill, editTool, enableSkill, enableSupport, expandReview, expandTrace, expectAllEndpointsVisible, expectBenchmarkListed, expectBillingAutoRechargeSection, expectBillingCreditsSection, expectBillingPlanSection, expectBillingTabForCurrentPlan, expectBillingTabForFreePlan, expectBillingTabForPremiumPlan, expectBillingTabForTrialPlan, expectCallConfigVisible, expectCallConfigVoiceTriggerShows, expectChatPrivacyConfirmDialogOpen, expectChatPrivacyLocked, expectChatPrivacySource, expectChatPrivacyState, expectChatPrivacyToggleVisible, expectCompletedTasks, expectCreditBalanceForCurrentPlan, expectCreditBalancePanelForFreePlan, expectCreditBalancePanelForPremiumPlan, expectCreditBalancePanelForTrialPlan, expectCreditBalanceVisibilityForTenant, expectDetailWaitingForTraces, expectEndpointUrl, expectEntitySelected, expectFailedTasks, expectGraderMisconfiguredWarning, expectGraderTotalPoints, expectKeyDeleteError, expectKeyInList, expectKeyNotInList, expectKeysEmpty, expectLastCriterionDeleteDisabled, expectLinkInList, expectLinkNotInList, expectLinkTargetUri, expectLinksEmpty, expectLogDetailsStatus, expectLogsForTask, expectLtiHeader, expectMentorVoiceTriggerShows, expectMessageInConversation, expectNoAccessibilityViolations, expectNoAccessibilityViolationsOnDialogs, expectNoBenchmarksNotice, expectNoLogsForSelectedTask, expectNoRepliesYet, expectNoTickets, expectOutputFilterEnabled, expectPrivacyFieldsHidden, expectPrivacyFieldsVisible, expectPrivateModeSelected, expectPrivateModeTabReady, expectQaItemListed, expectReviewInList, expectReviewStatus, expectRunInTable, expectRunNotInTable, expectRunStatus, expectRunsTableEmpty, expectScheduleStartTimeInPastError, expectScreenShareDisabledHint, expectSelectedBenchmark, expectSttSelectDisabled, expectTaskInList, expectTaskNotInList, expectTaskStatus, expectTasksEmpty, expectTenantChatPrivacyEnabled, expectTenantChatPrivacyVisible, expectTicketClosedNotice, expectTicketDescriptionContains, expectTicketInList, expectTicketStatusInList, expectToolInList, expectToolNotInList, expectToolsEmpty, expectTotalTasks, expectTraceScore, expectTtsSelectDisabled, expectVoiceProviderSelected, expectVoiceVisible, exportRunCsv, fillLinkName, fillToolForm, filterByAction, filterByActionAndVerify, filterByActor, filterByActorAndVerify, filterByDateRange, filterTicketsByStatus, filterTicketsByUser, generateBrowserSetupProjects, generateProjectConfig, getAddItemsDialog, getAuditLogRowCount, getAvailableActors, getBenchmarkCombobox, getBenchmarkComboboxDropdown, getBenchmarkItemsDialog, getBillingAutoRechargeStatus, getBillingPlanLabel, getBrowserKey, getCallConfigForm, getChatInput, getChatPrivacyConfirmDialog, getChatPrivacyToggle, getCreateBenchmarkDialog, getCreateKeyButton, getCreateLinkButton, getCreateToolButton, getCreditBalancePlanLabel, getCreditBalanceRemaining, getCurrentModel, getCurrentTenantShowPaywall, getDeleteEvaluationDialog, getDeleteQaItemDialog, getEditAgentDialog, getEndpoint, getEndpointCopyButton, getEndpointUrl, getEntityChip, getEvaluationDetailDialog, getInstanceHealthLabel, getInstanceRowCount, getInstanceStatusLabel, getKeyActionsTrigger, getKeyCreateModal, getKeyCreateNameInput, getKeyDeleteModal, getKeyDetailModal, getKeyDetailNameInput, getKeyPublicJwkField, getKeyPublicKeyField, getKeyRow, getKeysEmptyState, getKeysSection, getLinkCopyTargetUriButton, getLinkEditButton, getLinkModal, getLinkNameInput, getLinkRow, getLinksEmptyState, getLinksSection, getLlmJudgeDialog, getLlmPickerDialog, getLtiSubTab, getManageBenchmarksButton, getManageBenchmarksDialog, getMemoryCount, getMentorIdFromUrl, getNewEvaluationButton, getOutputFilterSwitch, getPaginationInfo, getPrivateModeCard, getReplyComposer, getReviewRow, getRunRow, getScheduleTaskButton, getSearchInput, getSkillRowCount, getStartEvaluationDialog, getStatusFilter, getSupportInfoBox, getSupportTabTrigger, getSupportToggle, getTaskRow, getTenantChatPrivacyRow, getTenantChatPrivacySwitch, getTicketDescription, getTicketDetail, getTicketList, getTicketRow, getTicketRowByIndex, getToolEditButton, getToolKeySelect, getToolModal, getToolRow, getToolsEmptyState, getToolsSection, getTraceRow, getUserFilter, getVoiceProviderCard, getVoiceRow, goToFirstPage, goToLastPage, goToNextPage, goToPage, goToPreviousPage, graderTabBody, inviteUserTest, isEvaluationTabVisible, isFirefox, isGraderTabVisible, isGradingEnabled, isJSON, isLtiTabVisible, isMemoryTabVisible, isOnFirstPage, isOnLastPage, isPrivacyTabVisible, isPrivateModeTabVisible, isSandboxTabVisible, isScreenShareTabVisible, isSkillEnabled, isSupportEnabled, isSupportTabVisible, isTasksTabVisible, isVoiceTabVisible, logger, loginWithEmailAndPassword, loginWithMicrosoftIdp, navigateToAccountComponent, navigateToAuditLog, navigateToAuditLogAndWaitForData, navigateToDataReports, navigateToReportDownload, openAddItemsDialog, openAddMemoryDialog, openAgentPromptEditModal, openBenchmarkItems, openCallConfigVoicePicker, openCreateKeyModal, openCreateLinkModal, openCreateToolModal, openCreditBalanceDropdown, openEditInstanceDialog, openEditLinkModal, openEditSkillDialog, openEditToolModal, openFirstLogDetails, openInstanceActionsMenu, openKeyActionsMenu, openKeyDelete, openKeyDetail, openLLMProviderPicker, openManageBenchmarksDialog, openMentorVoicePicker, openNewInstanceDialog, openNewReviewForRun, openNewReviewFromDetail, openNewSkillDialog, openRunActionsMenu, openRunResults, openScheduleTaskDialog, openScreenSharePromptEditor, openSkillActionsMenu, openStartEvaluationDialog, openTicket, parseReportUrlParams, previewCallConfigVoiceInline, previewMentorVoiceInline, previewVoice, pushConfiguration, readEndpointUrl, readKeyPublicJwk, readKeyPublicKey, refreshEvaluationDetail, refreshTickets, reliableClick, reliableFill, removeTraceScore, renameKey, replyToTicket, requestSupportTicketViaChat, resetCallConfig, retry, runConnectedInstanceChecks, runInstanceChecks, safeWaitForURL, saveCallConfig, saveGraderConfig, saveScreenSharePrompts, saveVoiceSettings, scheduleTask, searchBenchmarks, searchInstances, searchTasks, searchVoices, selectBenchmark, selectCallMode, selectDateFromCalendar, selectJudgeLlm, selectLLMModel, selectLlmProvider, selectPrivacyAction, selectPrivateMode, selectSttProvider, selectTaskInList, selectToolKeySetMode, selectToolSigningKey, selectTtsProvider, selectVoice, selectVoiceProvider, sendAgentChatMessage, setBlockMessage, setCallLanguage, setEnableVideo, setEntitySelected, setGradingEnabled, setOutputFilterEnabled, setScreenSharePrompt, setSupportEnabled, setTenantChatPrivacyEnabled, setTicketStatus, setUseFunctionCallingEnabled, setupSandboxInstance, shouldAddNewRowWhenClickingAddRowButton, shouldAllowEditingCellValuesInCSVEditor, shouldCancelCombiningReports, shouldCloseCSVEditorWhenClickingCloseButton, shouldCloseCSVEditorWithoutSavingWhenClickingCancel, shouldCombineRecommendationReports, shouldDirectlyDownloadChatHistoryReportWithoutCSVEditor, shouldDisableOtherDownloadButtonsWhileGeneratingReport, shouldDisplayCSVInEditableTableFormat, shouldDisplayReportCards, shouldHaveCombinedReportDataTestIds, shouldOpenCSVEditorDialog, shouldOpenCSVEditorForUserMetadataReport, shouldSaveEditedCSVAndTriggerDownload, shouldShowCombiningReportsDialog, shouldVerifyCSVEditorDialogAccessibility, signUpWithEmailAndPassword, startEvaluation, submitLinkModal, submitLlmJudge, submitToolModal, switchToAddItemsSubTab, switchToEvaluationTab, switchToGraderSubTab, switchToGraderTab, switchToLtiSubTab, switchToLtiTab, switchToMemoryTab, switchToPrivacyTab, switchToPrivateModeTab, switchToSandboxTab, switchToScreenShareTab, switchToSkillsTab, switchToSupportTab, switchToTasksTab, switchToVoiceSubTab, switchToVoiceTab, teardownSandboxInstance, test, toggleAutoPush, toggleMemorySwitch, toggleSkill, toolFields, uploadQaCsv, verifyAgentConfigPromptsVisible, verifyAuditLogEmptyState, verifyAuditLogEntryStructure, verifyAuditLogGenericError, verifyAuditLogLoading, verifyAuditLogPermissionError, verifyAuditLogTableVisible, verifyConnectDisabledForUnhealthy, verifyConnectedInstanceCard, verifyCurrentPage, verifyDonePhase, verifyDownloadingPhase, verifyErrorPhase, verifyInstanceTableEmpty, verifyInstanceTableVisible, verifyMemoryExists, verifyMemoryNotExists, verifyMemoryTabMemoriesList, verifyMemoryTabSettings, verifyPreparingPhase, verifySkillVisible, verifySkillsEmptyState, verifySkillsTabVisible, waitForAgentChatResponse, waitForAuditLogDataLoaded, waitForBillingTabReady, waitForCreditBalanceLoaded, waitForDialogReady, waitForElementStable, waitForPageLoad, waitForPageReady, waitForReportDownload, waitForTicketInList };
|
|
6525
6837
|
//# sourceMappingURL=index.esm.js.map
|