@iblai/iblai-js 1.20.20 → 1.20.21

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.
@@ -60584,7 +60584,7 @@ var clawSandboxSandboxConfig$3 = {
60584
60584
  colVersion: "VERSION",
60585
60585
  colLastCheck: "LAST CHECK",
60586
60586
  noInstancesMatchSearch: "No instances match your search.",
60587
- noInstancesAvailable: "No instances available. Create one to get started.",
60587
+ noInstancesAvailable: "No instances available. Add one to get started.",
60588
60588
  connectingInstance: "Connecting instance",
60589
60589
  actions: "Actions",
60590
60590
  connecting: "Connecting",
@@ -65821,7 +65821,7 @@ var clawSandboxSandboxConfig$2 = {
65821
65821
  colVersion: "VERSION",
65822
65822
  colLastCheck: "DERNIÈRE VÉRIFICATION",
65823
65823
  noInstancesMatchSearch: "Aucune instance ne correspond à votre recherche.",
65824
- noInstancesAvailable: "Aucune instance disponible. Créez-en une pour commencer.",
65824
+ noInstancesAvailable: "Aucune instance disponible. Ajoutez-en une pour commencer.",
65825
65825
  connectingInstance: "Connexion de l'instance",
65826
65826
  actions: "Actions",
65827
65827
  connecting: "Connexion en cours",
@@ -71058,7 +71058,7 @@ var clawSandboxSandboxConfig$1 = {
71058
71058
  colVersion: "VERSIÓN",
71059
71059
  colLastCheck: "ÚLTIMA VERIFICACIÓN",
71060
71060
  noInstancesMatchSearch: "Ninguna instancia coincide con su búsqueda.",
71061
- noInstancesAvailable: "No hay instancias disponibles. Cree una para comenzar.",
71061
+ noInstancesAvailable: "No hay instancias disponibles. Agregue una para comenzar.",
71062
71062
  connectingInstance: "Conectando instancia",
71063
71063
  actions: "Acciones",
71064
71064
  connecting: "Conectando",
@@ -76295,7 +76295,7 @@ var clawSandboxSandboxConfig = {
76295
76295
  colVersion: "版本",
76296
76296
  colLastCheck: "最近检查",
76297
76297
  noInstancesMatchSearch: "没有与您的搜索匹配的实例。",
76298
- noInstancesAvailable: "暂无可用实例,请创建一个开始使用。",
76298
+ noInstancesAvailable: "暂无可用实例,请添加一个开始使用。",
76299
76299
  connectingInstance: "正在连接实例",
76300
76300
  actions: "操作",
76301
76301
  connecting: "连接中",
@@ -98215,7 +98215,7 @@ var clawSandboxSandboxConfig$3 = {
98215
98215
  colVersion: "VERSION",
98216
98216
  colLastCheck: "LAST CHECK",
98217
98217
  noInstancesMatchSearch: "No instances match your search.",
98218
- noInstancesAvailable: "No instances available. Create one to get started.",
98218
+ noInstancesAvailable: "No instances available. Add one to get started.",
98219
98219
  connectingInstance: "Connecting instance",
98220
98220
  actions: "Actions",
98221
98221
  connecting: "Connecting",
@@ -103452,7 +103452,7 @@ var clawSandboxSandboxConfig$2 = {
103452
103452
  colVersion: "VERSION",
103453
103453
  colLastCheck: "DERNIÈRE VÉRIFICATION",
103454
103454
  noInstancesMatchSearch: "Aucune instance ne correspond à votre recherche.",
103455
- noInstancesAvailable: "Aucune instance disponible. Créez-en une pour commencer.",
103455
+ noInstancesAvailable: "Aucune instance disponible. Ajoutez-en une pour commencer.",
103456
103456
  connectingInstance: "Connexion de l'instance",
103457
103457
  actions: "Actions",
103458
103458
  connecting: "Connexion en cours",
@@ -108689,7 +108689,7 @@ var clawSandboxSandboxConfig$1 = {
108689
108689
  colVersion: "VERSIÓN",
108690
108690
  colLastCheck: "ÚLTIMA VERIFICACIÓN",
108691
108691
  noInstancesMatchSearch: "Ninguna instancia coincide con su búsqueda.",
108692
- noInstancesAvailable: "No hay instancias disponibles. Cree una para comenzar.",
108692
+ noInstancesAvailable: "No hay instancias disponibles. Agregue una para comenzar.",
108693
108693
  connectingInstance: "Conectando instancia",
108694
108694
  actions: "Acciones",
108695
108695
  connecting: "Conectando",
@@ -113926,7 +113926,7 @@ var clawSandboxSandboxConfig = {
113926
113926
  colVersion: "版本",
113927
113927
  colLastCheck: "最近检查",
113928
113928
  noInstancesMatchSearch: "没有与您的搜索匹配的实例。",
113929
- noInstancesAvailable: "暂无可用实例,请创建一个开始使用。",
113929
+ noInstancesAvailable: "暂无可用实例,请添加一个开始使用。",
113930
113930
  connectingInstance: "正在连接实例",
113931
113931
  actions: "操作",
113932
113932
  connecting: "连接中",
@@ -239527,7 +239527,7 @@ function parseDeploymentIds(raw) {
239527
239527
  .filter(Boolean);
239528
239528
  }
239529
239529
 
239530
- function AgentLinkModal({ isOpen, onClose, platformKey, mentorUniqueId, link, labels }) {
239530
+ function AgentLinkModal({ isOpen, onClose, platformKey, mentorId, mentorUniqueId, username, isLtiAccessible, link, labels, }) {
239531
239531
  var _a;
239532
239532
  const isEditing = Boolean(link);
239533
239533
  const linkFormSchema = z$2.object({
@@ -239535,6 +239535,7 @@ function AgentLinkModal({ isOpen, onClose, platformKey, mentorUniqueId, link, la
239535
239535
  });
239536
239536
  const [createLtiMentor, { isLoading: isCreating }] = useCreateLtiMentorMutation();
239537
239537
  const [updateLtiMentor, { isLoading: isUpdating }] = useUpdateLtiMentorMutation();
239538
+ const [editMentor] = useEditMentorMutation();
239538
239539
  const isLoading = isCreating || isUpdating;
239539
239540
  const form = useForm({
239540
239541
  defaultValues: { name: (_a = link === null || link === void 0 ? void 0 : link.name) !== null && _a !== void 0 ? _a : '' },
@@ -239557,6 +239558,23 @@ function AgentLinkModal({ isOpen, onClose, platformKey, mentorUniqueId, link, la
239557
239558
  else {
239558
239559
  await createLtiMentor({ requestBody }).unwrap();
239559
239560
  toast.success(labels.toasts.linkCreated);
239561
+ // "Allow LTI" must be on for the link to work. Enable it automatically
239562
+ // on create so the user doesn't have to toggle it in Settings as a
239563
+ // separate step. Best-effort: a failure here doesn't fail the link.
239564
+ if (!isLtiAccessible) {
239565
+ try {
239566
+ await editMentor({
239567
+ mentor: mentorId,
239568
+ org: platformKey,
239569
+ // @ts-expect-error userId is accepted at runtime but not in the query type
239570
+ userId: username,
239571
+ formData: { is_lti_accessible: true },
239572
+ }).unwrap();
239573
+ }
239574
+ catch (enableError) {
239575
+ console.error(JSON.stringify({ tenant: platformKey, enableError }));
239576
+ }
239577
+ }
239560
239578
  }
239561
239579
  form.reset();
239562
239580
  onClose();
@@ -239598,7 +239616,7 @@ function readTargetLinkUri(link) {
239598
239616
  return (_a = config === null || config === void 0 ? void 0 : config.target_link_uri) !== null && _a !== void 0 ? _a : null;
239599
239617
  }
239600
239618
  function AgentLinksSection({ identity, labels, }) {
239601
- const { platformKey, mentorUniqueId, isReady, isSettingsLoading } = identity;
239619
+ const { platformKey, mentorId, mentorUniqueId, username, isLtiAccessible, isReady, isSettingsLoading } = identity;
239602
239620
  const [showCreate, setShowCreate] = React__default.useState(false);
239603
239621
  const [editingLink, setEditingLink] = React__default.useState(null);
239604
239622
  const { data: allLinks, isLoading, isFetching, } = useGetLtiMentorsQuery({ platformKey, mentorId: mentorUniqueId }, { skip: !isReady });
@@ -239615,7 +239633,7 @@ function AgentLinksSection({ identity, labels, }) {
239615
239633
  event.stopPropagation();
239616
239634
  setEditingLink(link);
239617
239635
  }, children: jsx(Pencil, { className: "h-4 w-4" }) }) })] }, link.id));
239618
- }) })] }) }), isFetching && (jsx("p", { className: "px-3 py-2 text-xs text-gray-400", children: labels.common.refreshing }))] })), showCreate && (jsx(AgentLinkModal, { isOpen: showCreate, onClose: () => setShowCreate(false), platformKey: platformKey, mentorUniqueId: mentorUniqueId, labels: labels })), editingLink && (jsx(AgentLinkModal, { isOpen: Boolean(editingLink), onClose: () => setEditingLink(null), platformKey: platformKey, mentorUniqueId: mentorUniqueId, link: editingLink, labels: labels }))] }));
239636
+ }) })] }) }), isFetching && (jsx("p", { className: "px-3 py-2 text-xs text-gray-400", children: labels.common.refreshing }))] })), showCreate && (jsx(AgentLinkModal, { isOpen: showCreate, onClose: () => setShowCreate(false), platformKey: platformKey, mentorId: mentorId, mentorUniqueId: mentorUniqueId, username: username, isLtiAccessible: isLtiAccessible, labels: labels })), editingLink && (jsx(AgentLinkModal, { isOpen: Boolean(editingLink), onClose: () => setEditingLink(null), platformKey: platformKey, mentorId: mentorId, mentorUniqueId: mentorUniqueId, username: username, isLtiAccessible: isLtiAccessible, link: editingLink, labels: labels }))] }));
239619
239637
  }
239620
239638
 
239621
239639
  function KeyCreateModal({ isOpen, onClose, platformKey, labels }) {
@@ -239911,13 +239929,17 @@ function AgentLtiTab({ labels: labelsOverride, tenantKey: tenantKeyProp, mentorI
239911
239929
  userId: username,
239912
239930
  }, { skip: !username || !mentorId || !tenantKey });
239913
239931
  const platformKey = tenantKey;
239914
- const mentorUniqueId = (_e = mentorSettings === null || mentorSettings === void 0 ? void 0 : mentorSettings.mentor_unique_id) !== null && _e !== void 0 ? _e : '';
239932
+ const settings = mentorSettings;
239933
+ const mentorUniqueId = (_e = settings === null || settings === void 0 ? void 0 : settings.mentor_unique_id) !== null && _e !== void 0 ? _e : '';
239934
+ const isLtiAccessible = Boolean(settings === null || settings === void 0 ? void 0 : settings.is_lti_accessible);
239915
239935
  const identity = {
239916
239936
  tenantKey,
239917
239937
  platformKey,
239938
+ mentorId,
239918
239939
  mentorUniqueId,
239919
239940
  username,
239920
239941
  enableRBAC,
239942
+ isLtiAccessible,
239921
239943
  lmsDomain: lmsDomainProp !== null && lmsDomainProp !== void 0 ? lmsDomainProp : '',
239922
239944
  // Only the explicit host override here; the real org code (Platform.org) is
239923
239945
  // resolved in the Tool Endpoints section via the platform info query.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iblai/iblai-js",
3
- "version": "1.20.20",
3
+ "version": "1.20.21",
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,10 +66,10 @@
66
66
  "axios": "1.13.6",
67
67
  "dotenv": "16.6.1",
68
68
  "winston": "3.19.0",
69
+ "@iblai/data-layer": "1.8.9",
69
70
  "@iblai/mcp": "1.7.8",
70
- "@iblai/web-containers": "1.10.15",
71
- "@iblai/web-utils": "1.11.9",
72
- "@iblai/data-layer": "1.8.9"
71
+ "@iblai/web-containers": "1.10.17",
72
+ "@iblai/web-utils": "1.11.9"
73
73
  },
74
74
  "peerDependencies": {
75
75
  "@radix-ui/react-dialog": "^1.1.7",