You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
ASNT-119: Agent-callable plugin tools, proven by an Islandora Workbench plugin #154
Let a qrate plugin declare approved, structured tools that an agent can call, and build the Islandora Workbench plugin as the first real consumer. Only the plan exists so far (docs/dev/agent-tools-plan.md, draft PR #123). It is stacked on the qrate CLI (#153), which must merge first.
Scope
In scope: tool declarations in the plugin descriptor, permission categories, bounded invocation in the plugin host, a qrate agent route to list and call tools, Pi extension discovery, and the Islandora Workbench plugin (preflight, dry-run report, confirmed ingest).
Out of scope: a generic tool catalogue with no plugin behind it, arbitrary agent execution of plugin code, silent or agent-initiated ingest.
Task Details
Declarations. Stable name, description, input and output schema, and availability, in the plugin descriptor.
Permissions. Three categories: read-only, local mutation, external side effect.
Invocation. Registered in plugin-host and bounded in time, memory and output.
One route for every agent.qrate agent commands list and call tools through app_control, so the embedded Pi and an external agent see the same set.
Plugin API copies.types/qrate.lua in qrate-plugin-template and in the Islandora plugin, and each README.
Islandora Workbench plugin. Validate configuration and selected rows, produce a Workbench plan and a preflight report, and expose ingest only behind a visible human confirmation.
Definition of Done
An enabled plugin exposes only its declared, approved tools
Tool calls validate their input and return structured results or errors
Preflight works without ingest credentials or side effects
Ingest needs a visible human confirmation and leaves an auditable result
cargo test -p plugin-host -- --ignored passes against the template and Islandora copies
Activity