mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-06-26 15:34:26 +00:00
feat(sidebar): mark Agent entries as Agent or Pipeline
Add a trailing badge (icon + label) to each entry in the sidebar Agent section so users can tell Agent orchestration apart from legacy Pipeline. Thread the agent `kind` field through SidebarEntityItem. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -32,6 +32,8 @@ import {
|
||||
Server,
|
||||
Puzzle,
|
||||
RefreshCcw,
|
||||
Bot,
|
||||
Workflow,
|
||||
} from 'lucide-react';
|
||||
import { useTheme } from '@/components/providers/theme-provider';
|
||||
|
||||
@@ -723,6 +725,18 @@ function NavItems({
|
||||
/>
|
||||
) : null}
|
||||
<span className="truncate">{item.name}</span>
|
||||
{item.kind && (
|
||||
<span className="ml-auto flex shrink-0 items-center gap-0.5 text-[10px] text-muted-foreground">
|
||||
{item.kind === 'pipeline' ? (
|
||||
<Workflow className="size-3" />
|
||||
) : (
|
||||
<Bot className="size-3" />
|
||||
)}
|
||||
{item.kind === 'pipeline'
|
||||
? t('agents.kindBadgePipeline')
|
||||
: t('agents.kindBadgeAgent')}
|
||||
</span>
|
||||
)}
|
||||
{item.debug && (
|
||||
<Bug className="size-3.5 shrink-0 text-orange-400" />
|
||||
)}
|
||||
|
||||
@@ -28,6 +28,8 @@ export interface SidebarEntityItem {
|
||||
debug?: boolean;
|
||||
// Set when this item appears in the unified extensions list
|
||||
extensionType?: 'plugin' | 'mcp' | 'skill';
|
||||
// Agent-specific: distinguishes Agent orchestration from legacy Pipeline
|
||||
kind?: 'agent' | 'pipeline';
|
||||
}
|
||||
|
||||
// Plugin page registered by a plugin
|
||||
@@ -123,6 +125,7 @@ export function SidebarDataProvider({
|
||||
description: p.description,
|
||||
emoji: p.emoji,
|
||||
updatedAt: p.updated_at,
|
||||
kind: p.kind,
|
||||
})),
|
||||
);
|
||||
} catch (error) {
|
||||
|
||||
@@ -517,6 +517,8 @@ const enUS = {
|
||||
agentOrchestrationDescription:
|
||||
'Event-first handling logic for messages, group members, friends, feedback, and other EBA events.',
|
||||
pipelineType: 'Pipeline',
|
||||
kindBadgeAgent: 'Agent',
|
||||
kindBadgePipeline: 'Pipeline',
|
||||
pipelineTypeDescription:
|
||||
'Keep the existing no-code message pipeline for backward compatibility. It only handles message events.',
|
||||
allEvents: 'Supports all EBA events',
|
||||
|
||||
@@ -501,6 +501,8 @@ const jaJP = {
|
||||
agentOrchestrationDescription:
|
||||
'メッセージ、グループメンバー、友だち、フィードバックなどの EBA イベント向けの処理ロジックです。',
|
||||
pipelineType: 'Pipeline',
|
||||
kindBadgeAgent: 'Agent',
|
||||
kindBadgePipeline: 'パイプライン',
|
||||
pipelineTypeDescription:
|
||||
'既存のノーコードメッセージ Pipeline を互換性のため保持します。メッセージイベントのみ処理できます。',
|
||||
allEvents: 'すべての EBA イベントに対応',
|
||||
|
||||
@@ -497,6 +497,8 @@ const zhHans = {
|
||||
agentOrchestrationDescription:
|
||||
'面向 EBA 事件的处理逻辑,可用于消息、群成员、好友、反馈等事件。',
|
||||
pipelineType: 'Pipeline',
|
||||
kindBadgeAgent: 'Agent',
|
||||
kindBadgePipeline: '流水线',
|
||||
pipelineTypeDescription:
|
||||
'保留现有无代码消息流水线,兼容旧配置,只能处理消息事件。',
|
||||
allEvents: '支持全部 EBA 事件',
|
||||
|
||||
Reference in New Issue
Block a user