diff --git a/src/api/agents.ts b/src/api/agents.ts index c752f29..b47165e 100644 --- a/src/api/agents.ts +++ b/src/api/agents.ts @@ -37,6 +37,11 @@ export interface ExternalToolApiRouting { summary: string; useWhen: string[]; doNotUseWhen?: string[]; + domains?: string[]; + intents?: string[]; + requiredSlots?: string[]; + optionalSlots?: string[]; + examples?: string[]; } export interface ExternalToolApi { diff --git a/src/components/ExternalToolEditor.tsx b/src/components/ExternalToolEditor.tsx index 5f84086..51e06fa 100644 --- a/src/components/ExternalToolEditor.tsx +++ b/src/components/ExternalToolEditor.tsx @@ -36,6 +36,11 @@ const EMPTY_API: ToolApiFormValue = { summary: '', useWhen: [''], doNotUseWhen: [], + domains: [], + intents: [], + requiredSlots: [], + optionalSlots: [], + examples: [], }, }; @@ -132,6 +137,11 @@ function normalizeRouting(value: ToolApiRoutingFormValue | undefined, apiName: s summary: value.summary?.trim() || '', useWhen, doNotUseWhen: normalizeStringList(value.doNotUseWhen), + domains: normalizeStringList(value.domains), + intents: normalizeStringList(value.intents), + requiredSlots: normalizeStringList(value.requiredSlots), + optionalSlots: normalizeStringList(value.optionalSlots), + examples: normalizeStringList(value.examples), }; } @@ -249,6 +259,11 @@ export default function ExternalToolEditor({ open, agentId, plugin, onClose, onS summary: item.routing?.summary || '', useWhen: item.routing?.useWhen?.length ? item.routing.useWhen : [''], doNotUseWhen: item.routing?.doNotUseWhen || [], + domains: item.routing?.domains || [], + intents: item.routing?.intents || [], + requiredSlots: item.routing?.requiredSlots || [], + optionalSlots: item.routing?.optionalSlots || [], + examples: item.routing?.examples || [], }, })), } @@ -469,6 +484,52 @@ export default function ExternalToolEditor({ open, agentId, plugin, onClose, onS )} + +
{JSON.stringify(api.parametersSchema || {}, null, 2)}