/** * The v2 personality: `Plugin.define({id, setup(ctx)})` — the only personality * since 1.7.0 (v1 support was removed). * * `Plugin.define` in @opencode/plugin@2.0.16 is literally `plugin => plugin`, * so this module exports the plain object and the v2 SDK never becomes a * runtime dependency. * * Scope of this file (milestone M2): build the governed runtime on a * filesystem-backed client shim, register the tm_* tools through * `ctx.tool.transform`, and normalize the permission matrix onto the agents the * CONFIG declares. It deliberately does NOT touch: the approval gate (#94), the * session hooks / compaction / description appends (#93), or the browser * (#95). Those need this seam proven live first. * * Two host limits are stated rather than discovered later: * - creating agents: `AgentEditor` has no `add`, so the six roles must come * from the user's config (the installer writes `agents/*.md`). * - the default-agent promotion: `default(id)` has NO getter, so "only if the * user did not choose" is not expressible — the choice is between never * promoting and promoting every boot. The user's standing instruction * (2026-09-25) is that Team is ALWAYS the default, so this promotes * unconditionally; `defaultAgent: false` in the plugin options opts out. * * The official confirmation dialog is absent as well, and for a different * reason: probed on the live host, a plugin has no way to raise one. * `askFnOf` therefore finds no bridge and every governed call fails closed with * the v2-worded refusal set below. */ import type { V2Plugin } from "./v2-types.js"; /** The refusal has to name the real reason: on v2 the absence is the new * protocol, and "旧版协议" would send the model looking for an upgrade the * user already installed. It must ALSO not point at a domain gate this * personality no longer runs (the default is `"*"`), so the knob it names is * the host's own permission config, and the address red line is excluded from * "ask the user" because that one has no consent path at all. */ export declare const V2_NO_DIALOG_NOTE: string; export declare const v2Personality: V2Plugin; //# sourceMappingURL=v2.d.ts.map