@iblai/iblai-js 1.20.2 → 1.20.4
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.
|
@@ -197302,32 +197302,16 @@ function SignupButton({ authUrl, tenantKey, redirectTo, label = 'Sign Up', onCli
|
|
|
197302
197302
|
}
|
|
197303
197303
|
SignupButton.displayName = 'SignupButton';
|
|
197304
197304
|
|
|
197305
|
-
|
|
197306
|
-
|
|
197307
|
-
|
|
197308
|
-
|
|
197309
|
-
|
|
197310
|
-
|
|
197311
|
-
const handleOpenChange = (nextOpen) => {
|
|
197312
|
-
if (!nextOpen)
|
|
197313
|
-
onClose();
|
|
197314
|
-
};
|
|
197315
|
-
if (!mounted || typeof document === 'undefined') {
|
|
197316
|
-
return null;
|
|
197317
|
-
}
|
|
197318
|
-
// Nested Radix Dialog on document.body: viewport-fixed overlay + its own scroll lock,
|
|
197319
|
-
// independent of any parent modal. Requires the app to resolve the same
|
|
197320
|
-
// `@radix-ui/react-dialog` instance as this package (peer dependency + Rollup external).
|
|
197321
|
-
return (jsx(DialogPrimitive.Root, { open: open, onOpenChange: handleOpenChange, modal: true, children: jsxs(DialogPrimitive.Portal, { container: document.body, children: [jsx(DialogPrimitive.Overlay, { "data-iblai-dialog-interaction-layer": true, className: cn('pointer-events-auto fixed inset-0 z-[100] bg-black/60', 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0') }), jsx(DialogPrimitive.Content, { ref: setDialogPanel, "data-iblai-dialog-interaction-layer": true, ...(!description ? { 'aria-describedby': undefined } : {}), className: cn('pointer-events-auto fixed left-[50%] top-[50%] z-[100] grid w-full translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background shadow-lg duration-200', 'max-h-[min(90dvh,calc(100dvh-2rem))] max-w-[calc(100vw-2rem)] overflow-y-auto overscroll-contain rounded-lg p-6 sm:rounded-lg', 'pt-[max(1.5rem,env(safe-area-inset-top))] pb-[max(1.5rem,env(safe-area-inset-bottom))]', 'pl-[max(1.5rem,env(safe-area-inset-left))] pr-[max(1.5rem,env(safe-area-inset-right))]', 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%]', 'focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2', className), children: jsxs(FloatingPortalContainerContext.Provider, { value: dialogPanel, children: [jsx(DialogPrimitive.Close, { type: "button", className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2", "aria-label": "Close", children: jsx(X$1, { className: "h-4 w-4" }) }), jsxs("div", { className: "space-y-4", children: [jsxs("div", { className: "flex flex-col space-y-1.5 pr-8 text-center sm:text-left", children: [jsx(DialogPrimitive.Title, { className: "text-lg font-semibold leading-none tracking-tight", children: title }), description ? (jsx(DialogPrimitive.Description, { className: "text-sm text-muted-foreground", children: description })) : null] }), children] })] }) })] }) }));
|
|
197322
|
-
}
|
|
197323
|
-
|
|
197324
|
-
// ── Helpers ──────────────────────────────────────────────────────────────────
|
|
197305
|
+
/**
|
|
197306
|
+
* Returns the canonical logo path and display name for an LLM provider.
|
|
197307
|
+
* `logo` is a static-root path (e.g. `/llm-amazon-provider.png`); the package
|
|
197308
|
+
* ships the canonical assets under `@iblai/web-containers/public/` — copy them
|
|
197309
|
+
* into your app's static-root (`public/` for Next.js) so the paths resolve.
|
|
197310
|
+
*/
|
|
197325
197311
|
function getLLMProviderDetails(llmProvider, llmName) {
|
|
197326
197312
|
switch (llmProvider) {
|
|
197327
197313
|
case 'groq':
|
|
197328
197314
|
return { logo: '/llm-groq-provider.png', name: 'Groq' };
|
|
197329
|
-
case 'IBLChatNvidia':
|
|
197330
|
-
return { logo: '/llm-nvidia-provider.webp', name: 'NVIDIA' };
|
|
197331
197315
|
case 'azure_openai':
|
|
197332
197316
|
return { logo: '/llm-microsoft-provider.png', name: 'Microsoft' };
|
|
197333
197317
|
case 'openai':
|
|
@@ -197342,22 +197326,48 @@ function getLLMProviderDetails(llmProvider, llmName) {
|
|
|
197342
197326
|
return { logo: '/llm-google-provider.svg', name: 'Google' };
|
|
197343
197327
|
case 'llama':
|
|
197344
197328
|
return { logo: '/llm-llama-provider.jpeg', name: 'Meta' };
|
|
197345
|
-
case 'IBLChatAnthropic':
|
|
197346
|
-
return { logo: '/llm-claude-provider.png', name: 'Anthropic' };
|
|
197347
197329
|
case 'perplexity':
|
|
197348
197330
|
return { logo: '/llm-perplexity-provider.webp', name: 'Perplexity' };
|
|
197349
197331
|
case 'deepseek':
|
|
197350
197332
|
return { logo: '/llm-deepseek-provider.png', name: 'DeepSeek' };
|
|
197351
197333
|
case 'xai':
|
|
197352
197334
|
return { logo: '/llm-xai-provider.jpg', name: 'xAI' };
|
|
197335
|
+
case 'IBLChatAnthropic':
|
|
197353
197336
|
case 'anthropic':
|
|
197354
197337
|
return { logo: '/llm-claude-provider.png', name: 'Anthropic' };
|
|
197338
|
+
case 'IBLChatNvidia':
|
|
197355
197339
|
case 'nvidia':
|
|
197356
197340
|
return { logo: '/llm-nvidia-provider.webp', name: 'NVIDIA' };
|
|
197341
|
+
case 'bedrock':
|
|
197342
|
+
case 'amazon-bedrock':
|
|
197343
|
+
case 'amazon_bedrock':
|
|
197344
|
+
case 'IBLChatBedrock':
|
|
197345
|
+
return { logo: '/llm-amazon-provider.png', name: 'Amazon' };
|
|
197357
197346
|
default:
|
|
197358
197347
|
return { logo: '/llm-generic-provider.png', name: llmProvider };
|
|
197359
197348
|
}
|
|
197360
197349
|
}
|
|
197350
|
+
|
|
197351
|
+
function OverlayModal({ open, onClose, title, description, className, children, }) {
|
|
197352
|
+
const [mounted, setMounted] = useState(false);
|
|
197353
|
+
const [dialogPanel, setDialogPanel] = useState(null);
|
|
197354
|
+
useEffect(() => {
|
|
197355
|
+
setMounted(true);
|
|
197356
|
+
}, []);
|
|
197357
|
+
const handleOpenChange = (nextOpen) => {
|
|
197358
|
+
if (!nextOpen)
|
|
197359
|
+
onClose();
|
|
197360
|
+
};
|
|
197361
|
+
if (!mounted || typeof document === 'undefined') {
|
|
197362
|
+
return null;
|
|
197363
|
+
}
|
|
197364
|
+
// Nested Radix Dialog on document.body: viewport-fixed overlay + its own scroll lock,
|
|
197365
|
+
// independent of any parent modal. Requires the app to resolve the same
|
|
197366
|
+
// `@radix-ui/react-dialog` instance as this package (peer dependency + Rollup external).
|
|
197367
|
+
return (jsx(DialogPrimitive.Root, { open: open, onOpenChange: handleOpenChange, modal: true, children: jsxs(DialogPrimitive.Portal, { container: document.body, children: [jsx(DialogPrimitive.Overlay, { "data-iblai-dialog-interaction-layer": true, className: cn('pointer-events-auto fixed inset-0 z-[100] bg-black/60', 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0') }), jsx(DialogPrimitive.Content, { ref: setDialogPanel, "data-iblai-dialog-interaction-layer": true, ...(!description ? { 'aria-describedby': undefined } : {}), className: cn('pointer-events-auto fixed left-[50%] top-[50%] z-[100] grid w-full translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background shadow-lg duration-200', 'max-h-[min(90dvh,calc(100dvh-2rem))] max-w-[calc(100vw-2rem)] overflow-y-auto overscroll-contain rounded-lg p-6 sm:rounded-lg', 'pt-[max(1.5rem,env(safe-area-inset-top))] pb-[max(1.5rem,env(safe-area-inset-bottom))]', 'pl-[max(1.5rem,env(safe-area-inset-left))] pr-[max(1.5rem,env(safe-area-inset-right))]', 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%]', 'focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2', className), children: jsxs(FloatingPortalContainerContext.Provider, { value: dialogPanel, children: [jsx(DialogPrimitive.Close, { type: "button", className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2", "aria-label": "Close", children: jsx(X$1, { className: "h-4 w-4" }) }), jsxs("div", { className: "space-y-4", children: [jsxs("div", { className: "flex flex-col space-y-1.5 pr-8 text-center sm:text-left", children: [jsx(DialogPrimitive.Title, { className: "text-lg font-semibold leading-none tracking-tight", children: title }), description ? (jsx(DialogPrimitive.Description, { className: "text-sm text-muted-foreground", children: description })) : null] }), children] })] }) })] }) }));
|
|
197368
|
+
}
|
|
197369
|
+
|
|
197370
|
+
// ── Helpers ──────────────────────────────────────────────────────────────────
|
|
197361
197371
|
const canSwitchLLm = (llm) => {
|
|
197362
197372
|
if (llm === null || llm === void 0 ? void 0 : llm.has_credentials) {
|
|
197363
197373
|
return true;
|
|
@@ -198198,7 +198208,7 @@ function UpgradePackageModal({ open, onClose, redirectUrl, sourcePlatformKey, ma
|
|
|
198198
198208
|
}
|
|
198199
198209
|
|
|
198200
198210
|
function AppleRestrictionModal({ isOpen, onClose }) {
|
|
198201
|
-
return (jsx(Dialog, { open: isOpen, onOpenChange: onClose, children: jsx(DialogContent, { showCloseButton: false, className: "max-w-sm gap-0 overflow-hidden rounded-2xl p-0", children: jsxs("div", { className: "flex flex-col items-center gap-6 px-8 py-10 text-center", children: [jsx("div", { className: "flex h-16 w-16 items-center justify-center rounded-full bg-gray-100", children: jsx(Smartphone, { className: "h-8 w-8 text-gray-500", strokeWidth: 1.5 }) }), jsxs("div", { className: "flex flex-col gap-2", children: [jsx(DialogTitle, { className: "text-xl font-bold tracking-tight text-gray-900", children: "
|
|
198211
|
+
return (jsx(Dialog, { open: isOpen, onOpenChange: onClose, children: jsx(DialogContent, { showCloseButton: false, className: "max-w-sm gap-0 overflow-hidden rounded-2xl p-0", children: jsxs("div", { className: "flex flex-col items-center gap-6 px-8 py-10 text-center", children: [jsx("div", { className: "flex h-16 w-16 items-center justify-center rounded-full bg-gray-100", children: jsx(Smartphone, { className: "h-8 w-8 text-gray-500", strokeWidth: 1.5 }) }), jsxs("div", { className: "flex flex-col gap-2", children: [jsx(DialogTitle, { className: "text-xl font-bold tracking-tight text-gray-900", children: "This action requires a subscription which happens outside the app" }), jsx(DialogDescription, { className: "text-sm leading-relaxed text-gray-500", children: "All subscription and billing changes are managed through your account, outside the app." })] }), jsx("div", { className: "flex w-full flex-col gap-3", children: jsx("button", { type: "button", onClick: onClose, className: "ibl-button-primary flex w-full items-center justify-center rounded-full py-3 text-sm font-semibold", children: "OK" }) })] }) }) }));
|
|
198202
198212
|
}
|
|
198203
198213
|
|
|
198204
198214
|
function Version({ appName, appVersion, poweredBy, }) {
|
|
@@ -202441,6 +202441,52 @@ var reactPaginate = {exports: {}};
|
|
|
202441
202441
|
|
|
202442
202442
|
} (reactPaginate));
|
|
202443
202443
|
|
|
202444
|
+
/**
|
|
202445
|
+
* Returns the canonical logo path and display name for an LLM provider.
|
|
202446
|
+
* `logo` is a static-root path (e.g. `/llm-amazon-provider.png`); the package
|
|
202447
|
+
* ships the canonical assets under `@iblai/web-containers/public/` — copy them
|
|
202448
|
+
* into your app's static-root (`public/` for Next.js) so the paths resolve.
|
|
202449
|
+
*/
|
|
202450
|
+
function getLLMProviderDetails(llmProvider, llmName) {
|
|
202451
|
+
switch (llmProvider) {
|
|
202452
|
+
case 'groq':
|
|
202453
|
+
return { logo: '/llm-groq-provider.png', name: 'Groq' };
|
|
202454
|
+
case 'azure_openai':
|
|
202455
|
+
return { logo: '/llm-microsoft-provider.png', name: 'Microsoft' };
|
|
202456
|
+
case 'openai':
|
|
202457
|
+
if (llmName)
|
|
202458
|
+
return { logo: '/llm-openai-provider.jpg', name: 'OpenAI' };
|
|
202459
|
+
return { logo: '/llm-openai-provider-2.svg', name: 'OpenAI' };
|
|
202460
|
+
case 'mistral':
|
|
202461
|
+
return { logo: '/llm-mistral-provider.jpeg', name: 'Mistral' };
|
|
202462
|
+
case 'google':
|
|
202463
|
+
if (llmName)
|
|
202464
|
+
return { logo: '/llm-gemini-provider.png', name: 'Google' };
|
|
202465
|
+
return { logo: '/llm-google-provider.svg', name: 'Google' };
|
|
202466
|
+
case 'llama':
|
|
202467
|
+
return { logo: '/llm-llama-provider.jpeg', name: 'Meta' };
|
|
202468
|
+
case 'perplexity':
|
|
202469
|
+
return { logo: '/llm-perplexity-provider.webp', name: 'Perplexity' };
|
|
202470
|
+
case 'deepseek':
|
|
202471
|
+
return { logo: '/llm-deepseek-provider.png', name: 'DeepSeek' };
|
|
202472
|
+
case 'xai':
|
|
202473
|
+
return { logo: '/llm-xai-provider.jpg', name: 'xAI' };
|
|
202474
|
+
case 'IBLChatAnthropic':
|
|
202475
|
+
case 'anthropic':
|
|
202476
|
+
return { logo: '/llm-claude-provider.png', name: 'Anthropic' };
|
|
202477
|
+
case 'IBLChatNvidia':
|
|
202478
|
+
case 'nvidia':
|
|
202479
|
+
return { logo: '/llm-nvidia-provider.webp', name: 'NVIDIA' };
|
|
202480
|
+
case 'bedrock':
|
|
202481
|
+
case 'amazon-bedrock':
|
|
202482
|
+
case 'amazon_bedrock':
|
|
202483
|
+
case 'IBLChatBedrock':
|
|
202484
|
+
return { logo: '/llm-amazon-provider.png', name: 'Amazon' };
|
|
202485
|
+
default:
|
|
202486
|
+
return { logo: '/llm-generic-provider.png', name: llmProvider };
|
|
202487
|
+
}
|
|
202488
|
+
}
|
|
202489
|
+
|
|
202444
202490
|
lazy(() => Promise.resolve().then(function () { return createProjectModal; }).then((mod) => ({
|
|
202445
202491
|
default: mod.CreateProjectModal,
|
|
202446
202492
|
})));
|
|
@@ -211036,52 +211082,6 @@ function AgentLLMTab({ showConfigurationHeader = true, getLLMProviderDetails, la
|
|
|
211036
211082
|
}, llms: (llmProviders !== null && llmProviders !== void 0 ? llmProviders : []), getLLMProviderDetails: getLLMProviderDetails, labels: labels.providerModal }))] }) })] }));
|
|
211037
211083
|
}
|
|
211038
211084
|
|
|
211039
|
-
/**
|
|
211040
|
-
* Returns the canonical logo path and display name for an LLM provider.
|
|
211041
|
-
* `logo` is a static-root path (e.g. `/llm-amazon-provider.png`); the package
|
|
211042
|
-
* ships the canonical assets under `@iblai/web-containers/public/` — copy them
|
|
211043
|
-
* into your app's static-root (`public/` for Next.js) so the paths resolve.
|
|
211044
|
-
*/
|
|
211045
|
-
function getLLMProviderDetails(llmProvider, llmName) {
|
|
211046
|
-
switch (llmProvider) {
|
|
211047
|
-
case 'groq':
|
|
211048
|
-
return { logo: '/llm-groq-provider.png', name: 'Groq' };
|
|
211049
|
-
case 'azure_openai':
|
|
211050
|
-
return { logo: '/llm-microsoft-provider.png', name: 'Microsoft' };
|
|
211051
|
-
case 'openai':
|
|
211052
|
-
if (llmName)
|
|
211053
|
-
return { logo: '/llm-openai-provider.jpg', name: 'OpenAI' };
|
|
211054
|
-
return { logo: '/llm-openai-provider-2.svg', name: 'OpenAI' };
|
|
211055
|
-
case 'mistral':
|
|
211056
|
-
return { logo: '/llm-mistral-provider.jpeg', name: 'Mistral' };
|
|
211057
|
-
case 'google':
|
|
211058
|
-
if (llmName)
|
|
211059
|
-
return { logo: '/llm-gemini-provider.png', name: 'Google' };
|
|
211060
|
-
return { logo: '/llm-google-provider.svg', name: 'Google' };
|
|
211061
|
-
case 'llama':
|
|
211062
|
-
return { logo: '/llm-llama-provider.jpeg', name: 'Meta' };
|
|
211063
|
-
case 'perplexity':
|
|
211064
|
-
return { logo: '/llm-perplexity-provider.webp', name: 'Perplexity' };
|
|
211065
|
-
case 'deepseek':
|
|
211066
|
-
return { logo: '/llm-deepseek-provider.png', name: 'DeepSeek' };
|
|
211067
|
-
case 'xai':
|
|
211068
|
-
return { logo: '/llm-xai-provider.jpg', name: 'xAI' };
|
|
211069
|
-
case 'IBLChatAnthropic':
|
|
211070
|
-
case 'anthropic':
|
|
211071
|
-
return { logo: '/llm-claude-provider.png', name: 'Anthropic' };
|
|
211072
|
-
case 'IBLChatNvidia':
|
|
211073
|
-
case 'nvidia':
|
|
211074
|
-
return { logo: '/llm-nvidia-provider.webp', name: 'NVIDIA' };
|
|
211075
|
-
case 'bedrock':
|
|
211076
|
-
case 'amazon-bedrock':
|
|
211077
|
-
case 'amazon_bedrock':
|
|
211078
|
-
case 'IBLChatBedrock':
|
|
211079
|
-
return { logo: '/llm-amazon-provider.png', name: 'Amazon' };
|
|
211080
|
-
default:
|
|
211081
|
-
return { logo: '/llm-generic-provider.png', name: llmProvider };
|
|
211082
|
-
}
|
|
211083
|
-
}
|
|
211084
|
-
|
|
211085
211085
|
function useTools({ labels }) {
|
|
211086
211086
|
var _a, _b;
|
|
211087
211087
|
const { tenantKey, mentorId, username } = useAgentSettings();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@iblai/iblai-js",
|
|
3
|
-
"version": "1.20.
|
|
3
|
+
"version": "1.20.4",
|
|
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": {
|
|
@@ -68,8 +68,8 @@
|
|
|
68
68
|
"winston": "3.19.0",
|
|
69
69
|
"@iblai/data-layer": "1.8.4",
|
|
70
70
|
"@iblai/mcp": "1.7.2",
|
|
71
|
-
"@iblai/web-
|
|
72
|
-
"@iblai/web-
|
|
71
|
+
"@iblai/web-containers": "1.10.4",
|
|
72
|
+
"@iblai/web-utils": "1.11.2"
|
|
73
73
|
},
|
|
74
74
|
"peerDependencies": {
|
|
75
75
|
"@radix-ui/react-dialog": "^1.1.7",
|