From 70965c6ce21fc6aa6cb055e73e6a135d0df2e055 Mon Sep 17 00:00:00 2001 From: Aubin <60398825+aubin-tchoi@users.noreply.github.com> Date: Tue, 27 Jan 2026 23:20:35 +0100 Subject: [PATCH 1/2] redirect to manage skill page on click --- .../assistant/conversation/input_bar/InputBarContainer.tsx | 5 +++++ front/lib/utils/router.ts | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/front/components/assistant/conversation/input_bar/InputBarContainer.tsx b/front/components/assistant/conversation/input_bar/InputBarContainer.tsx index 318d34f089b7..64b5a6a36cb8 100644 --- a/front/components/assistant/conversation/input_bar/InputBarContainer.tsx +++ b/front/components/assistant/conversation/input_bar/InputBarContainer.tsx @@ -44,6 +44,7 @@ import { getSkillIcon } from "@app/lib/skill"; import { useSpaces, useSpacesSearch } from "@app/lib/swr/spaces"; import { useIsMobile } from "@app/lib/swr/useIsMobile"; import { classNames } from "@app/lib/utils"; +import { getManageSkillsRoute } from "@app/lib/utils/router"; import type { ConversationWithoutContentType, DataSourceViewContentNode, @@ -616,6 +617,8 @@ const InputBarContainer = ({ size="xs" label={skill.name} icon={getSkillIcon(skill.icon)} + href={getManageSkillsRoute(owner.sId, skill.sId)} + target="_blank" className="m-0.5 hidden bg-background text-foreground dark:bg-background-night dark:text-foreground-night md:flex" onRemove={ disableInput @@ -628,6 +631,8 @@ const InputBarContainer = ({ { + return ( + `/w/${workspaceId}/builder/skills` + (skillId ? `#?skillId=${skillId}` : "") + ); +}; + export const getConversationRoute = ( workspaceId: string, conversationIdOrNew: string | null = "new", From 834420012d78df723e0b562dda3cb4a915a9b69e Mon Sep 17 00:00:00 2001 From: Aubin <60398825+aubin-tchoi@users.noreply.github.com> Date: Tue, 27 Jan 2026 23:24:28 +0100 Subject: [PATCH 2/2] add builder check on click action (otherwise redirects to a 404) --- .../conversation/input_bar/InputBarContainer.tsx | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/front/components/assistant/conversation/input_bar/InputBarContainer.tsx b/front/components/assistant/conversation/input_bar/InputBarContainer.tsx index 64b5a6a36cb8..a95dd3431c80 100644 --- a/front/components/assistant/conversation/input_bar/InputBarContainer.tsx +++ b/front/components/assistant/conversation/input_bar/InputBarContainer.tsx @@ -57,6 +57,7 @@ import type { import { assertNever, getSupportedFileExtensions, + isBuilder, normalizeError, toRichAgentMentionType, } from "@app/types"; @@ -617,7 +618,11 @@ const InputBarContainer = ({ size="xs" label={skill.name} icon={getSkillIcon(skill.icon)} - href={getManageSkillsRoute(owner.sId, skill.sId)} + href={ + isBuilder(owner) + ? getManageSkillsRoute(owner.sId, skill.sId) + : undefined + } target="_blank" className="m-0.5 hidden bg-background text-foreground dark:bg-background-night dark:text-foreground-night md:flex" onRemove={ @@ -631,7 +636,11 @@ const InputBarContainer = ({