@iblai/iblai-js 2.39.1 → 2.40.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -256448,6 +256448,35 @@ function trimTrailingSlashes(value) {
|
|
|
256448
256448
|
end -= 1;
|
|
256449
256449
|
return end === value.length ? value : value.slice(0, end);
|
|
256450
256450
|
}
|
|
256451
|
+
/**
|
|
256452
|
+
* Point a backend media link at the DM mount it is actually served from. When
|
|
256453
|
+
* DM sits behind a path prefix on the host app (`https://os.ibl.ai/backend/dm`),
|
|
256454
|
+
* the backend builds media URLs from the proxied request and drops that prefix
|
|
256455
|
+
* (`https://os.ibl.ai/media/...`, or a bare `/media/...`), which 404s. Only
|
|
256456
|
+
* `/media/` links on the DM host are rewritten; everything else passes through.
|
|
256457
|
+
*/
|
|
256458
|
+
function resolveDmMediaUrl(url, dmUrl) {
|
|
256459
|
+
if (!url || !dmUrl)
|
|
256460
|
+
return url;
|
|
256461
|
+
const isRootRelative = url.startsWith('/') && !url.startsWith('//');
|
|
256462
|
+
if (!isRootRelative && !/^https?:\/\//i.test(url))
|
|
256463
|
+
return url;
|
|
256464
|
+
let dm;
|
|
256465
|
+
let target;
|
|
256466
|
+
try {
|
|
256467
|
+
dm = new URL(dmUrl);
|
|
256468
|
+
target = new URL(url, dm.origin);
|
|
256469
|
+
}
|
|
256470
|
+
catch (_a) {
|
|
256471
|
+
return url;
|
|
256472
|
+
}
|
|
256473
|
+
// Host, not origin: behind a TLS-terminating proxy the backend may build http:// links.
|
|
256474
|
+
if (target.host !== dm.host || !target.pathname.startsWith('/media/'))
|
|
256475
|
+
return url;
|
|
256476
|
+
target.protocol = dm.protocol;
|
|
256477
|
+
target.pathname = `${trimTrailingSlashes(dm.pathname)}${target.pathname}`;
|
|
256478
|
+
return target.href;
|
|
256479
|
+
}
|
|
256451
256480
|
|
|
256452
256481
|
// Pure logic behind the application form (questions) editor. No React here so
|
|
256453
256482
|
// it stays unit testable. The backend validates schemas on save and remains
|
|
@@ -260860,6 +260889,7 @@ function AgentSettingsProvider({ children, ...value }) {
|
|
|
260860
260889
|
value.rbacPermissions,
|
|
260861
260890
|
value.executeGatedAction,
|
|
260862
260891
|
value.visibilityOptions,
|
|
260892
|
+
value.dmUrl,
|
|
260863
260893
|
]);
|
|
260864
260894
|
return jsx(AgentSettingsContext.Provider, { value: ctx, children: children });
|
|
260865
260895
|
}
|
|
@@ -287685,7 +287715,7 @@ const ProjectFilesModal$1 = lazy(() => Promise.resolve().then(function () { retu
|
|
|
287685
287715
|
const AddMentorToProjectModal$1 = lazy(() => Promise.resolve().then(function () { return addMentorToProjectModal; }).then((mod) => ({
|
|
287686
287716
|
default: mod.AddMentorToProjectModal,
|
|
287687
287717
|
})));
|
|
287688
|
-
function ProjectLandingPage({ project, mentorName, sessionId, onSubmit, onScreenSharingClick, isScreenSharingModalOpen, onPhoneCallClick, stopGenerating, tenantKey, username, enableSafetyDisclaimer, enableWebBrowsing, isStreaming, updateSessionTools, setSessionTools, activeTools, screenSharing, deepResearch, studyMode, imageGeneration, codeInterpreter, promptsIsEnabled, isPreviewMode, setMessage, mentorId, mentorUniqueId, projectId, googleSlidesIsEnabled, googleDocumentIsEnabled, artifactsEnabled, userIsStudent, isPublicRoute, navigateToProject, showExploreMentors = false, disabledResourceTypes, maxUploadSizeMb, dropboxExtensions, }) {
|
|
287718
|
+
function ProjectLandingPage({ project, mentorName, sessionId, onSubmit, onScreenSharingClick, isScreenSharingModalOpen, onPhoneCallClick, stopGenerating, tenantKey, username, enableSafetyDisclaimer, enableWebBrowsing, isStreaming, updateSessionTools, setSessionTools, activeTools, screenSharing, deepResearch, studyMode, imageGeneration, codeInterpreter, promptsIsEnabled, isPreviewMode, setMessage, mentorId, mentorUniqueId, projectId, googleSlidesIsEnabled, googleDocumentIsEnabled, artifactsEnabled, userIsStudent, isPublicRoute, navigateToProject, showExploreMentors = false, disabledResourceTypes, maxUploadSizeMb, dropboxExtensions, dmUrl, }) {
|
|
287689
287719
|
const [isInstructionsModalOpen, setIsInstructionsModalOpen] = useState(false);
|
|
287690
287720
|
const [isFilesModalOpen, setIsFilesModalOpen] = useState(false);
|
|
287691
287721
|
const [isAddMentorModalOpen, setIsAddMentorModalOpen] = useState(false);
|
|
@@ -287711,7 +287741,7 @@ function ProjectLandingPage({ project, mentorName, sessionId, onSubmit, onScreen
|
|
|
287711
287741
|
jsxs("div", { className: "flex h-full w-full flex-col", "data-testid": "project-landing-page", children: [jsxs("div", { className: "scrollbar-none flex min-h-0 flex-1 flex-col justify-center-safe gap-5 overflow-y-auto px-2 pt-2 pb-4", children: [header, context] }), jsx("div", { className: "w-full shrink-0", children: composer })] })) : (
|
|
287712
287742
|
// Desktop: one centred 640px column — header, disclaimer + composer, then
|
|
287713
287743
|
// the project's files, instructions and agents.
|
|
287714
|
-
jsxs("div", { className: "scrollbar-none flex h-full w-full flex-col items-center justify-center-safe overflow-y-auto px-4 py-6", "data-testid": "project-landing-page", children: [header, jsx("div", { className: "w-full max-w-[640px] shrink-0", children: composer }), jsx("div", { className: "mt-5 flex w-full max-w-[640px] shrink-0 flex-col gap-7", children: context })] })), isInstructionsModalOpen && (jsx(Suspense, { fallback: null, children: jsx(ProjectInstructionsModal$1, { isOpen: isInstructionsModalOpen, onClose: () => setIsInstructionsModalOpen(false), tenantKey: tenantKey, projectId: projectId, username: username }) })), isFilesModalOpen && (jsx(Suspense, { fallback: null, children: jsx(ProjectFilesModal$1, { isOpen: isFilesModalOpen, onClose: () => setIsFilesModalOpen(false), tenantKey: tenantKey, mentorId: mentorId, username: username, disabledResourceTypes: disabledResourceTypes, maxUploadSizeMb: maxUploadSizeMb, dropboxExtensions: dropboxExtensions }) })), isAddMentorModalOpen && (jsx(Suspense, { fallback: null, children: jsx(AddMentorToProjectModal$1, { isOpen: isAddMentorModalOpen, onClose: () => setIsAddMentorModalOpen(false), projectName: project.name, tenantKey: tenantKey, projectId: projectId, username: username, isPublicRoute: isPublicRoute }) }))] }));
|
|
287744
|
+
jsxs("div", { className: "scrollbar-none flex h-full w-full flex-col items-center justify-center-safe overflow-y-auto px-4 py-6", "data-testid": "project-landing-page", children: [header, jsx("div", { className: "w-full max-w-[640px] shrink-0", children: composer }), jsx("div", { className: "mt-5 flex w-full max-w-[640px] shrink-0 flex-col gap-7", children: context })] })), isInstructionsModalOpen && (jsx(Suspense, { fallback: null, children: jsx(ProjectInstructionsModal$1, { isOpen: isInstructionsModalOpen, onClose: () => setIsInstructionsModalOpen(false), tenantKey: tenantKey, projectId: projectId, username: username }) })), isFilesModalOpen && (jsx(Suspense, { fallback: null, children: jsx(ProjectFilesModal$1, { isOpen: isFilesModalOpen, onClose: () => setIsFilesModalOpen(false), tenantKey: tenantKey, mentorId: mentorId, username: username, disabledResourceTypes: disabledResourceTypes, maxUploadSizeMb: maxUploadSizeMb, dropboxExtensions: dropboxExtensions, dmUrl: dmUrl }) })), isAddMentorModalOpen && (jsx(Suspense, { fallback: null, children: jsx(AddMentorToProjectModal$1, { isOpen: isAddMentorModalOpen, onClose: () => setIsAddMentorModalOpen(false), projectName: project.name, tenantKey: tenantKey, projectId: projectId, username: username, isPublicRoute: isPublicRoute }) }))] }));
|
|
287715
287745
|
}
|
|
287716
287746
|
|
|
287717
287747
|
function MinimumMentorAlert({ open, onOpenChange }) {
|
|
@@ -288009,7 +288039,7 @@ function DatasetItem({ dataset, onSelect, isSelected, labels }) {
|
|
|
288009
288039
|
const [isDeleteDatasetModalOpen, setIsDeleteDatasetModalOpen] = React__default.useState(false);
|
|
288010
288040
|
const [isRetrainScheduleModalOpen, setIsRetrainScheduleModalOpen] = React__default.useState(false);
|
|
288011
288041
|
const [isTrainOrDeleteModalOpen, setIsTrainOrDeleteModalOpen] = React__default.useState(false);
|
|
288012
|
-
const { tenantKey, username } = useAgentSettings();
|
|
288042
|
+
const { tenantKey, username, dmUrl } = useAgentSettings();
|
|
288013
288043
|
const [editTrainingDocument, { isLoading: isEditTrainingDocumentLoading }] = useEditTrainingDocumentMutation();
|
|
288014
288044
|
const handleEditTrainingDocument = async (data, callback) => {
|
|
288015
288045
|
try {
|
|
@@ -288055,7 +288085,7 @@ function DatasetItem({ dataset, onSelect, isSelected, labels }) {
|
|
|
288055
288085
|
};
|
|
288056
288086
|
return (jsxs(Fragment$1, { children: [jsxs(TableRow, { className: `border-b last:border-0 ${onSelect ? 'hover:bg-muted/50 cursor-pointer' : ''} ${isSelected ? 'bg-blue-50' : ''}`, onClick: onSelect ? () => onSelect(dataset) : undefined, children: [jsxs(Tooltip$1, { children: [jsx(TooltipTrigger, { asChild: true, children: jsx(TableCell, { className: "max-w-[200px] truncate p-3 font-medium whitespace-nowrap text-[#646464]", children: jsx(WithFormPermissions, { name: ['document_name', 'url'],
|
|
288057
288087
|
// @ts-ignore
|
|
288058
|
-
permissions: (_a = dataset === null || dataset === void 0 ? void 0 : dataset.permissions) === null || _a === void 0 ? void 0 : _a.field, children: () => (jsx("a", { href: dataset.url, target: "_blank", rel: "noopener noreferrer", className: "text-blue-600 hover:text-blue-800 hover:underline", children: dataset.document_name || dataset.url })) }) }) }), jsx(TooltipContent, { className: "bg-gray-700 px-3 py-2 text-sm font-medium whitespace-nowrap text-white shadow-sm transition-opacity duration-300", children: jsx("p", { children: dataset.document_name || dataset.url }) })] }), jsx(TableCell, { className: "p-3 whitespace-nowrap text-[#646464]", children: jsx(WithFormPermissions, { name: "document_type",
|
|
288088
|
+
permissions: (_a = dataset === null || dataset === void 0 ? void 0 : dataset.permissions) === null || _a === void 0 ? void 0 : _a.field, children: () => (jsx("a", { href: resolveDmMediaUrl(dataset.url, dmUrl), target: "_blank", rel: "noopener noreferrer", className: "text-blue-600 hover:text-blue-800 hover:underline", children: dataset.document_name || dataset.url })) }) }) }), jsx(TooltipContent, { className: "bg-gray-700 px-3 py-2 text-sm font-medium whitespace-nowrap text-white shadow-sm transition-opacity duration-300", children: jsx("p", { children: dataset.document_name || dataset.url }) })] }), jsx(TableCell, { className: "p-3 whitespace-nowrap text-[#646464]", children: jsx(WithFormPermissions, { name: "document_type",
|
|
288059
288089
|
// @ts-ignore
|
|
288060
288090
|
permissions: (_b = dataset === null || dataset === void 0 ? void 0 : dataset.permissions) === null || _b === void 0 ? void 0 : _b.field, children: () => {
|
|
288061
288091
|
var _a, _b;
|
|
@@ -289666,7 +289696,7 @@ const PROJECT_FILES_DATASET_LABELS = resolveDatasetsTabLabels({
|
|
|
289666
289696
|
table: { emptyState: 'No files found' },
|
|
289667
289697
|
});
|
|
289668
289698
|
function ProjectFilesModal(props) {
|
|
289669
|
-
return (jsx(AgentSettingsProvider, { tenantKey: props.tenantKey, mentorId: props.mentorId, username: props.username, enableRBAC: false, children: jsx(ProjectFilesModalInner, { ...props }) }));
|
|
289699
|
+
return (jsx(AgentSettingsProvider, { tenantKey: props.tenantKey, mentorId: props.mentorId, username: props.username, enableRBAC: false, dmUrl: props.dmUrl, children: jsx(ProjectFilesModalInner, { ...props }) }));
|
|
289670
289700
|
}
|
|
289671
289701
|
function ProjectFilesModalInner({ isOpen, onClose, disabledResourceTypes, maxUploadSizeMb, dropboxExtensions, }) {
|
|
289672
289702
|
var _a;
|
|
@@ -288317,6 +288317,35 @@ function trimTrailingSlashes(value) {
|
|
|
288317
288317
|
end -= 1;
|
|
288318
288318
|
return end === value.length ? value : value.slice(0, end);
|
|
288319
288319
|
}
|
|
288320
|
+
/**
|
|
288321
|
+
* Point a backend media link at the DM mount it is actually served from. When
|
|
288322
|
+
* DM sits behind a path prefix on the host app (`https://os.ibl.ai/backend/dm`),
|
|
288323
|
+
* the backend builds media URLs from the proxied request and drops that prefix
|
|
288324
|
+
* (`https://os.ibl.ai/media/...`, or a bare `/media/...`), which 404s. Only
|
|
288325
|
+
* `/media/` links on the DM host are rewritten; everything else passes through.
|
|
288326
|
+
*/
|
|
288327
|
+
function resolveDmMediaUrl(url, dmUrl) {
|
|
288328
|
+
if (!url || !dmUrl)
|
|
288329
|
+
return url;
|
|
288330
|
+
const isRootRelative = url.startsWith('/') && !url.startsWith('//');
|
|
288331
|
+
if (!isRootRelative && !/^https?:\/\//i.test(url))
|
|
288332
|
+
return url;
|
|
288333
|
+
let dm;
|
|
288334
|
+
let target;
|
|
288335
|
+
try {
|
|
288336
|
+
dm = new URL(dmUrl);
|
|
288337
|
+
target = new URL(url, dm.origin);
|
|
288338
|
+
}
|
|
288339
|
+
catch (_a) {
|
|
288340
|
+
return url;
|
|
288341
|
+
}
|
|
288342
|
+
// Host, not origin: behind a TLS-terminating proxy the backend may build http:// links.
|
|
288343
|
+
if (target.host !== dm.host || !target.pathname.startsWith('/media/'))
|
|
288344
|
+
return url;
|
|
288345
|
+
target.protocol = dm.protocol;
|
|
288346
|
+
target.pathname = `${trimTrailingSlashes(dm.pathname)}${target.pathname}`;
|
|
288347
|
+
return target.href;
|
|
288348
|
+
}
|
|
288320
288349
|
|
|
288321
288350
|
// Pure logic behind the application form (questions) editor. No React here so
|
|
288322
288351
|
// it stays unit testable. The backend validates schemas on save and remains
|
|
@@ -292645,6 +292674,7 @@ function AgentSettingsProvider({ children, ...value }) {
|
|
|
292645
292674
|
value.rbacPermissions,
|
|
292646
292675
|
value.executeGatedAction,
|
|
292647
292676
|
value.visibilityOptions,
|
|
292677
|
+
value.dmUrl,
|
|
292648
292678
|
]);
|
|
292649
292679
|
return jsx(AgentSettingsContext.Provider, { value: ctx, children: children });
|
|
292650
292680
|
}
|
|
@@ -307758,7 +307788,7 @@ const ProjectFilesModal$1 = lazy(() => Promise.resolve().then(function () { retu
|
|
|
307758
307788
|
const AddMentorToProjectModal$1 = lazy(() => Promise.resolve().then(function () { return addMentorToProjectModal; }).then((mod) => ({
|
|
307759
307789
|
default: mod.AddMentorToProjectModal,
|
|
307760
307790
|
})));
|
|
307761
|
-
function ProjectLandingPage({ project, mentorName, sessionId, onSubmit, onScreenSharingClick, isScreenSharingModalOpen, onPhoneCallClick, stopGenerating, tenantKey, username, enableSafetyDisclaimer, enableWebBrowsing, isStreaming, updateSessionTools, setSessionTools, activeTools, screenSharing, deepResearch, studyMode, imageGeneration, codeInterpreter, promptsIsEnabled, isPreviewMode, setMessage, mentorId, mentorUniqueId, projectId, googleSlidesIsEnabled, googleDocumentIsEnabled, artifactsEnabled, userIsStudent, isPublicRoute, navigateToProject, showExploreMentors = false, disabledResourceTypes, maxUploadSizeMb, dropboxExtensions, }) {
|
|
307791
|
+
function ProjectLandingPage({ project, mentorName, sessionId, onSubmit, onScreenSharingClick, isScreenSharingModalOpen, onPhoneCallClick, stopGenerating, tenantKey, username, enableSafetyDisclaimer, enableWebBrowsing, isStreaming, updateSessionTools, setSessionTools, activeTools, screenSharing, deepResearch, studyMode, imageGeneration, codeInterpreter, promptsIsEnabled, isPreviewMode, setMessage, mentorId, mentorUniqueId, projectId, googleSlidesIsEnabled, googleDocumentIsEnabled, artifactsEnabled, userIsStudent, isPublicRoute, navigateToProject, showExploreMentors = false, disabledResourceTypes, maxUploadSizeMb, dropboxExtensions, dmUrl, }) {
|
|
307762
307792
|
const [isInstructionsModalOpen, setIsInstructionsModalOpen] = useState(false);
|
|
307763
307793
|
const [isFilesModalOpen, setIsFilesModalOpen] = useState(false);
|
|
307764
307794
|
const [isAddMentorModalOpen, setIsAddMentorModalOpen] = useState(false);
|
|
@@ -307784,7 +307814,7 @@ function ProjectLandingPage({ project, mentorName, sessionId, onSubmit, onScreen
|
|
|
307784
307814
|
jsxs("div", { className: "flex h-full w-full flex-col", "data-testid": "project-landing-page", children: [jsxs("div", { className: "scrollbar-none flex min-h-0 flex-1 flex-col justify-center-safe gap-5 overflow-y-auto px-2 pt-2 pb-4", children: [header, context] }), jsx("div", { className: "w-full shrink-0", children: composer })] })) : (
|
|
307785
307815
|
// Desktop: one centred 640px column — header, disclaimer + composer, then
|
|
307786
307816
|
// the project's files, instructions and agents.
|
|
307787
|
-
jsxs("div", { className: "scrollbar-none flex h-full w-full flex-col items-center justify-center-safe overflow-y-auto px-4 py-6", "data-testid": "project-landing-page", children: [header, jsx("div", { className: "w-full max-w-[640px] shrink-0", children: composer }), jsx("div", { className: "mt-5 flex w-full max-w-[640px] shrink-0 flex-col gap-7", children: context })] })), isInstructionsModalOpen && (jsx(Suspense, { fallback: null, children: jsx(ProjectInstructionsModal$1, { isOpen: isInstructionsModalOpen, onClose: () => setIsInstructionsModalOpen(false), tenantKey: tenantKey, projectId: projectId, username: username }) })), isFilesModalOpen && (jsx(Suspense, { fallback: null, children: jsx(ProjectFilesModal$1, { isOpen: isFilesModalOpen, onClose: () => setIsFilesModalOpen(false), tenantKey: tenantKey, mentorId: mentorId, username: username, disabledResourceTypes: disabledResourceTypes, maxUploadSizeMb: maxUploadSizeMb, dropboxExtensions: dropboxExtensions }) })), isAddMentorModalOpen && (jsx(Suspense, { fallback: null, children: jsx(AddMentorToProjectModal$1, { isOpen: isAddMentorModalOpen, onClose: () => setIsAddMentorModalOpen(false), projectName: project.name, tenantKey: tenantKey, projectId: projectId, username: username, isPublicRoute: isPublicRoute }) }))] }));
|
|
307817
|
+
jsxs("div", { className: "scrollbar-none flex h-full w-full flex-col items-center justify-center-safe overflow-y-auto px-4 py-6", "data-testid": "project-landing-page", children: [header, jsx("div", { className: "w-full max-w-[640px] shrink-0", children: composer }), jsx("div", { className: "mt-5 flex w-full max-w-[640px] shrink-0 flex-col gap-7", children: context })] })), isInstructionsModalOpen && (jsx(Suspense, { fallback: null, children: jsx(ProjectInstructionsModal$1, { isOpen: isInstructionsModalOpen, onClose: () => setIsInstructionsModalOpen(false), tenantKey: tenantKey, projectId: projectId, username: username }) })), isFilesModalOpen && (jsx(Suspense, { fallback: null, children: jsx(ProjectFilesModal$1, { isOpen: isFilesModalOpen, onClose: () => setIsFilesModalOpen(false), tenantKey: tenantKey, mentorId: mentorId, username: username, disabledResourceTypes: disabledResourceTypes, maxUploadSizeMb: maxUploadSizeMb, dropboxExtensions: dropboxExtensions, dmUrl: dmUrl }) })), isAddMentorModalOpen && (jsx(Suspense, { fallback: null, children: jsx(AddMentorToProjectModal$1, { isOpen: isAddMentorModalOpen, onClose: () => setIsAddMentorModalOpen(false), projectName: project.name, tenantKey: tenantKey, projectId: projectId, username: username, isPublicRoute: isPublicRoute }) }))] }));
|
|
307788
307818
|
}
|
|
307789
307819
|
|
|
307790
307820
|
function MinimumMentorAlert({ open, onOpenChange }) {
|
|
@@ -308082,7 +308112,7 @@ function DatasetItem({ dataset, onSelect, isSelected, labels }) {
|
|
|
308082
308112
|
const [isDeleteDatasetModalOpen, setIsDeleteDatasetModalOpen] = React__default.useState(false);
|
|
308083
308113
|
const [isRetrainScheduleModalOpen, setIsRetrainScheduleModalOpen] = React__default.useState(false);
|
|
308084
308114
|
const [isTrainOrDeleteModalOpen, setIsTrainOrDeleteModalOpen] = React__default.useState(false);
|
|
308085
|
-
const { tenantKey, username } = useAgentSettings();
|
|
308115
|
+
const { tenantKey, username, dmUrl } = useAgentSettings();
|
|
308086
308116
|
const [editTrainingDocument, { isLoading: isEditTrainingDocumentLoading }] = useEditTrainingDocumentMutation();
|
|
308087
308117
|
const handleEditTrainingDocument = async (data, callback) => {
|
|
308088
308118
|
try {
|
|
@@ -308128,7 +308158,7 @@ function DatasetItem({ dataset, onSelect, isSelected, labels }) {
|
|
|
308128
308158
|
};
|
|
308129
308159
|
return (jsxs(Fragment$1, { children: [jsxs(TableRow, { className: `border-b last:border-0 ${onSelect ? 'hover:bg-muted/50 cursor-pointer' : ''} ${isSelected ? 'bg-blue-50' : ''}`, onClick: onSelect ? () => onSelect(dataset) : undefined, children: [jsxs(Tooltip$1, { children: [jsx(TooltipTrigger, { asChild: true, children: jsx(TableCell, { className: "max-w-[200px] truncate p-3 font-medium whitespace-nowrap text-[#646464]", children: jsx(WithFormPermissions, { name: ['document_name', 'url'],
|
|
308130
308160
|
// @ts-ignore
|
|
308131
|
-
permissions: (_a = dataset === null || dataset === void 0 ? void 0 : dataset.permissions) === null || _a === void 0 ? void 0 : _a.field, children: () => (jsx("a", { href: dataset.url, target: "_blank", rel: "noopener noreferrer", className: "text-blue-600 hover:text-blue-800 hover:underline", children: dataset.document_name || dataset.url })) }) }) }), jsx(TooltipContent, { className: "bg-gray-700 px-3 py-2 text-sm font-medium whitespace-nowrap text-white shadow-sm transition-opacity duration-300", children: jsx("p", { children: dataset.document_name || dataset.url }) })] }), jsx(TableCell, { className: "p-3 whitespace-nowrap text-[#646464]", children: jsx(WithFormPermissions, { name: "document_type",
|
|
308161
|
+
permissions: (_a = dataset === null || dataset === void 0 ? void 0 : dataset.permissions) === null || _a === void 0 ? void 0 : _a.field, children: () => (jsx("a", { href: resolveDmMediaUrl(dataset.url, dmUrl), target: "_blank", rel: "noopener noreferrer", className: "text-blue-600 hover:text-blue-800 hover:underline", children: dataset.document_name || dataset.url })) }) }) }), jsx(TooltipContent, { className: "bg-gray-700 px-3 py-2 text-sm font-medium whitespace-nowrap text-white shadow-sm transition-opacity duration-300", children: jsx("p", { children: dataset.document_name || dataset.url }) })] }), jsx(TableCell, { className: "p-3 whitespace-nowrap text-[#646464]", children: jsx(WithFormPermissions, { name: "document_type",
|
|
308132
308162
|
// @ts-ignore
|
|
308133
308163
|
permissions: (_b = dataset === null || dataset === void 0 ? void 0 : dataset.permissions) === null || _b === void 0 ? void 0 : _b.field, children: () => {
|
|
308134
308164
|
var _a, _b;
|
|
@@ -309739,7 +309769,7 @@ const PROJECT_FILES_DATASET_LABELS = resolveDatasetsTabLabels({
|
|
|
309739
309769
|
table: { emptyState: 'No files found' },
|
|
309740
309770
|
});
|
|
309741
309771
|
function ProjectFilesModal(props) {
|
|
309742
|
-
return (jsx(AgentSettingsProvider, { tenantKey: props.tenantKey, mentorId: props.mentorId, username: props.username, enableRBAC: false, children: jsx(ProjectFilesModalInner, { ...props }) }));
|
|
309772
|
+
return (jsx(AgentSettingsProvider, { tenantKey: props.tenantKey, mentorId: props.mentorId, username: props.username, enableRBAC: false, dmUrl: props.dmUrl, children: jsx(ProjectFilesModalInner, { ...props }) }));
|
|
309743
309773
|
}
|
|
309744
309774
|
function ProjectFilesModalInner({ isOpen, onClose, disabledResourceTypes, maxUploadSizeMb, dropboxExtensions, }) {
|
|
309745
309775
|
var _a;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@iblai/iblai-js",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.40.0",
|
|
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": {
|
|
@@ -76,8 +76,8 @@
|
|
|
76
76
|
"axios": "1.13.6",
|
|
77
77
|
"dotenv": "16.6.1",
|
|
78
78
|
"winston": "3.19.0",
|
|
79
|
-
"@iblai/mcp": "1.
|
|
80
|
-
"@iblai/web-containers": "1.
|
|
79
|
+
"@iblai/mcp": "1.31.0",
|
|
80
|
+
"@iblai/web-containers": "1.44.0",
|
|
81
81
|
"@iblai/data-layer": "1.30.1",
|
|
82
82
|
"@iblai/web-utils": "2.9.0"
|
|
83
83
|
},
|