@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.
- package/README.md +42 -1
- 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.
|
|
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.
|
|
32
|
+
"@nacre.work/core": "0.16.0"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"@types/node": "^22.20.1",
|