""" app/routers/tools.py — Tool-Definitionen für Ollama/n8n/MCP (read-only) Version: 0.1.0 • Stand: 2025-10-07 """ from __future__ import annotations from fastapi import APIRouter router = APIRouter() TOOLS = { "tools": [ {"type":"function","function":{ "name":"mindnet_query", "description":"Hybrid-Retrieval (semantik + edges).", "parameters":{"type":"object","properties":{ "top_k":{"type":"integer","default":10,"minimum":1,"maximum":50}, "expand_depth":{"type":"integer","default":1,"minimum":0,"maximum":3}, "edge_types":{"type":"array","items":{"type":"string"}, "default":["references","belongs_to","prev","next"]}, "query_vector":{"type":"array","items":{"type":"number"}, "description":"384-dim Query-Vektor"}, "filters":{"type":"object"} },"required":["query_vector"]}}}, {"type":"function","function":{ "name":"mindnet_subgraph", "description":"Nachbarschaft (Edges) einer Note/ID.", "parameters":{"type":"object","properties":{ "note_id":{"type":"string"}, "depth":{"type":"integer","default":1,"minimum":0,"maximum":3}, "edge_types":{"type":"array","items":{"type":"string"}, "default":["references","belongs_to","prev","next","backlink"]} },"required":["note_id"]}}} ] } @router.get("/ollama") def get_ollama_tools(): return TOOLS