@iblai/iblai-js 1.20.11 → 1.20.13

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.
@@ -50,6 +50,8 @@ export declare const TASKS_LABELS: {
50
50
  readonly empty: "No tasks scheduled.";
51
51
  };
52
52
  readonly scheduleDialog: {
53
+ /** `aria-label` on the dialog's `DialogContent` — scopes in-dialog locators. */
54
+ readonly dialogName: "schedule-task";
53
55
  readonly taskName: "Task Name";
54
56
  readonly taskNamePlaceholder: "Enter task name";
55
57
  readonly taskPrompt: "Task Prompt";
@@ -125,6 +127,12 @@ export declare function selectTaskInList(scope: Page | Locator, taskName: string
125
127
  export declare function expectTaskStatus(scope: Page | Locator, taskName: string, status: TaskStatus): Promise<void>;
126
128
  /** Type into the search input. Returns once the input value matches. */
127
129
  export declare function searchTasks(scope: Page | Locator, query: string): Promise<void>;
130
+ /**
131
+ * Locator for the Schedule Task dialog itself. Scoping in-dialog queries to
132
+ * this avoids clashing with the toolbar's "Schedule Task" button, which
133
+ * shares an accessible name with the dialog's submit button.
134
+ */
135
+ export declare function getScheduleTaskDialog(scope: Page | Locator): Locator;
128
136
  /** Open the Schedule Task dialog and wait for it to be interactive. */
129
137
  export declare function openScheduleTaskDialog(scope: Page | Locator): Promise<void>;
130
138
  /**
@@ -50,6 +50,8 @@ export declare const TASKS_LABELS: {
50
50
  readonly empty: "No tasks scheduled.";
51
51
  };
52
52
  readonly scheduleDialog: {
53
+ /** `aria-label` on the dialog's `DialogContent` — scopes in-dialog locators. */
54
+ readonly dialogName: "schedule-task";
53
55
  readonly taskName: "Task Name";
54
56
  readonly taskNamePlaceholder: "Enter task name";
55
57
  readonly taskPrompt: "Task Prompt";
@@ -125,6 +127,12 @@ export declare function selectTaskInList(scope: Page | Locator, taskName: string
125
127
  export declare function expectTaskStatus(scope: Page | Locator, taskName: string, status: TaskStatus): Promise<void>;
126
128
  /** Type into the search input. Returns once the input value matches. */
127
129
  export declare function searchTasks(scope: Page | Locator, query: string): Promise<void>;
130
+ /**
131
+ * Locator for the Schedule Task dialog itself. Scoping in-dialog queries to
132
+ * this avoids clashing with the toolbar's "Schedule Task" button, which
133
+ * shares an accessible name with the dialog's submit button.
134
+ */
135
+ export declare function getScheduleTaskDialog(scope: Page | Locator): Locator;
128
136
  /** Open the Schedule Task dialog and wait for it to be interactive. */
129
137
  export declare function openScheduleTaskDialog(scope: Page | Locator): Promise<void>;
130
138
  /**
@@ -81250,7 +81250,7 @@ DialogTitle.displayName = DialogPrimitive.Title.displayName;
81250
81250
  const DialogDescription = React.forwardRef(({ className, ...props }, ref) => (jsx(DialogPrimitive.Description, { ref: ref, className: cn('text-sm text-muted-foreground', className), ...props })));
81251
81251
  DialogDescription.displayName = DialogPrimitive.Description.displayName;
81252
81252
 
81253
- const Security = ({ email, onAccountDeleted, }) => {
81253
+ const Security = ({ email, onAccountDeleted, platformKey, redirectTo = '', app, }) => {
81254
81254
  const t = useT();
81255
81255
  const [resetPassword] = useResetPasswordMutation();
81256
81256
  const [processing, setProcessing] = useState(false);
@@ -81260,7 +81260,12 @@ const Security = ({ email, onAccountDeleted, }) => {
81260
81260
  const handleResetPasswordLink = async () => {
81261
81261
  try {
81262
81262
  setProcessing(true);
81263
- await resetPassword(email);
81263
+ await resetPassword({
81264
+ email,
81265
+ platformKey,
81266
+ redirectTo: redirectTo || (typeof window === 'undefined' ? '' : window.location.origin),
81267
+ app,
81268
+ });
81264
81269
  toast.success(t('profileSecurity.resetPasswordLinkSent'));
81265
81270
  }
81266
81271
  catch (error) {
@@ -108645,7 +108650,7 @@ function ChatPrivacyTab({ org, username }) {
108645
108650
  const renderLucideIcon = (Icon) => function RenderedIcon(props) {
108646
108651
  return jsx(Icon, { ...props });
108647
108652
  };
108648
- function Profile({ tenant, username, tenants, onClose, customization = {}, isAdmin = false, targetTab = 'basic', onAccountDeleted, enableMemoryTab = false, localLLMProps, systemControlProps, }) {
108653
+ function Profile({ tenant, username, tenants, onClose, customization = {}, isAdmin = false, targetTab = 'basic', onAccountDeleted, enableMemoryTab = false, localLLMProps, systemControlProps, currentSPA = '', }) {
108649
108654
  var _a, _b, _c, _d, _e, _f, _g, _h;
108650
108655
  const t = useT();
108651
108656
  console.log('[Profile] localLLMProps received:', {
@@ -108867,7 +108872,7 @@ function Profile({ tenant, username, tenants, onClose, customization = {}, isAdm
108867
108872
  var _a;
108868
108873
  return (jsxs(Fragment$1, { children: [jsxs("div", { className: "relative mb-0", children: [jsx("div", { className: "absolute inset-y-0 left-4 flex items-center pointer-events-none", "aria-hidden": "true", children: jsx("div", { className: "bg-black text-white rounded w-8 h-8 flex items-center justify-center", children: jsx("span", { className: "font-bold text-sm", children: "X" }) }) }), jsx(Input, { id: "x", className: "w-full bg-gray-50 border-gray-200 focus:ring-blue-500 focus:border-blue-500 text-base py-3 pl-16 h-10", placeholder: t('profileIndex.placeholderX'), value: field.state.value, onChange: (e) => handleSocialLinkChange(e.target.value, field.handleChange, X_URL_PREFIX), disabled: socialForm.state.isSubmitting })] }), jsx("p", { className: "text-red-500 dark:text-gray-400 text-sm", role: ((_a = field.state.meta.errors) === null || _a === void 0 ? void 0 : _a.length) ? 'alert' : undefined, "aria-live": "polite", children: field.state.meta.errors })] }));
108869
108874
  },
108870
- })] })] }) })), activeTab === 'education' && jsx(EducationTab, { org: tenant, username: username }), activeTab === 'experience' && jsx(ExperienceTab, { org: tenant, username: username }), activeTab === 'resume' && jsx(ResumeTab, { org: tenant, username: username }), activeTab === 'purchases' && jsx(PurchasesTab, { org: tenant, username: username }), activeTab === 'memory' && jsx(MemoryTab, { org: tenant, username: username }), activeTab === 'privacy' && jsx(ChatPrivacyTab, { org: tenant, username: username }), activeTab === 'security' && (jsx(Security, { email: userMetadata === null || userMetadata === void 0 ? void 0 : userMetadata.email, onAccountDeleted: onAccountDeleted })), activeTab === 'advanced' && (localLLMProps || systemControlProps) && (jsxs("div", { className: "space-y-6", children: [localLLMProps && (jsx(LocalModelsContent, { isAvailable: localLLMProps.isAvailable, state: localLLMProps.state, ollamaStatus: localLLMProps.ollamaStatus, systemMemory: localLLMProps.systemMemory, isUsingFoundry: localLLMProps.isUsingFoundry, foundryModels: localLLMProps.foundryModels, selectedFoundryModel: localLLMProps.selectedFoundryModel, foundryStatus: localLLMProps.foundryStatus, onStartDownload: localLLMProps.onStartDownload, onCancelDownload: localLLMProps.onCancelDownload, onInstallOllama: localLLMProps.onInstallOllama, onStopManager: localLLMProps.onStopManager, onInstallFoundry: localLLMProps.onInstallFoundry, onCheckStatus: localLLMProps.onCheckStatus, onResetState: localLLMProps.onResetState, onSelectFoundryModel: localLLMProps.onSelectFoundryModel })), systemControlProps && (jsx(SystemControlContent, { isAvailable: systemControlProps.isAvailable, state: systemControlProps.state, status: systemControlProps.status, requiredSizeGb: systemControlProps.requiredSizeGb, ollamaStatus: systemControlProps.ollamaStatus, systemMemory: systemControlProps.systemMemory, accessibilityPermission: systemControlProps.accessibilityPermission, onInstall: systemControlProps.onInstall, onStop: systemControlProps.onStop, onCheckStatus: systemControlProps.onCheckStatus, onResetState: systemControlProps.onResetState, onRequestAccessibilityPermission: systemControlProps.onRequestAccessibilityPermission, onDownloadModel: systemControlProps.onDownloadModel }))] }))] }), ['basic', 'social'].includes(activeTab) && (jsx("div", { className: "flex-shrink-0 border-t border-gray-200 p-6 bg-white dark:bg-gray-900", children: jsxs("div", { className: "flex justify-end gap-3", children: [jsx(Button$1, { onClick: onClose, variant: "outline", children: t('profileIndex.buttonCancel') }), jsx(Button$1, { onClick: () => {
108875
+ })] })] }) })), activeTab === 'education' && jsx(EducationTab, { org: tenant, username: username }), activeTab === 'experience' && jsx(ExperienceTab, { org: tenant, username: username }), activeTab === 'resume' && jsx(ResumeTab, { org: tenant, username: username }), activeTab === 'purchases' && jsx(PurchasesTab, { org: tenant, username: username }), activeTab === 'memory' && jsx(MemoryTab, { org: tenant, username: username }), activeTab === 'privacy' && jsx(ChatPrivacyTab, { org: tenant, username: username }), activeTab === 'security' && (jsx(Security, { app: currentSPA || '', email: (userMetadata === null || userMetadata === void 0 ? void 0 : userMetadata.email) || '', platformKey: tenant, onAccountDeleted: onAccountDeleted })), activeTab === 'advanced' && (localLLMProps || systemControlProps) && (jsxs("div", { className: "space-y-6", children: [localLLMProps && (jsx(LocalModelsContent, { isAvailable: localLLMProps.isAvailable, state: localLLMProps.state, ollamaStatus: localLLMProps.ollamaStatus, systemMemory: localLLMProps.systemMemory, isUsingFoundry: localLLMProps.isUsingFoundry, foundryModels: localLLMProps.foundryModels, selectedFoundryModel: localLLMProps.selectedFoundryModel, foundryStatus: localLLMProps.foundryStatus, onStartDownload: localLLMProps.onStartDownload, onCancelDownload: localLLMProps.onCancelDownload, onInstallOllama: localLLMProps.onInstallOllama, onStopManager: localLLMProps.onStopManager, onInstallFoundry: localLLMProps.onInstallFoundry, onCheckStatus: localLLMProps.onCheckStatus, onResetState: localLLMProps.onResetState, onSelectFoundryModel: localLLMProps.onSelectFoundryModel })), systemControlProps && (jsx(SystemControlContent, { isAvailable: systemControlProps.isAvailable, state: systemControlProps.state, status: systemControlProps.status, requiredSizeGb: systemControlProps.requiredSizeGb, ollamaStatus: systemControlProps.ollamaStatus, systemMemory: systemControlProps.systemMemory, accessibilityPermission: systemControlProps.accessibilityPermission, onInstall: systemControlProps.onInstall, onStop: systemControlProps.onStop, onCheckStatus: systemControlProps.onCheckStatus, onResetState: systemControlProps.onResetState, onRequestAccessibilityPermission: systemControlProps.onRequestAccessibilityPermission, onDownloadModel: systemControlProps.onDownloadModel }))] }))] }), ['basic', 'social'].includes(activeTab) && (jsx("div", { className: "flex-shrink-0 border-t border-gray-200 p-6 bg-white dark:bg-gray-900", children: jsxs("div", { className: "flex justify-end gap-3", children: [jsx(Button$1, { onClick: onClose, variant: "outline", children: t('profileIndex.buttonCancel') }), jsx(Button$1, { onClick: () => {
108871
108876
  if (activeTab === 'basic') {
108872
108877
  basicForm.handleSubmit();
108873
108878
  }
@@ -118876,7 +118876,7 @@ DialogTitle.displayName = DialogPrimitive.Title.displayName;
118876
118876
  const DialogDescription = React.forwardRef(({ className, ...props }, ref) => (jsx(DialogPrimitive.Description, { ref: ref, className: cn('text-sm text-muted-foreground', className), ...props })));
118877
118877
  DialogDescription.displayName = DialogPrimitive.Description.displayName;
118878
118878
 
118879
- const Security = ({ email, onAccountDeleted, }) => {
118879
+ const Security = ({ email, onAccountDeleted, platformKey, redirectTo = '', app, }) => {
118880
118880
  const t = useT();
118881
118881
  const [resetPassword] = useResetPasswordMutation();
118882
118882
  const [processing, setProcessing] = useState(false);
@@ -118886,7 +118886,12 @@ const Security = ({ email, onAccountDeleted, }) => {
118886
118886
  const handleResetPasswordLink = async () => {
118887
118887
  try {
118888
118888
  setProcessing(true);
118889
- await resetPassword(email);
118889
+ await resetPassword({
118890
+ email,
118891
+ platformKey,
118892
+ redirectTo: redirectTo || (typeof window === 'undefined' ? '' : window.location.origin),
118893
+ app,
118894
+ });
118890
118895
  toast.success(t('profileSecurity.resetPasswordLinkSent'));
118891
118896
  }
118892
118897
  catch (error) {
@@ -146466,7 +146471,7 @@ function ChatPrivacyTab({ org, username }) {
146466
146471
  const renderLucideIcon = (Icon) => function RenderedIcon(props) {
146467
146472
  return jsx(Icon, { ...props });
146468
146473
  };
146469
- function Profile({ tenant, username, tenants, onClose, customization = {}, isAdmin = false, targetTab = 'basic', onAccountDeleted, enableMemoryTab = false, localLLMProps, systemControlProps, }) {
146474
+ function Profile({ tenant, username, tenants, onClose, customization = {}, isAdmin = false, targetTab = 'basic', onAccountDeleted, enableMemoryTab = false, localLLMProps, systemControlProps, currentSPA = '', }) {
146470
146475
  var _a, _b, _c, _d, _e, _f, _g, _h;
146471
146476
  const t = useT();
146472
146477
  console.log('[Profile] localLLMProps received:', {
@@ -146688,7 +146693,7 @@ function Profile({ tenant, username, tenants, onClose, customization = {}, isAdm
146688
146693
  var _a;
146689
146694
  return (jsxs(Fragment$1, { children: [jsxs("div", { className: "relative mb-0", children: [jsx("div", { className: "absolute inset-y-0 left-4 flex items-center pointer-events-none", "aria-hidden": "true", children: jsx("div", { className: "bg-black text-white rounded w-8 h-8 flex items-center justify-center", children: jsx("span", { className: "font-bold text-sm", children: "X" }) }) }), jsx(Input, { id: "x", className: "w-full bg-gray-50 border-gray-200 focus:ring-blue-500 focus:border-blue-500 text-base py-3 pl-16 h-10", placeholder: t('profileIndex.placeholderX'), value: field.state.value, onChange: (e) => handleSocialLinkChange(e.target.value, field.handleChange, X_URL_PREFIX), disabled: socialForm.state.isSubmitting })] }), jsx("p", { className: "text-red-500 dark:text-gray-400 text-sm", role: ((_a = field.state.meta.errors) === null || _a === void 0 ? void 0 : _a.length) ? 'alert' : undefined, "aria-live": "polite", children: field.state.meta.errors })] }));
146690
146695
  },
146691
- })] })] }) })), activeTab === 'education' && jsx(EducationTab, { org: tenant, username: username }), activeTab === 'experience' && jsx(ExperienceTab, { org: tenant, username: username }), activeTab === 'resume' && jsx(ResumeTab, { org: tenant, username: username }), activeTab === 'purchases' && jsx(PurchasesTab, { org: tenant, username: username }), activeTab === 'memory' && jsx(MemoryTab, { org: tenant, username: username }), activeTab === 'privacy' && jsx(ChatPrivacyTab, { org: tenant, username: username }), activeTab === 'security' && (jsx(Security, { email: userMetadata === null || userMetadata === void 0 ? void 0 : userMetadata.email, onAccountDeleted: onAccountDeleted })), activeTab === 'advanced' && (localLLMProps || systemControlProps) && (jsxs("div", { className: "space-y-6", children: [localLLMProps && (jsx(LocalModelsContent, { isAvailable: localLLMProps.isAvailable, state: localLLMProps.state, ollamaStatus: localLLMProps.ollamaStatus, systemMemory: localLLMProps.systemMemory, isUsingFoundry: localLLMProps.isUsingFoundry, foundryModels: localLLMProps.foundryModels, selectedFoundryModel: localLLMProps.selectedFoundryModel, foundryStatus: localLLMProps.foundryStatus, onStartDownload: localLLMProps.onStartDownload, onCancelDownload: localLLMProps.onCancelDownload, onInstallOllama: localLLMProps.onInstallOllama, onStopManager: localLLMProps.onStopManager, onInstallFoundry: localLLMProps.onInstallFoundry, onCheckStatus: localLLMProps.onCheckStatus, onResetState: localLLMProps.onResetState, onSelectFoundryModel: localLLMProps.onSelectFoundryModel })), systemControlProps && (jsx(SystemControlContent, { isAvailable: systemControlProps.isAvailable, state: systemControlProps.state, status: systemControlProps.status, requiredSizeGb: systemControlProps.requiredSizeGb, ollamaStatus: systemControlProps.ollamaStatus, systemMemory: systemControlProps.systemMemory, accessibilityPermission: systemControlProps.accessibilityPermission, onInstall: systemControlProps.onInstall, onStop: systemControlProps.onStop, onCheckStatus: systemControlProps.onCheckStatus, onResetState: systemControlProps.onResetState, onRequestAccessibilityPermission: systemControlProps.onRequestAccessibilityPermission, onDownloadModel: systemControlProps.onDownloadModel }))] }))] }), ['basic', 'social'].includes(activeTab) && (jsx("div", { className: "flex-shrink-0 border-t border-gray-200 p-6 bg-white dark:bg-gray-900", children: jsxs("div", { className: "flex justify-end gap-3", children: [jsx(Button$1, { onClick: onClose, variant: "outline", children: t('profileIndex.buttonCancel') }), jsx(Button$1, { onClick: () => {
146696
+ })] })] }) })), activeTab === 'education' && jsx(EducationTab, { org: tenant, username: username }), activeTab === 'experience' && jsx(ExperienceTab, { org: tenant, username: username }), activeTab === 'resume' && jsx(ResumeTab, { org: tenant, username: username }), activeTab === 'purchases' && jsx(PurchasesTab, { org: tenant, username: username }), activeTab === 'memory' && jsx(MemoryTab, { org: tenant, username: username }), activeTab === 'privacy' && jsx(ChatPrivacyTab, { org: tenant, username: username }), activeTab === 'security' && (jsx(Security, { app: currentSPA || '', email: (userMetadata === null || userMetadata === void 0 ? void 0 : userMetadata.email) || '', platformKey: tenant, onAccountDeleted: onAccountDeleted })), activeTab === 'advanced' && (localLLMProps || systemControlProps) && (jsxs("div", { className: "space-y-6", children: [localLLMProps && (jsx(LocalModelsContent, { isAvailable: localLLMProps.isAvailable, state: localLLMProps.state, ollamaStatus: localLLMProps.ollamaStatus, systemMemory: localLLMProps.systemMemory, isUsingFoundry: localLLMProps.isUsingFoundry, foundryModels: localLLMProps.foundryModels, selectedFoundryModel: localLLMProps.selectedFoundryModel, foundryStatus: localLLMProps.foundryStatus, onStartDownload: localLLMProps.onStartDownload, onCancelDownload: localLLMProps.onCancelDownload, onInstallOllama: localLLMProps.onInstallOllama, onStopManager: localLLMProps.onStopManager, onInstallFoundry: localLLMProps.onInstallFoundry, onCheckStatus: localLLMProps.onCheckStatus, onResetState: localLLMProps.onResetState, onSelectFoundryModel: localLLMProps.onSelectFoundryModel })), systemControlProps && (jsx(SystemControlContent, { isAvailable: systemControlProps.isAvailable, state: systemControlProps.state, status: systemControlProps.status, requiredSizeGb: systemControlProps.requiredSizeGb, ollamaStatus: systemControlProps.ollamaStatus, systemMemory: systemControlProps.systemMemory, accessibilityPermission: systemControlProps.accessibilityPermission, onInstall: systemControlProps.onInstall, onStop: systemControlProps.onStop, onCheckStatus: systemControlProps.onCheckStatus, onResetState: systemControlProps.onResetState, onRequestAccessibilityPermission: systemControlProps.onRequestAccessibilityPermission, onDownloadModel: systemControlProps.onDownloadModel }))] }))] }), ['basic', 'social'].includes(activeTab) && (jsx("div", { className: "flex-shrink-0 border-t border-gray-200 p-6 bg-white dark:bg-gray-900", children: jsxs("div", { className: "flex justify-end gap-3", children: [jsx(Button$1, { onClick: onClose, variant: "outline", children: t('profileIndex.buttonCancel') }), jsx(Button$1, { onClick: () => {
146692
146697
  if (activeTab === 'basic') {
146693
146698
  basicForm.handleSubmit();
146694
146699
  }
@@ -228363,7 +228368,7 @@ function UserProfileModal({ isOpen, onClose, params, email, mainPlatformKey, sho
228363
228368
  'resume',
228364
228369
  'memory',
228365
228370
  'advanced',
228366
- ].includes(targetTab) && (jsx(Profile, { tenant: params.tenantKey, tenants: tenants, username: getUserName$1(), customization: {
228371
+ ].includes(targetTab) && (jsx(Profile, { currentSPA: currentSPA, tenant: params.tenantKey, tenants: tenants, username: getUserName$1(), customization: {
228367
228372
  showMentorAIDisplayCheckbox: showMentorAIDisplayCheckbox,
228368
228373
  showLeaderboardDisplayCheckbox: showLeaderboardDisplayCheckbox,
228369
228374
  showUsernameField: showUsernameField,
@@ -245739,7 +245744,7 @@ function ScheduleTaskDialog({ open, onOpenChange, onSave, isCreating = false, la
245739
245744
  const weekDays = ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'];
245740
245745
  const isSelectedDate = (date) => sameYMD(date, selectedDate);
245741
245746
  const isPastDate = (date) => date < today;
245742
- return (jsx(Dialog, { open: open, onOpenChange: isCreating ? () => { } : onOpenChange, children: jsx(DialogContent, { className: "sm:max-w-[1000px] w-[95vw] p-0 gap-0 overflow-hidden mx-auto my-auto rounded-lg", children: jsxs("div", { className: "flex flex-col md:flex-row", children: [jsxs("div", { className: "hidden md:block flex-1 p-6 border-r border-gray-200", children: [jsxs("div", { className: "flex items-center justify-between mb-4", children: [jsx("button", { type: "button", className: "p-1 rounded-full hover:bg-gray-100", onClick: () => {
245747
+ return (jsx(Dialog, { open: open, onOpenChange: isCreating ? () => { } : onOpenChange, children: jsx(DialogContent, { "aria-label": 'schedule-task', className: "sm:max-w-[1000px] w-[95vw] p-0 gap-0 overflow-hidden mx-auto my-auto rounded-lg", children: jsxs("div", { className: "flex flex-col md:flex-row", children: [jsxs("div", { className: "hidden md:block flex-1 p-6 border-r border-gray-200", children: [jsxs("div", { className: "flex items-center justify-between mb-4", children: [jsx("button", { type: "button", className: "p-1 rounded-full hover:bg-gray-100", onClick: () => {
245743
245748
  const newDate = new Date(viewingDate);
245744
245749
  newDate.setMonth(newDate.getMonth() - 1);
245745
245750
  setViewingDate(newDate);
@@ -50,6 +50,8 @@ export declare const TASKS_LABELS: {
50
50
  readonly empty: "No tasks scheduled.";
51
51
  };
52
52
  readonly scheduleDialog: {
53
+ /** `aria-label` on the dialog's `DialogContent` — scopes in-dialog locators. */
54
+ readonly dialogName: "schedule-task";
53
55
  readonly taskName: "Task Name";
54
56
  readonly taskNamePlaceholder: "Enter task name";
55
57
  readonly taskPrompt: "Task Prompt";
@@ -125,6 +127,12 @@ export declare function selectTaskInList(scope: Page | Locator, taskName: string
125
127
  export declare function expectTaskStatus(scope: Page | Locator, taskName: string, status: TaskStatus): Promise<void>;
126
128
  /** Type into the search input. Returns once the input value matches. */
127
129
  export declare function searchTasks(scope: Page | Locator, query: string): Promise<void>;
130
+ /**
131
+ * Locator for the Schedule Task dialog itself. Scoping in-dialog queries to
132
+ * this avoids clashing with the toolbar's "Schedule Task" button, which
133
+ * shares an accessible name with the dialog's submit button.
134
+ */
135
+ export declare function getScheduleTaskDialog(scope: Page | Locator): Locator;
128
136
  /** Open the Schedule Task dialog and wait for it to be interactive. */
129
137
  export declare function openScheduleTaskDialog(scope: Page | Locator): Promise<void>;
130
138
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iblai/iblai-js",
3
- "version": "1.20.11",
3
+ "version": "1.20.13",
4
4
  "description": "Unified JavaScript SDK for IBL.ai — re-exports data-layer, web-containers, and web-utils under a single package",
5
5
  "type": "module",
6
6
  "engines": {
@@ -66,9 +66,9 @@
66
66
  "axios": "1.13.6",
67
67
  "dotenv": "16.6.1",
68
68
  "winston": "3.19.0",
69
- "@iblai/data-layer": "1.8.6",
69
+ "@iblai/data-layer": "1.8.7",
70
70
  "@iblai/mcp": "1.7.5",
71
- "@iblai/web-containers": "1.10.10",
71
+ "@iblai/web-containers": "1.10.12",
72
72
  "@iblai/web-utils": "1.11.5"
73
73
  },
74
74
  "peerDependencies": {