@iblai/iblai-js 2.5.1 → 2.5.6
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/index.d.ts +4 -2
- package/dist/data-layer/playwright/lti-tab-helpers.d.ts +36 -1
- package/dist/data-layer/playwright/memory-admin-helpers.d.ts +153 -0
- package/dist/data-layer/playwright/memory-test-helpers.d.ts +8 -7
- package/dist/data-layer/playwright/voice-tab-helpers.d.ts +32 -0
- package/dist/playwright/index.cjs +550 -26
- package/dist/playwright/index.cjs.map +1 -1
- package/dist/playwright/index.d.ts +231 -10
- package/dist/playwright/index.esm.js +521 -27
- package/dist/playwright/index.esm.js.map +1 -1
- package/dist/playwright/playwright/index.d.ts +4 -2
- package/dist/playwright/playwright/lti-tab-helpers.d.ts +36 -1
- package/dist/playwright/playwright/memory-admin-helpers.d.ts +153 -0
- package/dist/playwright/playwright/memory-test-helpers.d.ts +8 -7
- package/dist/playwright/playwright/voice-tab-helpers.d.ts +32 -0
- package/dist/security/playwright/index.d.ts +4 -2
- package/dist/security/playwright/lti-tab-helpers.d.ts +36 -1
- package/dist/security/playwright/memory-admin-helpers.d.ts +153 -0
- package/dist/security/playwright/memory-test-helpers.d.ts +8 -7
- package/dist/security/playwright/voice-tab-helpers.d.ts +32 -0
- package/dist/web-containers/playwright/index.d.ts +4 -2
- package/dist/web-containers/playwright/lti-tab-helpers.d.ts +36 -1
- package/dist/web-containers/playwright/memory-admin-helpers.d.ts +153 -0
- package/dist/web-containers/playwright/memory-test-helpers.d.ts +8 -7
- package/dist/web-containers/playwright/voice-tab-helpers.d.ts +32 -0
- package/dist/web-containers/source/index.esm.js +12521 -11250
- package/dist/web-containers/source/next/index.esm.js +1734 -444
- package/dist/web-utils/playwright/index.d.ts +4 -2
- package/dist/web-utils/playwright/lti-tab-helpers.d.ts +36 -1
- package/dist/web-utils/playwright/memory-admin-helpers.d.ts +153 -0
- package/dist/web-utils/playwright/memory-test-helpers.d.ts +8 -7
- package/dist/web-utils/playwright/voice-tab-helpers.d.ts +32 -0
- package/package.json +5 -5
|
@@ -16,6 +16,8 @@ export type { EnvConfig, AuthFlowType } from './env-config';
|
|
|
16
16
|
export { buildReportUrl, parseReportUrlParams, navigateToReportDownload, verifyPreparingPhase, verifyDownloadingPhase, verifyDonePhase, verifyErrorPhase, clickBackHome, clickDownloadAgain, clickManualDownloadLink, waitForReportDownload, } from './report-download';
|
|
17
17
|
export type { ReportDownloadOptions } from './report-download';
|
|
18
18
|
export { isMemoryTabVisible, switchToMemoryTab, verifyMemoryTabSettings, verifyMemoryTabMemoriesList, openAddMemoryDialog, toggleMemorySwitch, addMemory, deleteFirstMemory, deleteMemoryByContent, archiveFirstMemory, archiveMemoryByContent, getMemoryCount, verifyMemoryExists, verifyMemoryNotExists, } from './memory-test-helpers';
|
|
19
|
+
export { MEMORY_ADMIN_LABELS, memoryAdminGlobalSection, memoryAdminAgentSection, memoryAdminUserRow, memoryAdminAgentRow, memoryRowByContent, isTenantMemoryTabVisible, switchToTenantMemoryTab, switchToMemoryAdminSubTab, searchMemoryAdminUsers, openUserMemoriesPopup, closeUserMemoriesPopup, addUserGlobalMemory, editUserGlobalMemory, deleteUserGlobalMemory, toggleUserMemoryAdminSetting, filterAgentMemories, clearAgentMemoriesFilter, openAgentMemoriesPopup, closeAgentMemoriesPopup, addAgentMemoryFromPopup, } from './memory-admin-helpers';
|
|
20
|
+
export type { MemoryAdminSubTab, MemoryAdminSetting } from './memory-admin-helpers';
|
|
19
21
|
export { isSandboxTabVisible, switchToSandboxTab, verifyInstanceTableVisible, getInstanceRowCount, verifyInstanceTableEmpty, searchInstances, clearInstanceSearch, openInstanceActionsMenu, openNewInstanceDialog, createInstance, cancelNewInstanceDialog, openEditInstanceDialog, editInstance, deleteInstance, cancelDeleteInstance, connectToInstance, disconnectInstance, cancelDisconnectInstance, runInstanceChecks, runConnectedInstanceChecks, getInstanceHealthLabel, getInstanceStatusLabel, verifyConnectDisabledForUnhealthy, verifyConnectedInstanceCard, toggleAutoPush, pushConfiguration, openLLMProviderPicker, selectLLMModel, getCurrentModel, verifyAgentConfigPromptsVisible, openAgentPromptEditModal, editAgentPrompt, setupSandboxInstance, teardownSandboxInstance, } from './claw-sandbox-helpers';
|
|
20
22
|
export type { AgentPromptField } from './claw-sandbox-helpers';
|
|
21
23
|
export { switchToSkillsTab, verifySkillsTabVisible, switchToAgentSkillsSubTab, switchToAvailableSkillsSubTab, goToSkillsListPage, verifySkillsEmptyState, verifyAgentSkillsEmptyState, getSkillRowCount, verifySkillVisible, addSkillToAgent, verifySkillAdded, removeSkillFromAgent, isSkillEnabled, enableSkill, disableSkill, toggleSkill, setCatalogSkillEnabled, openNewSkillDialog, createSkill, openSkillActionsMenu, openEditSkillDialog, editSkill, deleteSkill, cancelDeleteSkill, switchToSkillResourcesSubTab, addTextResource, uploadAssetResource, editTextResource, deleteResource, openSlashSkillPicker, selectSlashSkill, } from './agent-skills-helpers';
|
|
@@ -27,8 +29,8 @@ export { PRIVACY_LABELS, isPrivacyTabVisible, switchToPrivacyTab, expectPrivacyF
|
|
|
27
29
|
export type { PrivacyAction, PrivacyEntity } from './privacy-tab-helpers';
|
|
28
30
|
export { CHAT_PRIVACY_LABELS, getChatPrivacyToggle, expectChatPrivacyToggleVisible, expectChatPrivacyState, expectChatPrivacySource, expectChatPrivacyLocked, clickChatPrivacyToggle, getChatPrivacyConfirmDialog, expectChatPrivacyConfirmDialogOpen, confirmEnableChatPrivacyMidSession, cancelEnableChatPrivacyMidSession, isPrivateModeTabVisible, switchToPrivateModeTab, getPrivateModeCard, selectPrivateMode, expectPrivateModeSelected, expectPrivateModeTabReady, getTenantChatPrivacySwitch, getTenantChatPrivacyRow, expectTenantChatPrivacyVisible, expectTenantChatPrivacyEnabled, setTenantChatPrivacyEnabled, } from './chat-privacy-helpers';
|
|
29
31
|
export type { ChatPrivacyMode, ChatPrivacySource, ChatPrivacyToggleState, } from './chat-privacy-helpers';
|
|
30
|
-
export { VOICE_LABELS, isVoiceTabVisible, switchToVoiceTab, switchToVoiceSubTab, getVoiceProviderCard, selectVoiceProvider, expectVoiceProviderSelected, openMentorVoicePicker, openCallConfigVoicePicker, previewMentorVoiceInline, previewCallConfigVoiceInline, expectMentorVoiceTriggerShows, expectCallConfigVoiceTriggerShows, searchVoices, getVoiceRow, expectVoiceVisible, selectVoice, previewVoice, saveVoiceSettings, getCallConfigForm, expectCallConfigVisible, selectCallMode, setCallLanguage, selectLlmProvider, selectTtsProvider, selectSttProvider, expectTtsSelectDisabled, expectSttSelectDisabled, setUseFunctionCallingEnabled, setEnableVideo, saveCallConfig, resetCallConfig, } from './voice-tab-helpers';
|
|
31
|
-
export type { VoiceProvider, CallMode, TtsProvider, SttProvider, LlmProvider, } from './voice-tab-helpers';
|
|
32
|
+
export { VOICE_LABELS, isVoiceTabVisible, switchToVoiceTab, switchToVoiceSubTab, getVoiceProviderCard, selectVoiceProvider, expectVoiceProviderSelected, openMentorVoicePicker, openCallConfigVoicePicker, previewMentorVoiceInline, previewCallConfigVoiceInline, expectMentorVoiceTriggerShows, expectCallConfigVoiceTriggerShows, searchVoices, getVoiceRow, expectVoiceVisible, selectVoice, previewVoice, openVoiceInstructionsEditor, setVoiceInstructions, expectVoiceInstructionsValue, applyVoiceInstructionsPreset, saveVoiceSettings, getCallConfigForm, expectCallConfigVisible, selectCallMode, setCallLanguage, selectLlmProvider, selectTtsProvider, selectSttProvider, expectTtsSelectDisabled, expectSttSelectDisabled, setUseFunctionCallingEnabled, setEnableVideo, saveCallConfig, resetCallConfig, } from './voice-tab-helpers';
|
|
33
|
+
export type { VoiceProvider, VoiceInstructionsPreset, CallMode, TtsProvider, SttProvider, LlmProvider, } from './voice-tab-helpers';
|
|
32
34
|
export { SCREENSHARE_LABELS, isScreenShareTabVisible, switchToScreenShareTab, openScreenSharePromptEditor, setScreenSharePrompt, saveScreenSharePrompts, expectScreenShareDisabledHint, } from './screenshare-tab-helpers';
|
|
33
35
|
export type { ScreenSharePromptField } from './screenshare-tab-helpers';
|
|
34
36
|
export { graderTabBody, isGraderTabVisible, switchToGraderTab, switchToGraderSubTab, isGradingEnabled, setGradingEnabled, saveGraderConfig, addGraderCriterion, editGraderCriterion, deleteGraderCriterion, expectLastCriterionDeleteDisabled, expectGraderMisconfiguredWarning, expectGraderTotalPoints, filterGradeResultsByEmail, expectGradeResultRow, overrideGradeResult, clearGradeResultOverride, GRADER_LABELS, } from './grader-tab-helpers';
|
|
@@ -57,6 +57,14 @@ export declare const LTI_LABELS: {
|
|
|
57
57
|
readonly keys: "No LTI keys yet.";
|
|
58
58
|
readonly tools: "No LTI tools yet.";
|
|
59
59
|
};
|
|
60
|
+
/** Badge text for the async-create link status. */
|
|
61
|
+
readonly status: {
|
|
62
|
+
readonly pending: "Pending";
|
|
63
|
+
readonly building: "Building";
|
|
64
|
+
readonly ready: "Ready";
|
|
65
|
+
readonly failed: "Failed";
|
|
66
|
+
};
|
|
67
|
+
readonly retry: "Retry";
|
|
60
68
|
};
|
|
61
69
|
/** data-testid values rendered by the LTI components. */
|
|
62
70
|
export declare const LTI_TEST_IDS: {
|
|
@@ -75,6 +83,9 @@ export declare const LTI_TEST_IDS: {
|
|
|
75
83
|
readonly row: "lti-link-row";
|
|
76
84
|
readonly modal: "lti-link-modal";
|
|
77
85
|
readonly nameInput: "lti-link-name-input";
|
|
86
|
+
readonly status: "lti-link-status";
|
|
87
|
+
readonly retryButton: "lti-link-retry-button";
|
|
88
|
+
readonly refreshButton: "lti-links-refresh-button";
|
|
78
89
|
};
|
|
79
90
|
readonly keys: {
|
|
80
91
|
readonly section: "lti-keys-section";
|
|
@@ -171,7 +182,12 @@ export declare function openEditLinkModal(scope: Page | Locator, name: string):
|
|
|
171
182
|
/** Type a name into the (already-open) link modal. */
|
|
172
183
|
export declare function fillLinkName(scope: Page | Locator, name: string): Promise<void>;
|
|
173
184
|
export declare function submitLinkModal(scope: Page | Locator): Promise<void>;
|
|
174
|
-
/**
|
|
185
|
+
/**
|
|
186
|
+
* Full create-link flow. Creation is asynchronous on the backend (202 +
|
|
187
|
+
* celery build): the modal closes immediately and the row appears with a
|
|
188
|
+
* Pending/Building status badge. Follow with `waitForLinkReady` before
|
|
189
|
+
* asserting on `target_link_uri` or editing the link.
|
|
190
|
+
*/
|
|
175
191
|
export declare function createLink(scope: Page | Locator, name: string): Promise<void>;
|
|
176
192
|
/** Full rename-link flow (opens via the row's edit pencil). */
|
|
177
193
|
export declare function editLink(scope: Page | Locator, currentName: string, newName: string): Promise<void>;
|
|
@@ -179,6 +195,25 @@ export declare function expectLinksEmpty(scope: Page | Locator): Promise<void>;
|
|
|
179
195
|
export declare function expectLinkInList(scope: Page | Locator, name: string): Promise<void>;
|
|
180
196
|
export declare function expectLinkNotInList(scope: Page | Locator, name: string): Promise<void>;
|
|
181
197
|
export declare function expectLinkTargetUri(scope: Page | Locator, name: string, targetUri: string): Promise<void>;
|
|
198
|
+
/** Status badge for a link's async-create build. */
|
|
199
|
+
export type LtiLinkStatus = 'pending' | 'building' | 'ready' | 'failed';
|
|
200
|
+
export declare function expectLinkStatus(scope: Page | Locator, name: string, status: LtiLinkStatus): Promise<void>;
|
|
201
|
+
/** The Refresh button shown in the Links header while a build is in flight. */
|
|
202
|
+
export declare function getLinksRefreshButton(scope: Page | Locator): Locator;
|
|
203
|
+
/** Manually refresh the links list (visible only while a build is in flight). */
|
|
204
|
+
export declare function refreshLinks(scope: Page | Locator): Promise<void>;
|
|
205
|
+
/**
|
|
206
|
+
* Wait for the async link build to finish (`ready`). The build creates an edX
|
|
207
|
+
* course via celery, so allow a generous timeout (default 3 minutes). The UI
|
|
208
|
+
* does not auto-poll — this helper clicks the header Refresh button every few
|
|
209
|
+
* seconds until the row's badge reports `ready` (throws if it turns `failed`).
|
|
210
|
+
*/
|
|
211
|
+
export declare function waitForLinkReady(scope: Page | Locator, name: string, timeoutMs?: number): Promise<void>;
|
|
212
|
+
/**
|
|
213
|
+
* Retry a failed link build via the row's Retry button (deletes the failed
|
|
214
|
+
* entity and re-posts the original payload).
|
|
215
|
+
*/
|
|
216
|
+
export declare function retryFailedLink(scope: Page | Locator, name: string): Promise<void>;
|
|
182
217
|
export declare function getKeysSection(scope: Page | Locator): Locator;
|
|
183
218
|
export declare function getCreateKeyButton(scope: Page | Locator): Locator;
|
|
184
219
|
export declare function getKeysEmptyState(scope: Page | Locator): Locator;
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { Locator, Page } from '@playwright/test';
|
|
2
|
+
/**
|
|
3
|
+
* Tenant-settings **Memory** tab helpers — Playwright bindings for the memory
|
|
4
|
+
* administration UI from `@iblai/web-containers` (`MemoryAdminTab`):
|
|
5
|
+
*
|
|
6
|
+
* - the **Global** sub-tab: tenant users table with server-side search, and a
|
|
7
|
+
* per-user popup (`user-memories-modal`) hosting the shared memories list
|
|
8
|
+
* plus the user's two memory setting switches, and
|
|
9
|
+
* - the **Agent** sub-tab: agents table with the shared agent autocomplete
|
|
10
|
+
* filter, and a per-agent popup (`agent-memories-modal`) hosting the same
|
|
11
|
+
* `ManageMemories` editor the agent settings modal renders.
|
|
12
|
+
*
|
|
13
|
+
* Selector policy (flakiness-proof by construction):
|
|
14
|
+
* - Dialog-first scoping: every popup is resolved into a Locator variable
|
|
15
|
+
* first (`openUserMemoriesPopup` / `openAgentMemoriesPopup` return it) and
|
|
16
|
+
* all sub-elements are queried from that variable — never a bare page-wide
|
|
17
|
+
* match that could hit same-named elements in nested portals. The popups
|
|
18
|
+
* stack ON TOP of the tenant settings dialog, and the add/edit/delete
|
|
19
|
+
* dialogs stack on top of the popups, so three dialogs can be open at once;
|
|
20
|
+
* the innermost ones are resolved by content filter + `.last()` (stacked
|
|
21
|
+
* Radix dialogs portal to the end of `<body>` in mount order, making the
|
|
22
|
+
* last match the one on top).
|
|
23
|
+
* - Stable hooks only: `data-testid`, role + accessible name (aria-labels).
|
|
24
|
+
* No CSS class or structural selectors.
|
|
25
|
+
* - No `waitForTimeout` / `networkidle`. Progress is gated on UI state that
|
|
26
|
+
* only exists after the awaited transition: a section testid rendering, a
|
|
27
|
+
* dialog closing after its mutation resolves, a row appearing or
|
|
28
|
+
* disappearing after the list refetch, a switch's `aria-checked` flipping.
|
|
29
|
+
*/
|
|
30
|
+
export declare const MEMORY_ADMIN_LABELS: {
|
|
31
|
+
/** Tenant settings rail item name. */
|
|
32
|
+
readonly tabName: "Memory";
|
|
33
|
+
readonly subTabs: {
|
|
34
|
+
readonly global: "Global";
|
|
35
|
+
readonly agent: "Agent";
|
|
36
|
+
};
|
|
37
|
+
/** Add button inside the user memories popup (shared list styling). */
|
|
38
|
+
readonly addMemoryButton: "Add Memory";
|
|
39
|
+
readonly menu: {
|
|
40
|
+
/** aria-label prefix of a memory row's three-dots trigger. */
|
|
41
|
+
readonly actionsAriaPrefix: "Memory actions:";
|
|
42
|
+
readonly edit: "Edit";
|
|
43
|
+
readonly delete: "Delete";
|
|
44
|
+
};
|
|
45
|
+
readonly dialogs: {
|
|
46
|
+
readonly add: "Add Memory";
|
|
47
|
+
readonly edit: "Edit Memory";
|
|
48
|
+
readonly deleteConfirm: "Delete Memory";
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Switch accessible-name prefixes. The full names carry the current state
|
|
52
|
+
* ("Auto memory capture enabled"), so helpers match on the prefix.
|
|
53
|
+
*/
|
|
54
|
+
readonly switches: {
|
|
55
|
+
readonly autoCapture: RegExp;
|
|
56
|
+
readonly useMemory: RegExp;
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
export type MemoryAdminSubTab = keyof typeof MEMORY_ADMIN_LABELS.subTabs;
|
|
60
|
+
export type MemoryAdminSetting = keyof typeof MEMORY_ADMIN_LABELS.switches;
|
|
61
|
+
/** The Global sub-tab's body (users table + search). */
|
|
62
|
+
export declare function memoryAdminGlobalSection(page: Page): Locator;
|
|
63
|
+
/** The Agent sub-tab's body (agents table + autocomplete filter). */
|
|
64
|
+
export declare function memoryAdminAgentSection(page: Page): Locator;
|
|
65
|
+
/** A users-table row for the given username. */
|
|
66
|
+
export declare function memoryAdminUserRow(page: Page, username: string): Locator;
|
|
67
|
+
/** An agents-table row for the given agent unique_id. */
|
|
68
|
+
export declare function memoryAdminAgentRow(page: Page, mentorUniqueId: string): Locator;
|
|
69
|
+
/**
|
|
70
|
+
* A memory row inside an open popup, found by (part of) its content text.
|
|
71
|
+
* `scope` is the popup Locator returned by `openUserMemoriesPopup`.
|
|
72
|
+
*/
|
|
73
|
+
export declare function memoryRowByContent(scope: Locator, content: string): Locator;
|
|
74
|
+
/**
|
|
75
|
+
* Returns false when the Memory rail item isn't rendered in the tenant
|
|
76
|
+
* settings dialog (non-admin viewer).
|
|
77
|
+
*/
|
|
78
|
+
export declare function isTenantMemoryTabVisible(page: Page): Promise<boolean>;
|
|
79
|
+
/**
|
|
80
|
+
* Open the Memory tab from the tenant settings rail. Assumes the tenant
|
|
81
|
+
* settings dialog is already open. Completion is gated on the Global sub-tab
|
|
82
|
+
* trigger rendering (it appears once the memsearch status check resolves).
|
|
83
|
+
*/
|
|
84
|
+
export declare function switchToTenantMemoryTab(page: Page): Promise<void>;
|
|
85
|
+
/**
|
|
86
|
+
* Switch between the Memory tab's Global / Agent sub-tabs. Completion is
|
|
87
|
+
* gated on the target section's testid rendering.
|
|
88
|
+
*/
|
|
89
|
+
export declare function switchToMemoryAdminSubTab(page: Page, subTab: MemoryAdminSubTab): Promise<void>;
|
|
90
|
+
/**
|
|
91
|
+
* Search the users table and gate on the expected user's row appearing.
|
|
92
|
+
* Terms shorter than three characters search as empty (the Management tab's
|
|
93
|
+
* debounce contract), so pass at least three characters.
|
|
94
|
+
*/
|
|
95
|
+
export declare function searchMemoryAdminUsers(page: Page, term: string, expectedUsername: string): Promise<void>;
|
|
96
|
+
/**
|
|
97
|
+
* Open the global memories popup for a user's row and return the popup's
|
|
98
|
+
* Locator — pass it as the `popup` argument of every helper below so their
|
|
99
|
+
* queries stay pinned to the popup instead of the dialogs underneath.
|
|
100
|
+
* Completion is gated on the popup's list state rendering (rows, the empty
|
|
101
|
+
* state, or the loading skeletons resolving into either).
|
|
102
|
+
*/
|
|
103
|
+
export declare function openUserMemoriesPopup(page: Page, username: string): Promise<Locator>;
|
|
104
|
+
/** Close the user memories popup (Escape) and gate on it disappearing. */
|
|
105
|
+
export declare function closeUserMemoriesPopup(page: Page): Promise<void>;
|
|
106
|
+
/**
|
|
107
|
+
* Add a global memory for the popup's user: opens the Add Memory dialog,
|
|
108
|
+
* fills the content (minimum 10 characters), saves, and gates on the dialog
|
|
109
|
+
* closing and the new row appearing in the popup's list.
|
|
110
|
+
*/
|
|
111
|
+
export declare function addUserGlobalMemory(page: Page, popup: Locator, content: string): Promise<void>;
|
|
112
|
+
/**
|
|
113
|
+
* Edit a global memory found by its current content: three-dots → Edit,
|
|
114
|
+
* replace the content, save, and gate on the dialog closing and the updated
|
|
115
|
+
* row appearing in the popup's list.
|
|
116
|
+
*/
|
|
117
|
+
export declare function editUserGlobalMemory(page: Page, popup: Locator, currentContent: string, newContent: string): Promise<void>;
|
|
118
|
+
/**
|
|
119
|
+
* Delete a global memory found by its content: three-dots → Delete, confirm
|
|
120
|
+
* in the Delete Memory dialog, and gate on the confirmation closing and the
|
|
121
|
+
* row leaving the popup's list.
|
|
122
|
+
*/
|
|
123
|
+
export declare function deleteUserGlobalMemory(page: Page, popup: Locator, content: string): Promise<void>;
|
|
124
|
+
/**
|
|
125
|
+
* Toggle one of the user's memory setting switches inside the popup and
|
|
126
|
+
* gate on its `aria-checked` state flipping (which only happens after the
|
|
127
|
+
* settings mutation resolves and the query refetches). Returns the new
|
|
128
|
+
* checked state.
|
|
129
|
+
*/
|
|
130
|
+
export declare function toggleUserMemoryAdminSetting(page: Page, popup: Locator, setting: MemoryAdminSetting): Promise<boolean>;
|
|
131
|
+
/**
|
|
132
|
+
* Filter the agents table to one agent via the autocomplete: types the name,
|
|
133
|
+
* clicks the matching option, and gates on the selected chip rendering.
|
|
134
|
+
*/
|
|
135
|
+
export declare function filterAgentMemories(page: Page, agentName: string): Promise<void>;
|
|
136
|
+
/** Clear the agents autocomplete filter (back to the full agents list). */
|
|
137
|
+
export declare function clearAgentMemoriesFilter(page: Page): Promise<void>;
|
|
138
|
+
/**
|
|
139
|
+
* Open the memories popup for an agent's row and return the popup's Locator
|
|
140
|
+
* — pass it as the `popup` argument of `addAgentMemoryFromPopup` and scope
|
|
141
|
+
* any further queries to it. Completion is gated on the `ManageMemories`
|
|
142
|
+
* editor rendering its user filter combobox.
|
|
143
|
+
*/
|
|
144
|
+
export declare function openAgentMemoriesPopup(page: Page, mentorUniqueId: string): Promise<Locator>;
|
|
145
|
+
/** Close the agent memories popup (Escape) and gate on it disappearing. */
|
|
146
|
+
export declare function closeAgentMemoriesPopup(page: Page): Promise<void>;
|
|
147
|
+
/**
|
|
148
|
+
* Add an agent memory through the popup's `ManageMemories` editor: opens its
|
|
149
|
+
* Add Memory dialog, optionally picks a category, fills the content (minimum
|
|
150
|
+
* 10 characters), saves, and gates on the dialog closing and the content
|
|
151
|
+
* appearing in the popup.
|
|
152
|
+
*/
|
|
153
|
+
export declare function addAgentMemoryFromPopup(page: Page, popup: Locator, content: string, categoryName?: string): Promise<void>;
|
|
@@ -23,8 +23,9 @@ export declare function verifyMemoryTabMemoriesList(page: Page): Promise<void>;
|
|
|
23
23
|
*/
|
|
24
24
|
export declare function openAddMemoryDialog(page: Page): Promise<Locator>;
|
|
25
25
|
/**
|
|
26
|
-
* Toggle a memory setting switch and verify the state changes.
|
|
27
|
-
*
|
|
26
|
+
* Toggle a memory setting switch and verify the state changes. Completion is
|
|
27
|
+
* gated on `aria-checked` flipping — which only happens once the settings
|
|
28
|
+
* mutation resolves — rather than on timing. Returns the new checked state.
|
|
28
29
|
*/
|
|
29
30
|
export declare function toggleMemorySwitch(page: Page, switchName: RegExp | string): Promise<boolean>;
|
|
30
31
|
/**
|
|
@@ -33,14 +34,14 @@ export declare function toggleMemorySwitch(page: Page, switchName: RegExp | stri
|
|
|
33
34
|
*/
|
|
34
35
|
export declare function addMemory(page: Page, content: string): Promise<void>;
|
|
35
36
|
/**
|
|
36
|
-
* Delete the first visible memory in the list
|
|
37
|
-
*
|
|
37
|
+
* Delete the first visible memory in the list through its three-dots menu,
|
|
38
|
+
* confirming in the Delete Memory dialog.
|
|
38
39
|
*/
|
|
39
40
|
export declare function deleteFirstMemory(page: Page): Promise<void>;
|
|
40
41
|
/**
|
|
41
|
-
* Delete a specific memory by matching its content text
|
|
42
|
-
*
|
|
43
|
-
* the
|
|
42
|
+
* Delete a specific memory by matching its content text through its
|
|
43
|
+
* three-dots menu, confirming in the Delete Memory dialog. Completion is
|
|
44
|
+
* gated on the row leaving the list after the refetch.
|
|
44
45
|
*/
|
|
45
46
|
export declare function deleteMemoryByContent(page: Page, content: string): Promise<void>;
|
|
46
47
|
/**
|
|
@@ -36,6 +36,14 @@ export declare const VOICE_LABELS: {
|
|
|
36
36
|
readonly openai: "OpenAI Voice";
|
|
37
37
|
readonly google: "Google Voice";
|
|
38
38
|
};
|
|
39
|
+
readonly voiceInstructions: {
|
|
40
|
+
readonly label: "Voice Instructions";
|
|
41
|
+
readonly presets: {
|
|
42
|
+
readonly warm: "Warm and encouraging";
|
|
43
|
+
readonly calm: "Calm and measured";
|
|
44
|
+
readonly energetic: "Energetic and upbeat";
|
|
45
|
+
};
|
|
46
|
+
};
|
|
39
47
|
readonly saveVoiceButton: RegExp;
|
|
40
48
|
readonly callConfigSaveCreate: "Save";
|
|
41
49
|
readonly callConfigSaveUpdate: "Save changes";
|
|
@@ -65,6 +73,7 @@ export declare const VOICE_LABELS: {
|
|
|
65
73
|
};
|
|
66
74
|
};
|
|
67
75
|
export type VoiceProvider = keyof typeof VOICE_LABELS.providers;
|
|
76
|
+
export type VoiceInstructionsPreset = keyof typeof VOICE_LABELS.voiceInstructions.presets;
|
|
68
77
|
export type CallMode = keyof typeof VOICE_LABELS.modeOptions;
|
|
69
78
|
export type TtsProvider = keyof typeof VOICE_LABELS.ttsOptions;
|
|
70
79
|
export type SttProvider = TtsProvider;
|
|
@@ -160,6 +169,29 @@ export declare function selectVoice(scope: Page | Locator, voiceName: string): P
|
|
|
160
169
|
* Playwright.
|
|
161
170
|
*/
|
|
162
171
|
export declare function previewVoice(scope: Page | Locator, voiceName: string): Promise<void>;
|
|
172
|
+
/**
|
|
173
|
+
* Open the "Voice Instructions" editor modal from its prompt card on the
|
|
174
|
+
* Voice sub-tab. The card is only rendered when the OpenAI or Google
|
|
175
|
+
* provider is selected. Mirrors the Prompts / Screen share card pattern:
|
|
176
|
+
* an "Edit <label>" button popping the rich-text modal.
|
|
177
|
+
*/
|
|
178
|
+
export declare function openVoiceInstructionsEditor(scope: Page | Locator): Promise<void>;
|
|
179
|
+
/**
|
|
180
|
+
* Replace the "Voice Instructions" text via the editor modal and confirm.
|
|
181
|
+
* The new value is written to local form state; call `saveVoiceSettings`
|
|
182
|
+
* afterwards to persist. Pass an empty string to clear the stored
|
|
183
|
+
* instructions (saving then sends `""`).
|
|
184
|
+
*/
|
|
185
|
+
export declare function setVoiceInstructions(scope: Page | Locator, text: string): Promise<void>;
|
|
186
|
+
/**
|
|
187
|
+
* Assert the voice-instructions prompt card shows the given text.
|
|
188
|
+
*/
|
|
189
|
+
export declare function expectVoiceInstructionsValue(scope: Page | Locator, text: string): Promise<void>;
|
|
190
|
+
/**
|
|
191
|
+
* Click one of the example preset chips under the voice-instructions
|
|
192
|
+
* textarea; the chip's canned text replaces the textarea content.
|
|
193
|
+
*/
|
|
194
|
+
export declare function applyVoiceInstructionsPreset(scope: Page | Locator, preset: VoiceInstructionsPreset): Promise<void>;
|
|
163
195
|
/**
|
|
164
196
|
* Click the Save button on the Voice sub-tab. Asserts the button is
|
|
165
197
|
* enabled first (a no-op on a pristine form would be a test bug).
|