Kaynağa Gözat

docs: clarify API is general-purpose / client-agnostic (n8n is primary, not only)

Fszontagh 2 ay önce
ebeveyn
işleme
94ae50ecac

+ 10 - 2
docs/superpowers/specs/2026-05-31-smartbotic-vectorapi-design.md

@@ -7,12 +7,20 @@
 
 ## 1. Purpose
 
-A C++20 REST API service that fronts `smartbotic-database` (a gRPC document +
-vector store) for **n8n workflows**. It stores:
+A C++20 **general-purpose, client-agnostic** REST API service that fronts
+`smartbotic-database` (a gRPC document + vector store). Any HTTP client can use
+it; **n8n workflows are the primary and most-used consumer**, but the API,
+`openapi.json`, and `llms.txt` are designed for arbitrary clients (agentic tools,
+custom services, scripts) — nothing in the surface is n8n-specific. It stores:
 
 - **Vectors for RAG** — embeddings + payload, with cosine similarity search.
 - **JSON for everything else** — arbitrary documents with full CRUD.
 
+Design implications of being client-agnostic: standard REST semantics and HTTP
+status codes (no client-specific envelopes), a discoverable/self-describing
+surface (`/openapi.json`, `/llms.txt`), and configurable CORS so browser-based
+and cross-origin clients work alongside server-side callers like n8n.
+
 It adds bearer authentication (a single key is sufficient) and a small React
 admin web UI (login, DB stats, full CRUD on JSON content, RAG search tester,
 settings editor). It produces the `smartbotic-vectorapi` binary and Debian 13