fix: build draft 404 and agent detail title

This commit is contained in:
Joel 2026-06-25 16:00:58 +08:00
parent 0c047f68fc
commit bbf1253051
30 changed files with 192 additions and 11 deletions

View File

@ -139,6 +139,23 @@ vi.mock('@/service/client', () => ({
},
}))
vi.mock('../build-draft-query', () => ({
agentConfigureConsoleQuery: {
agent: {
byAgentId: {
buildDraft: {
get: {
queryOptions: () => ({
queryFn: vi.fn(),
queryKey: ['build-draft'],
}),
},
},
},
},
},
}))
vi.mock('@/app/components/header/account-setting/model-provider-page/hooks', () => ({
useDefaultModel: () => ({ data: undefined }),
useTextGenerationCurrentProviderAndModelAndModelList: () => ({
@ -149,10 +166,12 @@ vi.mock('@/app/components/header/account-setting/model-provider-page/hooks', ()
vi.mock('../components/orchestrate', () => ({
AgentOrchestratePanel: (props: {
bottomBar?: ReactNode
isBuildDraftActive?: boolean
readOnly?: boolean
showPublishBar?: boolean
}) => (
<div role="region" aria-label="orchestrate-panel">
<span>{`buildDraft:${props.isBuildDraftActive ? 'yes' : 'no'}`}</span>
<span>{`readonly:${props.readOnly ? 'yes' : 'no'}`}</span>
<span>{`publish:${props.showPublishBar ? 'yes' : 'no'}`}</span>
{props.bottomBar}
@ -416,6 +435,7 @@ describe('AgentConfigurePage', () => {
)
expect(screen.getByRole('region', { name: 'orchestrate-panel' })).toHaveTextContent('readonly:no')
expect(screen.getByRole('region', { name: 'orchestrate-panel' })).toHaveTextContent('buildDraft:no')
expect(screen.getByRole('region', { name: 'orchestrate-panel' })).toHaveTextContent('publish:yes')
expect(screen.queryByRole('region', { name: 'build-draft-bar' })).not.toBeInTheDocument()
})
@ -462,6 +482,7 @@ describe('AgentConfigurePage', () => {
)
expect(screen.getByRole('region', { name: 'orchestrate-panel' })).toHaveTextContent('readonly:yes')
expect(screen.getByRole('region', { name: 'orchestrate-panel' })).toHaveTextContent('buildDraft:yes')
expect(screen.getByRole('region', { name: 'orchestrate-panel' })).toHaveTextContent('publish:no')
expect(screen.getByRole('region', { name: 'build-draft-bar' })).toBeInTheDocument()
})

View File

@ -0,0 +1,38 @@
'use client'
import type { ContractRouterClient } from '@orpc/contract'
import type { JsonifiedClient } from '@orpc/openapi-client'
import { createORPCClient } from '@orpc/client'
import { OpenAPILink } from '@orpc/openapi-client/fetch'
import { createTanstackQueryUtils } from '@orpc/tanstack-query'
import { API_PREFIX } from '@/config'
import { consoleRouterContract } from '@/contract/router'
// eslint-disable-next-line no-restricted-imports
import { request } from '@/service/base'
import { getBaseURL } from '@/service/client'
type AgentConfigureConsoleClientContext = {
silent?: boolean
}
const agentConfigureConsoleLink = new OpenAPILink<AgentConfigureConsoleClientContext>(consoleRouterContract, {
url: getBaseURL(API_PREFIX),
fetch: (input, init, options) => {
return request(
input.url,
init,
{
fetchCompat: true,
request: input,
silent: options.context.silent,
},
)
},
})
const agentConfigureConsoleClient: JsonifiedClient<ContractRouterClient<typeof consoleRouterContract, AgentConfigureConsoleClientContext>>
= createORPCClient(agentConfigureConsoleLink)
export const agentConfigureConsoleQuery = createTanstackQueryUtils(agentConfigureConsoleClient, {
path: ['console'],
})

View File

@ -0,0 +1,18 @@
import { render, screen } from '@testing-library/react'
import { AgentOrchestrateHeader } from '../header'
describe('AgentOrchestrateHeader', () => {
it('should render configure title without build mode copy by default', () => {
render(<AgentOrchestrateHeader headingId="configure-heading" />)
expect(screen.getByRole('heading', { name: 'agentV2.agentDetail.configure.title' })).toBeInTheDocument()
expect(screen.queryByText('agentV2.agentDetail.configure.buildDraft.modeBadge')).not.toBeInTheDocument()
})
it('should render build mode copy when build draft is active', () => {
render(<AgentOrchestrateHeader headingId="configure-heading" isBuildDraftActive />)
expect(screen.getByText('agentV2.agentDetail.configure.buildDraft.modeBadge')).toBeInTheDocument()
expect(screen.getByText('agentV2.agentDetail.configure.buildDraft.modeDescription')).toBeInTheDocument()
})
})

View File

@ -4,20 +4,32 @@ import { useTranslation } from 'react-i18next'
type AgentOrchestrateHeaderProps = {
headingId: string
isBuildDraftActive?: boolean
}
export function AgentOrchestrateHeader({
headingId,
isBuildDraftActive = false,
}: AgentOrchestrateHeaderProps) {
const { t } = useTranslation('agentV2')
return (
<div className="flex shrink-0 items-center gap-1 px-4 py-2">
<div className="flex min-w-0 flex-1 flex-col justify-center">
<div className="flex h-[68px] shrink-0 flex-col justify-center gap-1 px-4 py-3">
<div className="flex min-w-0 items-center gap-2">
<h2 id={headingId} className="truncate title-xl-semi-bold text-text-primary">
{t('agentDetail.configure.orchestrate')}
{t('agentDetail.configure.title')}
</h2>
{isBuildDraftActive && (
<span className="flex min-w-[18px] shrink-0 items-center justify-center rounded-[5px] border border-text-accent-secondary bg-components-badge-bg-dimm px-1.25 py-0.75 system-2xs-medium-uppercase text-text-accent-secondary">
{t('agentDetail.configure.buildDraft.modeBadge')}
</span>
)}
</div>
{isBuildDraftActive && (
<p className="w-full truncate system-xs-regular text-text-tertiary">
{t('agentDetail.configure.buildDraft.modeDescription')}
</p>
)}
</div>
)
}

View File

@ -35,6 +35,7 @@ type AgentOrchestratePanelProps = {
className?: string
readOnly?: boolean
selectedVersionSnapshot?: AgentConfigSnapshotSummaryResponse | null
isBuildDraftActive?: boolean
showHeader?: boolean
showPublishBar?: boolean
bottomBar?: ReactNode
@ -59,6 +60,7 @@ export function AgentOrchestratePanel({
className,
readOnly = false,
selectedVersionSnapshot,
isBuildDraftActive = false,
showHeader = true,
showPublishBar = true,
bottomBar,
@ -69,7 +71,7 @@ export function AgentOrchestratePanel({
}: AgentOrchestratePanelProps) {
const { t } = useTranslation('agentV2')
const orchestrateHeadingId = 'agent-configure-orchestrate-heading'
const orchestrateLabel = t('agentDetail.configure.orchestrate')
const orchestrateLabel = t('agentDetail.configure.title')
const hasBottomBar = showPublishBar || !!bottomBar
const driveApiContext = useMemo(() => appId && nodeId
? {
@ -83,7 +85,7 @@ export function AgentOrchestratePanel({
return (
<div className={cn('relative flex max-w-140 min-w-90 flex-[0_0_min(41.08280255%,560px)] flex-col overflow-hidden rounded-lg border-[0.5px] border-components-panel-border bg-components-panel-bg', className)}>
{showHeader && <AgentOrchestrateHeader headingId={orchestrateHeadingId} />}
{showHeader && <AgentOrchestrateHeader headingId={orchestrateHeadingId} isBuildDraftActive={isBuildDraftActive} />}
<AgentOrchestrateReadOnlyContext value={readOnly}>
<div

View File

@ -246,6 +246,7 @@ function AgentConfigurePageLoadedContent({
isPublishing={isPublishing}
readOnly={isViewingVersion || buildDraft.isActive}
selectedVersionSnapshot={isViewingVersion ? activeConfigSnapshot : undefined}
isBuildDraftActive={buildDraft.isActive}
showPublishBar={!buildDraft.isActive}
bottomBar={buildDraft.isActive
? (

View File

@ -7,6 +7,7 @@ import { useCallback, useEffect, useMemo, useRef, useState } from 'react'
import { useTranslation } from 'react-i18next'
import { agentSoulConfigToFormState } from '@/features/agent-v2/agent-composer/conversions'
import { consoleQuery } from '@/service/client'
import { agentConfigureConsoleQuery } from './build-draft-query'
export type AgentConfigureSoulSource = 'draft' | 'build-draft' | 'view-version'
@ -25,20 +26,39 @@ export function useAgentConfigureBuildDraftData({
isViewingVersion: boolean
normalAgentSoulConfig?: AgentSoulConfig
}) {
const shouldSilenceBuildDraftCheckRef = useRef(true)
const [soulSourceOverride, setSoulSourceOverride] = useState<AgentConfigureSoulSource | null>(null)
const buildDraftQueryOptions = consoleQuery.agent.byAgentId.buildDraft.get.queryOptions({
input: {
params: {
agent_id: agentId,
},
const buildDraftQueryInput = {
params: {
agent_id: agentId,
},
}
const buildDraftQueryOptions = agentConfigureConsoleQuery.agent.byAgentId.buildDraft.get.queryOptions({
input: {
params: buildDraftQueryInput.params,
},
context: {},
})
const silentBuildDraftQueryOptions = agentConfigureConsoleQuery.agent.byAgentId.buildDraft.get.queryOptions({
input: {
params: buildDraftQueryInput.params,
},
context: {
silent: true,
},
queryKey: buildDraftQueryOptions.queryKey,
})
const buildDraftQuery = useQuery({
...buildDraftQueryOptions,
enabled: !isViewingVersion && soulSourceOverride !== 'draft' && soulSourceOverride !== 'view-version',
queryFn: async (context) => {
try {
return await buildDraftQueryOptions.queryFn(context)
const queryOptions = shouldSilenceBuildDraftCheckRef.current
? silentBuildDraftQueryOptions
: buildDraftQueryOptions
shouldSilenceBuildDraftCheckRef.current = false
return await queryOptions.queryFn(context)
}
catch (error) {
if (isNotFoundResponse(error))

View File

@ -66,6 +66,8 @@
"agentDetail.configure.build.startBuild": "ابدأ البناء",
"agentDetail.configure.buildDraft.changes": "{{count}} تغييرات للتطبيق",
"agentDetail.configure.buildDraft.discard": "تجاهل",
"agentDetail.configure.buildDraft.modeBadge": "وضع البناء",
"agentDetail.configure.buildDraft.modeDescription": "أنت في وضع البناء. شكّل هذا الإعداد عبر الدردشة على اليمين، ثم طبّق.",
"agentDetail.configure.buildDraft.noChanges": "لا توجد تغييرات للتطبيق",
"agentDetail.configure.buildDraft.title": "مسودة البناء",
"agentDetail.configure.chatFeatures.description": "شكّل تجربة الدردشة للمستخدم النهائي على Web app وأسطح الدردشة.",
@ -191,6 +193,7 @@
"agentDetail.configure.skills.upload.invalidFile": "قم بتحميل ملف .zip أو .skill.",
"agentDetail.configure.skills.upload.success": "تم تحميل المهارة.",
"agentDetail.configure.skills.upload.title": "تحميل مهارة",
"agentDetail.configure.title": "تكوين",
"agentDetail.configure.tools.add": "إضافة أداة",
"agentDetail.configure.tools.addMenu.cliTool.badge": "للمطورين",
"agentDetail.configure.tools.addMenu.cliTool.description": "ثبّت برنامج سطر أوامر يقوم الوكيل بتشغيله في sandbox الخاص به. يحتاج إلى تثبيت وعادةً إلى API Key.",

View File

@ -66,6 +66,8 @@
"agentDetail.configure.build.startBuild": "Build starten",
"agentDetail.configure.buildDraft.changes": "{{count}} Änderungen anzuwenden",
"agentDetail.configure.buildDraft.discard": "Verwerfen",
"agentDetail.configure.buildDraft.modeBadge": "Build-Modus",
"agentDetail.configure.buildDraft.modeDescription": "Sie sind im Build-Modus. Formen Sie diese Einrichtung über den Chat rechts und wenden Sie sie dann an.",
"agentDetail.configure.buildDraft.noChanges": "Keine Änderungen anzuwenden",
"agentDetail.configure.buildDraft.title": "Build-Entwurf",
"agentDetail.configure.chatFeatures.description": "Gestalten Sie das Chat-Erlebnis für Endnutzer in Ihrer Webapp und in Chat-Oberflächen.",
@ -191,6 +193,7 @@
"agentDetail.configure.skills.upload.invalidFile": "Bitte eine .zip- oder .skill-Datei hochladen.",
"agentDetail.configure.skills.upload.success": "Skill hochgeladen.",
"agentDetail.configure.skills.upload.title": "Skill hochladen",
"agentDetail.configure.title": "Konfigurieren",
"agentDetail.configure.tools.add": "Tool hinzufügen",
"agentDetail.configure.tools.addMenu.cliTool.badge": "Für Entwickler",
"agentDetail.configure.tools.addMenu.cliTool.description": "Installieren Sie ein Befehlszeilenprogramm, das der Agent in seiner Sandbox ausführt. Benötigt eine Installation und in der Regel API-Keys.",

View File

@ -66,6 +66,8 @@
"agentDetail.configure.build.startBuild": "Start build",
"agentDetail.configure.buildDraft.changes": "{{count}} changes to apply",
"agentDetail.configure.buildDraft.discard": "Discard",
"agentDetail.configure.buildDraft.modeBadge": "Build mode",
"agentDetail.configure.buildDraft.modeDescription": "You're in build mode. Shape this setup through the chat on the right, then Apply.",
"agentDetail.configure.buildDraft.noChanges": "No changes to apply",
"agentDetail.configure.buildDraft.title": "Build draft",
"agentDetail.configure.chatFeatures.description": "Shape the end-user chat experience on your web app and chat surfaces.",
@ -191,6 +193,7 @@
"agentDetail.configure.skills.upload.invalidFile": "Upload a .zip or .skill file.",
"agentDetail.configure.skills.upload.success": "Skill uploaded.",
"agentDetail.configure.skills.upload.title": "Upload skill",
"agentDetail.configure.title": "Configure",
"agentDetail.configure.tools.add": "Add tool",
"agentDetail.configure.tools.addMenu.cliTool.badge": "For developers",
"agentDetail.configure.tools.addMenu.cliTool.description": "Install a command line program the agent runs in its sandbox. Needs install and usually API keys.",

View File

@ -66,6 +66,8 @@
"agentDetail.configure.build.startBuild": "Iniciar compilación",
"agentDetail.configure.buildDraft.changes": "{{count}} cambios por aplicar",
"agentDetail.configure.buildDraft.discard": "Descartar",
"agentDetail.configure.buildDraft.modeBadge": "Modo build",
"agentDetail.configure.buildDraft.modeDescription": "Estás en modo build. Ajusta esta configuración con el chat de la derecha y luego aplica los cambios.",
"agentDetail.configure.buildDraft.noChanges": "No hay cambios por aplicar",
"agentDetail.configure.buildDraft.title": "Borrador de compilación",
"agentDetail.configure.chatFeatures.description": "Da forma a la experiencia de chat del usuario final en tu webapp y superficies de chat.",
@ -191,6 +193,7 @@
"agentDetail.configure.skills.upload.invalidFile": "Sube un archivo .zip o .skill.",
"agentDetail.configure.skills.upload.success": "Habilidad subida.",
"agentDetail.configure.skills.upload.title": "Subir habilidad",
"agentDetail.configure.title": "Configurar",
"agentDetail.configure.tools.add": "Agregar herramienta",
"agentDetail.configure.tools.addMenu.cliTool.badge": "Para desarrolladores",
"agentDetail.configure.tools.addMenu.cliTool.description": "Instala un programa de línea de comandos que el agente ejecuta en su sandbox. Requiere instalación y normalmente claves API.",

View File

@ -66,6 +66,8 @@
"agentDetail.configure.build.startBuild": "شروع ساخت",
"agentDetail.configure.buildDraft.changes": "{{count}} تغییر برای اعمال",
"agentDetail.configure.buildDraft.discard": "رد کردن",
"agentDetail.configure.buildDraft.modeBadge": "حالت ساخت",
"agentDetail.configure.buildDraft.modeDescription": "شما در حالت ساخت هستید. این تنظیمات را از طریق چت سمت راست شکل دهید، سپس اعمال کنید.",
"agentDetail.configure.buildDraft.noChanges": "تغییری برای اعمال وجود ندارد",
"agentDetail.configure.buildDraft.title": "پیش نویس ساخت",
"agentDetail.configure.chatFeatures.description": "تجربه چت کاربر نهایی را در Web app و سطوح چت خود شکل دهید.",
@ -191,6 +193,7 @@
"agentDetail.configure.skills.upload.invalidFile": "یک فایل .zip یا .skill بارگذاری کنید.",
"agentDetail.configure.skills.upload.success": "مهارت بارگذاری شد.",
"agentDetail.configure.skills.upload.title": "بارگذاری مهارت",
"agentDetail.configure.title": "پیکربندی",
"agentDetail.configure.tools.add": "افزودن ابزار",
"agentDetail.configure.tools.addMenu.cliTool.badge": "برای توسعه‌دهندگان",
"agentDetail.configure.tools.addMenu.cliTool.description": "یک برنامه خط فرمان نصب کنید که عامل آن را در sandbox خود اجرا می‌کند. به نصب و معمولاً API Key نیاز دارد.",

View File

@ -66,6 +66,8 @@
"agentDetail.configure.build.startBuild": "Démarrer la création",
"agentDetail.configure.buildDraft.changes": "{{count}} modifications à appliquer",
"agentDetail.configure.buildDraft.discard": "Ignorer",
"agentDetail.configure.buildDraft.modeBadge": "Mode build",
"agentDetail.configure.buildDraft.modeDescription": "Vous êtes en mode build. Ajustez cette configuration avec le chat à droite, puis appliquez.",
"agentDetail.configure.buildDraft.noChanges": "Aucune modification à appliquer",
"agentDetail.configure.buildDraft.title": "Brouillon de build",
"agentDetail.configure.chatFeatures.description": "Façonnez lexpérience de chat de lutilisateur final sur votre webapp et vos surfaces de chat.",
@ -191,6 +193,7 @@
"agentDetail.configure.skills.upload.invalidFile": "Téléversez un fichier .zip ou .skill.",
"agentDetail.configure.skills.upload.success": "Compétence téléversée.",
"agentDetail.configure.skills.upload.title": "Téléverser une compétence",
"agentDetail.configure.title": "Configurer",
"agentDetail.configure.tools.add": "Ajouter un outil",
"agentDetail.configure.tools.addMenu.cliTool.badge": "Pour les développeurs",
"agentDetail.configure.tools.addMenu.cliTool.description": "Installez un programme en ligne de commande que lagent exécute dans son sandbox. Nécessite une installation et généralement des clés API.",

View File

@ -66,6 +66,8 @@
"agentDetail.configure.build.startBuild": "बिल्ड शुरू करें",
"agentDetail.configure.buildDraft.changes": "{{count}} बदलाव लागू करने हैं",
"agentDetail.configure.buildDraft.discard": "छोड़ें",
"agentDetail.configure.buildDraft.modeBadge": "बिल्ड मोड",
"agentDetail.configure.buildDraft.modeDescription": "आप बिल्ड मोड में हैं। दाईं ओर की चैट से इस सेटअप को आकार दें, फिर लागू करें।",
"agentDetail.configure.buildDraft.noChanges": "लागू करने के लिए कोई बदलाव नहीं",
"agentDetail.configure.buildDraft.title": "बिल्ड ड्राफ्ट",
"agentDetail.configure.chatFeatures.description": "अपने Web app और चैट सतहों पर अंतिम-उपयोगकर्ता चैट अनुभव को आकार दें।",
@ -191,6 +193,7 @@
"agentDetail.configure.skills.upload.invalidFile": "एक .zip या .skill फ़ाइल अपलोड करें।",
"agentDetail.configure.skills.upload.success": "कौशल अपलोड हो गया।",
"agentDetail.configure.skills.upload.title": "कौशल अपलोड करें",
"agentDetail.configure.title": "कॉन्फ़िगर करें",
"agentDetail.configure.tools.add": "उपकरण जोड़ें",
"agentDetail.configure.tools.addMenu.cliTool.badge": "डेवलपर्स के लिए",
"agentDetail.configure.tools.addMenu.cliTool.description": "एक कमांड लाइन प्रोग्राम स्थापित करें जिसे एजेंट अपने सैंडबॉक्स में चलाता है। स्थापना और आमतौर पर API Key की आवश्यकता होती है।",

View File

@ -66,6 +66,8 @@
"agentDetail.configure.build.startBuild": "Mulai build",
"agentDetail.configure.buildDraft.changes": "{{count}} perubahan untuk diterapkan",
"agentDetail.configure.buildDraft.discard": "Buang",
"agentDetail.configure.buildDraft.modeBadge": "Mode build",
"agentDetail.configure.buildDraft.modeDescription": "Anda berada dalam mode build. Bentuk pengaturan ini lewat chat di kanan, lalu terapkan.",
"agentDetail.configure.buildDraft.noChanges": "Tidak ada perubahan untuk diterapkan",
"agentDetail.configure.buildDraft.title": "Draf build",
"agentDetail.configure.chatFeatures.description": "Bentuk pengalaman chat pengguna akhir di Web app dan permukaan chat Anda.",
@ -191,6 +193,7 @@
"agentDetail.configure.skills.upload.invalidFile": "Unggah file .zip atau .skill.",
"agentDetail.configure.skills.upload.success": "Keterampilan diunggah.",
"agentDetail.configure.skills.upload.title": "Unggah keterampilan",
"agentDetail.configure.title": "Konfigurasi",
"agentDetail.configure.tools.add": "Tambahkan alat",
"agentDetail.configure.tools.addMenu.cliTool.badge": "Untuk pengembang",
"agentDetail.configure.tools.addMenu.cliTool.description": "Pasang program command line yang dijalankan agen di sandbox-nya. Memerlukan instalasi dan biasanya API Key.",

View File

@ -66,6 +66,8 @@
"agentDetail.configure.build.startBuild": "Avvia build",
"agentDetail.configure.buildDraft.changes": "{{count}} modifiche da applicare",
"agentDetail.configure.buildDraft.discard": "Scarta",
"agentDetail.configure.buildDraft.modeBadge": "Modalità build",
"agentDetail.configure.buildDraft.modeDescription": "Sei in modalità build. Modella questa configurazione tramite la chat a destra, poi applica.",
"agentDetail.configure.buildDraft.noChanges": "Nessuna modifica da applicare",
"agentDetail.configure.buildDraft.title": "Bozza di build",
"agentDetail.configure.chatFeatures.description": "Definisci lesperienza di chat per lutente finale sulla tua webapp e sulle superfici di chat.",
@ -191,6 +193,7 @@
"agentDetail.configure.skills.upload.invalidFile": "Carica un file .zip o .skill.",
"agentDetail.configure.skills.upload.success": "Abilità caricata.",
"agentDetail.configure.skills.upload.title": "Carica abilità",
"agentDetail.configure.title": "Configura",
"agentDetail.configure.tools.add": "Aggiungi strumento",
"agentDetail.configure.tools.addMenu.cliTool.badge": "Per sviluppatori",
"agentDetail.configure.tools.addMenu.cliTool.description": "Installa un programma a riga di comando che lagente esegue nel suo sandbox. Richiede installazione e di solito chiavi API.",

View File

@ -66,6 +66,8 @@
"agentDetail.configure.build.startBuild": "ビルドを開始",
"agentDetail.configure.buildDraft.changes": "適用する変更 {{count}} 件",
"agentDetail.configure.buildDraft.discard": "破棄",
"agentDetail.configure.buildDraft.modeBadge": "ビルドモード",
"agentDetail.configure.buildDraft.modeDescription": "ビルドモードです。右側のチャットでこの設定を調整してから適用してください。",
"agentDetail.configure.buildDraft.noChanges": "適用する変更はありません",
"agentDetail.configure.buildDraft.title": "ビルドドラフト",
"agentDetail.configure.chatFeatures.description": "Web app やチャット画面でのエンドユーザー向けチャット体験を設定します。",
@ -191,6 +193,7 @@
"agentDetail.configure.skills.upload.invalidFile": ".zip または .skill ファイルをアップロードしてください。",
"agentDetail.configure.skills.upload.success": "スキルをアップロードしました。",
"agentDetail.configure.skills.upload.title": "スキルをアップロード",
"agentDetail.configure.title": "設定",
"agentDetail.configure.tools.add": "ツールを追加",
"agentDetail.configure.tools.addMenu.cliTool.badge": "開発者向け",
"agentDetail.configure.tools.addMenu.cliTool.description": "エージェントがサンドボックス内で実行するコマンドラインプログラムをインストールします。インストールと通常 API Key が必要です。",

View File

@ -66,6 +66,8 @@
"agentDetail.configure.build.startBuild": "빌드 시작",
"agentDetail.configure.buildDraft.changes": "적용할 변경 사항 {{count}}개",
"agentDetail.configure.buildDraft.discard": "폐기",
"agentDetail.configure.buildDraft.modeBadge": "빌드 모드",
"agentDetail.configure.buildDraft.modeDescription": "빌드 모드입니다. 오른쪽 채팅으로 이 설정을 다듬은 뒤 적용하세요.",
"agentDetail.configure.buildDraft.noChanges": "적용할 변경 사항 없음",
"agentDetail.configure.buildDraft.title": "빌드 초안",
"agentDetail.configure.chatFeatures.description": "Web app 및 채팅 화면에서의 최종 사용자 채팅 경험을 구성합니다.",
@ -191,6 +193,7 @@
"agentDetail.configure.skills.upload.invalidFile": ".zip 또는 .skill 파일을 업로드하세요.",
"agentDetail.configure.skills.upload.success": "스킬을 업로드했습니다.",
"agentDetail.configure.skills.upload.title": "스킬 업로드",
"agentDetail.configure.title": "구성",
"agentDetail.configure.tools.add": "도구 추가",
"agentDetail.configure.tools.addMenu.cliTool.badge": "개발자용",
"agentDetail.configure.tools.addMenu.cliTool.description": "에이전트가 샌드박스에서 실행할 명령줄 프로그램을 설치합니다. 설치가 필요하며 일반적으로 API Key 가 필요합니다.",

View File

@ -66,6 +66,8 @@
"agentDetail.configure.build.startBuild": "Build starten",
"agentDetail.configure.buildDraft.changes": "{{count}} wijzigingen om toe te passen",
"agentDetail.configure.buildDraft.discard": "Negeren",
"agentDetail.configure.buildDraft.modeBadge": "Buildmodus",
"agentDetail.configure.buildDraft.modeDescription": "Je bent in buildmodus. Werk deze configuratie bij via de chat rechts en pas daarna toe.",
"agentDetail.configure.buildDraft.noChanges": "Geen wijzigingen om toe te passen",
"agentDetail.configure.buildDraft.title": "Buildconcept",
"agentDetail.configure.chatFeatures.description": "Geef vorm aan de chatervaring voor eindgebruikers in je webapp en chatoppervlakken.",
@ -191,6 +193,7 @@
"agentDetail.configure.skills.upload.invalidFile": "Upload een .zip- of .skill-bestand.",
"agentDetail.configure.skills.upload.success": "Skill geüpload.",
"agentDetail.configure.skills.upload.title": "Skill uploaden",
"agentDetail.configure.title": "Configureren",
"agentDetail.configure.tools.add": "Tool toevoegen",
"agentDetail.configure.tools.addMenu.cliTool.badge": "Voor ontwikkelaars",
"agentDetail.configure.tools.addMenu.cliTool.description": "Installeer een commandoregelprogramma dat de agent in zijn sandbox uitvoert. Vereist installatie en meestal API-keys.",

View File

@ -66,6 +66,8 @@
"agentDetail.configure.build.startBuild": "Rozpocznij budowanie",
"agentDetail.configure.buildDraft.changes": "{{count}} zmian do zastosowania",
"agentDetail.configure.buildDraft.discard": "Odrzuć",
"agentDetail.configure.buildDraft.modeBadge": "Tryb budowania",
"agentDetail.configure.buildDraft.modeDescription": "Jesteś w trybie budowania. Dostosuj tę konfigurację przez czat po prawej, a następnie zastosuj.",
"agentDetail.configure.buildDraft.noChanges": "Brak zmian do zastosowania",
"agentDetail.configure.buildDraft.title": "Szkic budowania",
"agentDetail.configure.chatFeatures.description": "Ukształtuj doświadczenie czatu użytkownika końcowego w aplikacji webowej i powierzchniach czatu.",
@ -191,6 +193,7 @@
"agentDetail.configure.skills.upload.invalidFile": "Prześlij plik .zip lub .skill.",
"agentDetail.configure.skills.upload.success": "Umiejętność przesłana.",
"agentDetail.configure.skills.upload.title": "Prześlij umiejętność",
"agentDetail.configure.title": "Konfiguruj",
"agentDetail.configure.tools.add": "Dodaj narzędzie",
"agentDetail.configure.tools.addMenu.cliTool.badge": "Dla deweloperów",
"agentDetail.configure.tools.addMenu.cliTool.description": "Zainstaluj program wiersza poleceń, który agent uruchamia w sandboxie. Wymaga instalacji i zwykle API Key.",

View File

@ -66,6 +66,8 @@
"agentDetail.configure.build.startBuild": "Iniciar build",
"agentDetail.configure.buildDraft.changes": "{{count}} alterações para aplicar",
"agentDetail.configure.buildDraft.discard": "Descartar",
"agentDetail.configure.buildDraft.modeBadge": "Modo build",
"agentDetail.configure.buildDraft.modeDescription": "Você está no modo build. Ajuste esta configuração pelo chat à direita e depois aplique.",
"agentDetail.configure.buildDraft.noChanges": "Nenhuma alteração para aplicar",
"agentDetail.configure.buildDraft.title": "Rascunho de build",
"agentDetail.configure.chatFeatures.description": "Modele a experiência de chat do usuário final no seu webapp e superfícies de chat.",
@ -191,6 +193,7 @@
"agentDetail.configure.skills.upload.invalidFile": "Envie um arquivo .zip ou .skill.",
"agentDetail.configure.skills.upload.success": "Habilidade enviada.",
"agentDetail.configure.skills.upload.title": "Enviar habilidade",
"agentDetail.configure.title": "Configurar",
"agentDetail.configure.tools.add": "Adicionar ferramenta",
"agentDetail.configure.tools.addMenu.cliTool.badge": "Para desenvolvedores",
"agentDetail.configure.tools.addMenu.cliTool.description": "Instale um programa de linha de comando que o agente executa em seu sandbox. Requer instalação e geralmente chaves de API.",

View File

@ -66,6 +66,8 @@
"agentDetail.configure.build.startBuild": "Pornește build-ul",
"agentDetail.configure.buildDraft.changes": "{{count}} modificări de aplicat",
"agentDetail.configure.buildDraft.discard": "Renunță",
"agentDetail.configure.buildDraft.modeBadge": "Mod build",
"agentDetail.configure.buildDraft.modeDescription": "Ești în modul build. Ajustează această configurare prin chatul din dreapta, apoi aplică.",
"agentDetail.configure.buildDraft.noChanges": "Nu există modificări de aplicat",
"agentDetail.configure.buildDraft.title": "Schiță de build",
"agentDetail.configure.chatFeatures.description": "Modelează experiența de chat a utilizatorului final pe webapp-ul tău și pe suprafețele de chat.",
@ -191,6 +193,7 @@
"agentDetail.configure.skills.upload.invalidFile": "Încărcați un fișier .zip sau .skill.",
"agentDetail.configure.skills.upload.success": "Abilitate încărcată.",
"agentDetail.configure.skills.upload.title": "Încarcă abilitate",
"agentDetail.configure.title": "Configurare",
"agentDetail.configure.tools.add": "Adaugă instrument",
"agentDetail.configure.tools.addMenu.cliTool.badge": "Pentru dezvoltatori",
"agentDetail.configure.tools.addMenu.cliTool.description": "Instalați un program de linie de comandă pe care agentul îl rulează în sandbox-ul său. Necesită instalare și, de obicei, chei API.",

View File

@ -66,6 +66,8 @@
"agentDetail.configure.build.startBuild": "Начать сборку",
"agentDetail.configure.buildDraft.changes": "{{count}} изменений для применения",
"agentDetail.configure.buildDraft.discard": "Отменить",
"agentDetail.configure.buildDraft.modeBadge": "Режим сборки",
"agentDetail.configure.buildDraft.modeDescription": "Вы в режиме сборки. Настройте эту конфигурацию через чат справа, затем примените изменения.",
"agentDetail.configure.buildDraft.noChanges": "Нет изменений для применения",
"agentDetail.configure.buildDraft.title": "Черновик сборки",
"agentDetail.configure.chatFeatures.description": "Настройте чат-опыт конечного пользователя в вашем веб-приложении и чат-поверхностях.",
@ -191,6 +193,7 @@
"agentDetail.configure.skills.upload.invalidFile": "Загрузите файл .zip или .skill.",
"agentDetail.configure.skills.upload.success": "Навык загружен.",
"agentDetail.configure.skills.upload.title": "Загрузить навык",
"agentDetail.configure.title": "Настроить",
"agentDetail.configure.tools.add": "Добавить инструмент",
"agentDetail.configure.tools.addMenu.cliTool.badge": "Для разработчиков",
"agentDetail.configure.tools.addMenu.cliTool.description": "Установите программу командной строки, которую агент запускает в песочнице. Требуется установка, обычно также API Key.",

View File

@ -66,6 +66,8 @@
"agentDetail.configure.build.startBuild": "Začni gradnjo",
"agentDetail.configure.buildDraft.changes": "{{count}} sprememb za uporabo",
"agentDetail.configure.buildDraft.discard": "Zavrzi",
"agentDetail.configure.buildDraft.modeBadge": "Način gradnje",
"agentDetail.configure.buildDraft.modeDescription": "Ste v načinu gradnje. Nastavitev oblikujte s klepetom na desni, nato jo uporabite.",
"agentDetail.configure.buildDraft.noChanges": "Ni sprememb za uporabo",
"agentDetail.configure.buildDraft.title": "Osnutek gradnje",
"agentDetail.configure.chatFeatures.description": "Oblikujte uporabniško izkušnjo klepeta v vaši spletni aplikaciji in klepetalnih površinah.",
@ -191,6 +193,7 @@
"agentDetail.configure.skills.upload.invalidFile": "Naložite datoteko .zip ali .skill.",
"agentDetail.configure.skills.upload.success": "Veščina naložena.",
"agentDetail.configure.skills.upload.title": "Naloži veščino",
"agentDetail.configure.title": "Konfiguriraj",
"agentDetail.configure.tools.add": "Dodaj orodje",
"agentDetail.configure.tools.addMenu.cliTool.badge": "Za razvijalce",
"agentDetail.configure.tools.addMenu.cliTool.description": "Namestite program ukazne vrstice, ki ga agent zaganja v svojem sandboxu. Potrebuje namestitev in običajno tudi API Key.",

View File

@ -66,6 +66,8 @@
"agentDetail.configure.build.startBuild": "เริ่มสร้าง",
"agentDetail.configure.buildDraft.changes": "{{count}} รายการเปลี่ยนแปลงที่ต้องใช้",
"agentDetail.configure.buildDraft.discard": "ทิ้ง",
"agentDetail.configure.buildDraft.modeBadge": "โหมด Build",
"agentDetail.configure.buildDraft.modeDescription": "คุณอยู่ในโหมด Build ปรับแต่งการตั้งค่านี้ผ่านแชททางขวา แล้วกดนำไปใช้",
"agentDetail.configure.buildDraft.noChanges": "ไม่มีการเปลี่ยนแปลงที่ต้องใช้",
"agentDetail.configure.buildDraft.title": "ฉบับร่าง Build",
"agentDetail.configure.chatFeatures.description": "กำหนดประสบการณ์การแชทของผู้ใช้ปลายทางบน Web app และหน้าจอแชท",
@ -191,6 +193,7 @@
"agentDetail.configure.skills.upload.invalidFile": "อัปโหลดไฟล์ .zip หรือ .skill",
"agentDetail.configure.skills.upload.success": "อัปโหลดทักษะแล้ว",
"agentDetail.configure.skills.upload.title": "อัปโหลดทักษะ",
"agentDetail.configure.title": "กำหนดค่า",
"agentDetail.configure.tools.add": "เพิ่มเครื่องมือ",
"agentDetail.configure.tools.addMenu.cliTool.badge": "สำหรับนักพัฒนา",
"agentDetail.configure.tools.addMenu.cliTool.description": "ติดตั้งโปรแกรมคำสั่งบรรทัดที่ตัวแทนรันในแซนด์บ็อกซ์ ต้องติดตั้งและมักต้องการ API Key",

View File

@ -66,6 +66,8 @@
"agentDetail.configure.build.startBuild": "Buildi başlat",
"agentDetail.configure.buildDraft.changes": "Uygulanacak {{count}} değişiklik",
"agentDetail.configure.buildDraft.discard": "Vazgeç",
"agentDetail.configure.buildDraft.modeBadge": "Build modu",
"agentDetail.configure.buildDraft.modeDescription": "Build modundasınız. Bu kurulumu sağdaki sohbetle şekillendirin, ardından uygulayın.",
"agentDetail.configure.buildDraft.noChanges": "Uygulanacak değişiklik yok",
"agentDetail.configure.buildDraft.title": "Build taslağı",
"agentDetail.configure.chatFeatures.description": "Web app ve sohbet yüzeylerinizde son kullanıcı sohbet deneyimini şekillendirin.",
@ -191,6 +193,7 @@
"agentDetail.configure.skills.upload.invalidFile": "Bir .zip veya .skill dosyası yükleyin.",
"agentDetail.configure.skills.upload.success": "Beceri yüklendi.",
"agentDetail.configure.skills.upload.title": "Beceri yükle",
"agentDetail.configure.title": "Yapılandır",
"agentDetail.configure.tools.add": "Araç ekle",
"agentDetail.configure.tools.addMenu.cliTool.badge": "Geliştiriciler için",
"agentDetail.configure.tools.addMenu.cliTool.description": "Ajanın sandbox'ında çalıştırdığı bir komut satırı programı yükleyin. Kurulum ve genellikle API Key gerektirir.",

View File

@ -66,6 +66,8 @@
"agentDetail.configure.build.startBuild": "Почати збірку",
"agentDetail.configure.buildDraft.changes": "{{count}} змін для застосування",
"agentDetail.configure.buildDraft.discard": "Відхилити",
"agentDetail.configure.buildDraft.modeBadge": "Режим збірки",
"agentDetail.configure.buildDraft.modeDescription": "Ви в режимі збірки. Налаштуйте цю конфігурацію через чат праворуч, а потім застосуйте.",
"agentDetail.configure.buildDraft.noChanges": "Немає змін для застосування",
"agentDetail.configure.buildDraft.title": "Чернетка збірки",
"agentDetail.configure.chatFeatures.description": "Налаштуйте чат-досвід кінцевого користувача у вашому веб-застосунку та чат-поверхнях.",
@ -191,6 +193,7 @@
"agentDetail.configure.skills.upload.invalidFile": "Завантажте файл .zip або .skill.",
"agentDetail.configure.skills.upload.success": "Навичку завантажено.",
"agentDetail.configure.skills.upload.title": "Завантажити навичку",
"agentDetail.configure.title": "Налаштувати",
"agentDetail.configure.tools.add": "Додати інструмент",
"agentDetail.configure.tools.addMenu.cliTool.badge": "Для розробників",
"agentDetail.configure.tools.addMenu.cliTool.description": "Встановіть програму командного рядка, яку агент запускає в пісочниці. Потрібне встановлення, зазвичай також API Key.",

View File

@ -66,6 +66,8 @@
"agentDetail.configure.build.startBuild": "Bắt đầu build",
"agentDetail.configure.buildDraft.changes": "{{count}} thay đổi cần áp dụng",
"agentDetail.configure.buildDraft.discard": "Hủy bỏ",
"agentDetail.configure.buildDraft.modeBadge": "Chế độ build",
"agentDetail.configure.buildDraft.modeDescription": "Bạn đang ở chế độ build. Điều chỉnh thiết lập này qua khung chat bên phải, rồi Áp dụng.",
"agentDetail.configure.buildDraft.noChanges": "Không có thay đổi cần áp dụng",
"agentDetail.configure.buildDraft.title": "Bản nháp build",
"agentDetail.configure.chatFeatures.description": "Định hình trải nghiệm trò chuyện cho người dùng cuối trên Web app và các bề mặt trò chuyện.",
@ -191,6 +193,7 @@
"agentDetail.configure.skills.upload.invalidFile": "Tải lên một tệp .zip hoặc .skill.",
"agentDetail.configure.skills.upload.success": "Đã tải lên kỹ năng.",
"agentDetail.configure.skills.upload.title": "Tải lên kỹ năng",
"agentDetail.configure.title": "Cấu hình",
"agentDetail.configure.tools.add": "Thêm công cụ",
"agentDetail.configure.tools.addMenu.cliTool.badge": "Dành cho nhà phát triển",
"agentDetail.configure.tools.addMenu.cliTool.description": "Cài đặt một chương trình dòng lệnh mà tác nhân chạy trong sandbox của nó. Cần cài đặt và thường cần API Key.",

View File

@ -66,6 +66,8 @@
"agentDetail.configure.build.startBuild": "开始构建",
"agentDetail.configure.buildDraft.changes": "{{count}} 项待应用更改",
"agentDetail.configure.buildDraft.discard": "放弃",
"agentDetail.configure.buildDraft.modeBadge": "构建模式",
"agentDetail.configure.buildDraft.modeDescription": "你正在使用构建模式。通过右侧聊天调整此配置,然后应用。",
"agentDetail.configure.buildDraft.noChanges": "没有待应用的更改",
"agentDetail.configure.buildDraft.title": "Build 草稿",
"agentDetail.configure.chatFeatures.description": "配置 Web app 和聊天界面的终端用户聊天体验。",
@ -191,6 +193,7 @@
"agentDetail.configure.skills.upload.invalidFile": "请上传 .zip 或 .skill 文件。",
"agentDetail.configure.skills.upload.success": "技能已上传。",
"agentDetail.configure.skills.upload.title": "上传技能",
"agentDetail.configure.title": "配置",
"agentDetail.configure.tools.add": "添加工具",
"agentDetail.configure.tools.addMenu.cliTool.badge": "开发者适用",
"agentDetail.configure.tools.addMenu.cliTool.description": "安装 Agent 可在沙箱中运行的命令行程序。需要安装命令,通常还需要 API Key。",

View File

@ -66,6 +66,8 @@
"agentDetail.configure.build.startBuild": "開始構建",
"agentDetail.configure.buildDraft.changes": "{{count}} 項待套用變更",
"agentDetail.configure.buildDraft.discard": "放棄",
"agentDetail.configure.buildDraft.modeBadge": "建置模式",
"agentDetail.configure.buildDraft.modeDescription": "你正在使用建置模式。透過右側聊天調整此設定,然後套用。",
"agentDetail.configure.buildDraft.noChanges": "沒有待套用的變更",
"agentDetail.configure.buildDraft.title": "Build 草稿",
"agentDetail.configure.chatFeatures.description": "配置 Web app 和聊天介面的終端使用者聊天體驗。",
@ -191,6 +193,7 @@
"agentDetail.configure.skills.upload.invalidFile": "請上傳 .zip 或 .skill 檔案。",
"agentDetail.configure.skills.upload.success": "技能已上傳。",
"agentDetail.configure.skills.upload.title": "上傳技能",
"agentDetail.configure.title": "設定",
"agentDetail.configure.tools.add": "新增工具",
"agentDetail.configure.tools.addMenu.cliTool.badge": "開發者適用",
"agentDetail.configure.tools.addMenu.cliTool.description": "安裝 Agent 可在沙箱中執行的命令列程式。需要安裝命令,通常還需要 API Key。",