import { Fr as AgentToolUpdateCallback } from "./proxy-abAExyXW.js"; import { t as JsonSchemaObject } from "./json-schema.types-fpZiub1R.js"; import { a as PluginManifestActivation } from "./manifest-registry-uVtImuYA.js"; import { C as OpenClawPluginApi, Mo as OpenClawPluginToolContext } from "./types-VTSyQW4p.js"; import { r as AnyAgentTool } from "./common-BdhtzyVj.js"; import { t as definePluginEntry } from "./plugin-entry-Cu80yhHv.js"; import { Static, TSchema } from "typebox"; //#region src/plugin-sdk/tool-plugin.d.ts declare const toolPluginMetadataSymbol: unique symbol; type ToolPluginExecutionContext = { api: OpenClawPluginApi; signal?: AbortSignal; toolCallId: string; onUpdate?: AgentToolUpdateCallback; }; type ToolPluginConfig = TConfigSchema extends TSchema ? Static : Record; type ToolPluginToolFactory = (definition: ToolPluginToolDefinition) => DefinedToolPluginTool; type ToolPluginFactoryContext = { api: OpenClawPluginApi; config: TConfig; toolContext: OpenClawPluginToolContext; }; 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 { DefineToolPluginOptions, DefinedToolPluginEntry, ToolPluginExecutionContext, ToolPluginFactoryContext, ToolPluginMetadata, ToolPluginStaticToolMetadata, ToolPluginToolDefinition, defineToolPlugin, getToolPluginMetadata, toolPluginMetadataSymbol };