/** * device-phone-tool.ts, the native `phone` tool. * * Uses a paired phone's camera, screen, location, clipboard, and device commands * as agent capabilities. A first-class tool on the agent contract, not an MCP * server, per the standing design constraint. * * It lives here rather than in one product because it is the only path that * reaches `DeviceCapabilityService.request`, and therefore the only place the * `device.*` posture keys can be observed at all. Written once in a single * consumer it made those keys dark everywhere else; written here, every host * that composes a device posture runtime (device-posture-runtime.ts) offers the * same tool with the same schema, the same refusal wording, and the same * retention disclosure. * * The tool holds no authority and caches no decision: it shapes arguments, calls * the service, and renders the outcome. The confirmation gate, the durable-grant * lookup, the capture retention, and the housekeeping disclosure all belong to * the service. */ import type { Tool } from '../types/tools.js'; import type { DevicePostureRuntime } from './device-posture-runtime.js'; /** The registry members this registration needs; a real ToolRegistry satisfies it. */ export interface DevicePhoneToolRegistry { has(name: string): boolean; register(tool: Tool): void; } export declare function createDevicePhoneTool(service: DevicePostureRuntime): Tool; /** Register the tool, leaving an existing `phone` registration alone. */ export declare function registerDevicePhoneTool(registry: DevicePhoneToolRegistry, service: DevicePostureRuntime): void; //# sourceMappingURL=device-phone-tool.d.ts.map