@nacre.work/api 0.15.0 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +42 -1
  2. package/package.json +2 -2
package/README.md CHANGED
@@ -1,3 +1,44 @@
1
1
  # @nacre.work/api
2
2
 
3
- REST API and authorization service
3
+ The REST API and authorization service of [Nacre](https://nacre.work) — a
4
+ self-hosted knowledge index where search returns exactly what the caller is
5
+ permitted to see.
6
+
7
+ **You probably want the container, not this package.** A running installation is
8
+ the API, the MCP server, a worker, a parser sidecar, Postgres, Qdrant and Redis;
9
+ `docker compose --profile minimal up` brings all of it up from a clean clone.
10
+ This package is on the registry because the MCP server depends on it and because
11
+ an installation that assembles its own processes has to be able to install it.
12
+
13
+ - Building an application? [`@nacre.work/sdk`](https://www.npmjs.com/package/@nacre.work/sdk).
14
+ - Working from a terminal? [`@nacre.work/cli`](https://www.npmjs.com/package/@nacre.work/cli).
15
+ - Connecting an agent? [`@nacre.work/mcp`](https://www.npmjs.com/package/@nacre.work/mcp).
16
+
17
+ ## What it serves
18
+
19
+ Documents and ingest (JSON, a URL, or `multipart/form-data` including PDF),
20
+ hybrid search with metadata filters, layers and workspaces, grants, users,
21
+ groups and service accounts, OAuth consent and connection ceilings, embedding
22
+ providers and layer reindexing gated on recall, the access log as JSON, JSONL or
23
+ CSV, and `/health`, `/ready` and `/metrics`.
24
+
25
+ The contract is normative and comes first:
26
+ [`docs/openapi.yaml`](https://github.com/nacre-work/nacre/blob/main/docs/openapi.yaml).
27
+
28
+ ## Two behaviours to know before writing a client against it
29
+
30
+ **`404`, never `403`, for anything invisible** — same status and same wording
31
+ for "no such object" and "not yours", so nobody can map an installation by
32
+ probing it.
33
+
34
+ **`write` does not imply `read`.** `admin` implies both.
35
+
36
+ ## Also here
37
+
38
+ `/ready` refuses while the database schema is behind the image, which is what
39
+ keeps a rolling upgrade from replacing working pods with pods that answer every
40
+ request with an error. It stays ready when the schema is *ahead*, which is the
41
+ normal middle of that same upgrade.
42
+
43
+ Apache 2.0. Configuration, the permission model and the operator documentation:
44
+ [github.com/nacre-work/nacre](https://github.com/nacre-work/nacre/tree/main/docs).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nacre.work/api",
3
- "version": "0.15.0",
3
+ "version": "0.16.0",
4
4
  "description": "Nacre REST API and authorization service",
5
5
  "repository": {
6
6
  "type": "git",
@@ -29,7 +29,7 @@
29
29
  "dependencies": {
30
30
  "jose": "^6.2.7",
31
31
  "pg": "^8.22.0",
32
- "@nacre.work/core": "0.15.0"
32
+ "@nacre.work/core": "0.16.0"
33
33
  },
34
34
  "devDependencies": {
35
35
  "@types/node": "^22.20.1",