class
Memo::ArcanaService
- Memo::ArcanaService
- Reference
- Object
Overview
Arcana bus service wrapper. Routes requests to per-namespace Memo::Service instances for multi-project isolation.
Defined in:
arcana/service.crConstant Summary
-
GUIDE =
"Memo semantic search service — multi-namespace router.\n\nEach `ns` (namespace) has its own isolated embedding space: separate\ndatabase, USearch index, and embedding service.\n\nManagement actions:\n open — Register and open a namespace. Params: ns, db, [service, format, api_key, model, index_dir]\n close — Close a namespace. Params: ns\n list — List registered namespaces.\n\nData actions (all require `ns`):\n index — Index a document. Params: ns, source_type, source_id, text\n index_batch — Index multiple documents. Params: ns, documents (array of {source_type, source_id, text})\n search — Semantic search. Params: ns, query, limit (default 10), min_score (default 0.7), source_type\n delete — Delete a document. Params: ns, source_id, source_type\n stats — Get index statistics. Params: ns\n\nExamples:\n {\"action\": \"open\", \"ns\": \"wow\", \"db\": \"postgres://wow:wow@localhost/wow_dev\", \"service\": \"openai\"}\n {\"action\": \"index\", \"ns\": \"wow\", \"source_type\": \"claim\", \"source_id\": \"42\", \"text\": \"...\"}\n {\"action\": \"search\", \"ns\": \"wow\", \"query\": \"bitcoin\", \"limit\": 5}\n {\"action\": \"stats\", \"ns\": \"wow\"}" -
SCHEMA =
JSON.parse("{\"type\":\"object\",\"required\":[\"action\"],\"properties\":{\"action\":{\"type\":\"string\",\"enum\":[\"open\",\"close\",\"list\",\"index\",\"index_batch\",\"search\",\"delete\",\"stats\",\"help\"]},\"ns\":{\"type\":\"string\"},\"db\":{\"type\":\"string\"},\"service\":{\"type\":\"string\"},\"source_type\":{\"type\":\"string\"},\"source_id\":{\"type\":\"string\"},\"text\":{\"type\":\"string\"},\"documents\":{\"type\":\"array\"},\"query\":{\"type\":\"string\"},\"limit\":{\"type\":\"integer\"},\"min_score\":{\"type\":\"number\"}}}")