#!/usr/bin/env node
/**
 * Graph MCP shim — adopts upstream `mcp-neo4j-cypher` per brand.
 *
 * Claude Code spawns this file as the `graph` MCP server; it
 * starts the upstream Python server under `uvx` and proxies the JSON-RPC
 * stdio stream byte-for-byte. While proxying, it:
 *   1. Resolves `NEO4J_URI/USERNAME/PASSWORD` from the brand's own env
 *      (falls back to `${PLATFORM_ROOT}/config/.neo4j-password`, matching
 *      plugins/memory/mcp/src/lib/neo4j.ts:10-21).
 *   2. Installs the Maxy stderr tee so upstream stderr lands in the
 *      per-conversation stream log alongside every other plugin.
 *   3. Locks the upstream server into read-only mode (`NEO4J_READ_ONLY=true`)
 *      and a stable Maxy namespace (`NEO4J_NAMESPACE=maxy-graph`).
 *   4. Parses JSON-RPC lines on the request path to record the cypher and
 *      start time per `id`, and on the response path to emit one
 *      `[graph-query] op=... brand=... port=... cypher="..." rows=... ms=...`
 *      line per tool call. Forwarding is byte-accurate — the parser
 *      observes, never mutates.
 *
 * Isolation model per MAXY-PRD.md:627 and create-maxy src/index.ts:504-824:
 * each brand already owns its own Neo4j instance on its own port with its
 * own password. This shim trusts that — no query-layer tenant filtering.
 */
export {};
//# sourceMappingURL=index.d.ts.map