/** * @name tools/tool-execution-metadata * @description Shared execution metadata for MCP tool policy, routing, pricing, and guidance. * * The MCP adapter, wizard, plugin tooling, and release checks should use this * module instead of re-implementing tool intent, pricing, and signer-boundary * rules in separate places. * * @module tools/tool-execution-metadata */ import type { SapPermission } from '../../core/src/types.js'; import { type PaymentTier } from '../../payments/src/pricing.js'; import type { ToolModuleDefinition } from './tool-module-manifest.js'; export type ToolExecutionIntent = 'local-payment-bridge' | 'agent-bootstrap' | 'unsigned-transaction-builder' | 'value-action' | 'local-signer-write' | 'read-discovery' | 'sap-mcp-workflow'; export interface ToolExecutionGuidance { readonly descriptionSuffix: string; readonly schemaDescription: string; } export interface ToolExecutionMetadata { readonly toolName: string; readonly paymentTier: PaymentTier; readonly intent: ToolExecutionIntent; readonly intentDescription: string; readonly requiredPermission?: SapPermission; readonly writeOperation: boolean; readonly hostedAccountlessBlocked: boolean; readonly localSignerEquivalent?: string; readonly routing: string; readonly signerBoundary: string; readonly guidance: ToolExecutionGuidance; } export interface ToolModulePolicyCatalogEntry { readonly moduleId: string; readonly moduleTitle: string; readonly moduleCategory: ToolModuleDefinition['category']; readonly toolName: string; readonly metadata: ToolExecutionMetadata; } export declare function priceHintForTier(tier: PaymentTier): string; export declare function localSignerEquivalent(toolName: string): string | undefined; export declare function classifyToolIntent(toolName: string): ToolExecutionIntent; export declare function describeToolIntent(intent: ToolExecutionIntent): string; export declare function getToolExecutionMetadata(toolName: string, title?: string): ToolExecutionMetadata; export declare function buildToolModulePolicyCatalog(modules: readonly ToolModuleDefinition[]): readonly ToolModulePolicyCatalogEntry[]; //# sourceMappingURL=tool-execution-metadata.d.ts.map