#!/usr/bin/env node
/**
 * `opensquid-mcp` — MCP server entrypoint over stdio.
 *
 * Exposes the Phase-1 read-only tool set plus G.3's write surface:
 *
 *   list_packs         — currently active packs
 *   list_skills        — skills (optionally scoped to a pack)
 *   inspect_skill      — rules + load conditions + drift policy for one skill
 *   read_state         — read a session state key (functions/state.ts companion)
 *   read_violations    — return session violations.jsonl contents
 *   list_drift_events  — aggregated drift catalog across packs + session (Task 5.4)
 *   recall             — search the configured RAG backend for memory hits (Task T.5)
 *   memorize           — persist a memory (G.3) — direct engine.memory.create
 *   store_lesson       — capture a Stage-1 wedge-gate candidate (G.3)
 *   forget             — delete a memory; user-immune by default (G.3)
 *
 * G.3 introduces the first three WRITE tools as an explicit architectural
 * exception to the T.1.H read-only invariant — see each handler's header for
 * per-tool justification. `lesson.promote` (Stage 2) is intentionally NOT
 * exposed, so the wedge-gate outcome-validation moat cannot be bypassed by
 * an external MCP client.
 *
 * Transport: stdio (StdioServerTransport). stdout is reserved for the
 * JSON-RPC stream — NO `console.log` anywhere in this binary or any module
 * it imports through this code path. Diagnostics must go to `process.stderr`
 * exclusively. The `main().catch` at the bottom writes to stderr and exits
 * non-zero so an unexpected crash is observable, not silent.
 *
 * Args are Zod-parsed BEFORE being handed to a tool handler. A bad-args
 * `CallToolRequest` throws on the protocol level (which the MCP SDK turns
 * into a JSON-RPC error response) rather than running with garbage input.
 *
 * Imports from: @modelcontextprotocol/sdk + mcp/tools/*.
 * Imported by: nothing in src/. Wired as the `opensquid-mcp` bin in
 * package.json.
 */
export {};
//# sourceMappingURL=server.d.ts.map