import type { AgentRunReport, Principal, VendoToolEnvelope } from "./core/index.js"; /** * Existing-agents contract — the public tool-pack surface a BYO agent loop * gets from the umbrella's `./ai-sdk` and `./mastra` subpaths. Wave 0 freezes * the names and option shapes here (the docs, examples, and both shims build * against them); Wave 1 Lane A supplies the implementation behind them. * Frozen by this file's exported shape and its tests. */ /** Every pack tool is namespaced under this prefix to avoid collisions with * the host loop's own tools: a registered host tool `host_x` ships as * `vendo_host_x`; the built-ins below are already prefixed. The same string * `isVendoToolPart` reads on the chat surface, so it is named once in core. */ export { VENDO_TOOL_PREFIX as VENDO_TOOL_PACK_PREFIX } from "./core/index.js"; /** Generate UI. The pack's app door is Vendo's OWN make tool, under its own * name — one contract in-process and over the MCP door, never a BYO-only * alias. Returns fast with a `vendo/app-ref@1`; the build streams over the * wire, so the host loop is never blocked on generation. */ export { VENDO_MAKE_TOOL } from "./core/index.js"; /** Whole-task delegation via `agent.asRunner()`; returns `VendoDelegateResult`. */ export declare const VENDO_DELEGATE_TOOL: "vendo_delegate"; /** Pack filtering, matched against FINAL (namespaced) tool names. The static * Mastra shim accepts exactly this (its principal resolves lazily per call * from the framework's runtime context). */ export interface VendoToolPackFilter { include?: string[]; exclude?: string[]; } /** What the per-request AI SDK shim accepts: tool execution needs a * principal-scoped RunContext, so the pack is built per request. */ export interface VendoToolPackOptions extends VendoToolPackFilter { principal: Principal; /** RunContext requires a session id; pass the host session's for audit * continuity, or leave unset and the shim mints one per pack build. */ sessionId?: string; } /** `vendo_delegate`'s output is plain data (no embed): the run report's * status and summary, plus envelope refs to anything the delegated run * produced — the host renders each ref with `` if it wants. */ export interface VendoDelegateResult { status: AgentRunReport["status"]; summary: string; refs: VendoToolEnvelope[]; }