@iblai/iblai-js 1.20.2 → 1.20.3

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
- function OverlayModal({ open, onClose, title, description, className, children, }) {
197306
- const [mounted, setMounted] = useState(false);
197307
- const [dialogPanel, setDialogPanel] = useState(null);
197308
- useEffect(() => {
197309
- setMounted(true);
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;
@@ -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.2",
3
+ "version": "1.20.3",
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-utils": "1.11.2",
72
- "@iblai/web-containers": "1.10.2"
71
+ "@iblai/web-containers": "1.10.3",
72
+ "@iblai/web-utils": "1.11.2"
73
73
  },
74
74
  "peerDependencies": {
75
75
  "@radix-ui/react-dialog": "^1.1.7",