/** * Plugin SDK — the public API surface for writing moodle-mcp-server plugins. * * Plugin authors import from this module instead of reaching into server * internals. This keeps the AGPL boundary clean: the server publishes a * stable interface, plugins consume it. * * Usage: * import { buildToolResponse, extractSilo, hasCapability } from "moodle-mcp-server-aql/sdk"; * * Re-exports: * - Response builders (buildToolResponse, buildToolErrorResponse) * - Silo helpers (extractSilo, filterUsersBySilo, matchesSilo, stripSilo) * - Capability checking (hasCapability) * - Error class (MoodleAPIError) * - Zod schema builder (`z`) for plugin input schemas * - Types (MoodleClient, MoodleCapabilities, PluginContext, MCPServerPlugin, etc.) * - Cache access via PluginContext.cache (added in this version) */ export { z } from "zod"; export { buildToolResponse, buildToolErrorResponse, } from "../tools/response-types.js"; export type { ToolColumn, ToolPagination, ToolPresentation, ToolDataBlock, ToolEntityAction, ToolEntityRef, ToolEntity, ToolContextBlock, ToolResolutionBlock, ToolInteractionAction, ToolRowInteractionsBlock, ToolActionInteractionsBlock, ToolInteractionsBlock, ToolMetaBlock, ToolErrorBlock, ToolResponse, } from "../tools/response-types.js"; export { extractSilo, stripSilo, matchesSilo, filterUsersBySilo, } from "../tools/silo.js"; export type { SiloConstraint } from "../tools/silo.js"; export { hasCapability } from "../moodle/capabilities.js"; export type { MoodleCapabilities } from "../moodle/capabilities.js"; export { MoodleClient, MoodleAPIError } from "../moodle/client.js"; export type { MoodleAPICall, MoodleError } from "../moodle/client.js"; export { PluginManifestSchema } from "./contracts.js"; export type { PluginManifest, PluginContext, PluginContextCache, ToolModule, MCPServerPlugin, LoadedPlugin, AgentRegistration, AgentIntentRoute, AgentToolRewrite, AgentContinuationAction, AgentCapture, AgentArgCapture, AgentFilterCapture, AgentCaptureTransform, } from "./contracts.js"; export type { Course, Category } from "../tools/cache.js"; export { loadSchema, getDisplayFields, getDisplayFieldDefs, type UserFieldSchema, type UserFieldDef, type DisplayFieldDef, } from "../schema/user-fields.js"; export { searchCoursesByName } from "../tools/search-courses-by-name.js"; export { getCourses, getCategories } from "../tools/cache.js"; //# sourceMappingURL=sdk.d.ts.map