import { t as JsonSchemaObject } from "./json-schema.types-B1Fc2RV8.js"; import { o as PluginManifestActivation } from "./manifest-registry-DfLhto5W.js"; import { D as KlawPluginToolContext } from "./types-core-BH2BbD0A.js"; import { r as AnyAgentTool } from "./common-BtCut1Uo.js"; import { u as KlawPluginApi } from "./types-CAmC_cW72.js"; import { t as definePluginEntry } from "./plugin-entry-DCFhZDHK.js"; import { Static, TSchema } from "typebox"; import { AgentToolUpdateCallback } from "@earendil-works/pi-agent-core"; //#region src/plugin-sdk/tool-plugin.d.ts declare const toolPluginMetadataSymbol: unique symbol; type ToolPluginExecutionContext = { api: KlawPluginApi; signal?: AbortSignal; toolCallId: string; onUpdate?: AgentToolUpdateCallback; }; type ToolPluginConfig = TConfigSchema extends TSchema ? Static : Record; type ToolPluginToolFactory = (definition: ToolPluginToolDefinition) => DefinedToolPluginTool; type ToolPluginFactoryContext = { api: KlawPluginApi; config: TConfig; toolContext: KlawPluginToolContext; }; type ToolPluginToolDefinitionBase = { name: string; label?: string; description: string; parameters: TParamsSchema; optional?: boolean; }; type ToolPluginToolDefinition = ToolPluginToolDefinitionBase & ({ execute: (params: Static, config: TConfig, context: ToolPluginExecutionContext) => unknown; factory?: never; } | { factory: (context: ToolPluginFactoryContext) => AnyAgentTool | AnyAgentTool[] | null | undefined; execute?: never; }); type DefinedToolPluginTool = { name: string; label: string; description: string; parameters: TSchema; optional: boolean; execute?: (params: unknown, config: unknown, context: ToolPluginExecutionContext) => unknown; factory?: (context: ToolPluginFactoryContext) => AnyAgentTool | AnyAgentTool[] | null | undefined; }; type ToolPluginStaticToolMetadata = { name: string; label: string; description: string; parameters: JsonSchemaObject; optional?: boolean; }; type ToolPluginMetadata = { id: string; name: string; description: string; activation: PluginManifestActivation; configSchema: JsonSchemaObject; tools: ToolPluginStaticToolMetadata[]; }; type DefineToolPluginOptions = { id: string; name: string; description: string; activation?: PluginManifestActivation; configSchema?: TConfigSchema; tools: (tool: ToolPluginToolFactory>) => readonly DefinedToolPluginTool[]; }; type DefinedToolPluginEntry = ReturnType & { [toolPluginMetadataSymbol]: ToolPluginMetadata; }; declare function defineToolPlugin(definition: DefineToolPluginOptions): DefinedToolPluginEntry; declare function getToolPluginMetadata(entry: unknown): ToolPluginMetadata | undefined; //#endregion export { ToolPluginMetadata as a, defineToolPlugin as c, ToolPluginFactoryContext as i, getToolPluginMetadata as l, DefinedToolPluginEntry as n, ToolPluginStaticToolMetadata as o, ToolPluginExecutionContext as r, ToolPluginToolDefinition as s, DefineToolPluginOptions as t, toolPluginMetadataSymbol as u };