import { a as TObject, s as TString } from "../../helpers-DutyHbVD.mjs"; import { t as TUnsafe } from "../../unsafe-C_mX8nG4.mjs"; import { t as TNumber } from "../../number-BDPWg_Sz.mjs"; import { t as TOptional } from "../../optional-Bis1WTKK.mjs"; import { t as TArray } from "../../array-DYdcEI3W.mjs"; //#region extensions/crypto/src/tools/policy-manage.d.ts /** * policy_manage — LLM-facing tool for creating and managing spending policies. * * Creation flow (multi-turn with explicit confirmation): * 1. User says something like "don't spend more than $500/day on swaps" * 2. LLM calls `propose` with structured interpretation * 3. Tool saves as DRAFT and returns the exact rules for user to verify * 4. User says "yes" / adjusts → LLM calls `confirm` to activate * * The LLM MUST NOT call `confirm` without the user explicitly approving. * If the user's intent is ambiguous, the LLM should ask follow-up questions * BEFORE calling `propose`. */ declare function createPolicyManageTool(): { name: string; label: string; ownerOnly: boolean; description: string; parameters: TObject<{ action: TUnsafe<"confirm" | "list" | "enable" | "disable" | "delete" | "usage" | "propose" | "revise" | "get" | "evaluate" | "categories">; name: TOptional; description: TOptional; rules: TOptional; maxAmountUsd: TOptional; period: TOptional>; maxCalls: TOptional; periodMs: TOptional; field: TOptional>; values: TOptional>; allowedHours: TOptional>; allowedDays: TOptional>; timezone: TOptional; amountUsd: TOptional; }>>>; scope: TOptional; tools: TOptional>; categories: TOptional>; }>>; policyId: TOptional; toolName: TOptional; amountUsd: TOptional; token: TOptional; }>; execute: (_toolCallId: string, args: unknown, ctx?: any) => Promise<{ content: Array<{ type: "text"; text: string; }>; details: unknown; }>; }; //#endregion export { createPolicyManageTool }; //# sourceMappingURL=policy-manage.d.mts.map