@cerefox/memory 1.19.1 → 1.19.2

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.
@@ -15,7 +15,7 @@
15
15
  href="https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700&display=swap"
16
16
  />
17
17
  <title>Cerefox</title>
18
- <script type="module" crossorigin src="/app/assets/index-HNs8rgY1.js"></script>
18
+ <script type="module" crossorigin src="/app/assets/index-CQcG9JWM.js"></script>
19
19
  <link rel="stylesheet" crossorigin href="/app/assets/index-01k5C3sG.css">
20
20
  </head>
21
21
  <body>
@@ -18,7 +18,7 @@
18
18
  * doesn't touch `supabase/functions/` leaves it alone).
19
19
  */
20
20
 
21
- export const EF_VERSION = "1.19.1";
21
+ export const EF_VERSION = "1.19.2";
22
22
 
23
23
  /**
24
24
  * The Cerefox RELEASE version — what `cerefox --version` reports and what npm
@@ -36,7 +36,7 @@ export const EF_VERSION = "1.19.1";
36
36
  * is imported by the Deno Edge Functions, which cannot reach into the npm
37
37
  * package.
38
38
  */
39
- export const CEREFOX_VERSION = "1.19.1";
39
+ export const CEREFOX_VERSION = "1.19.2";
40
40
 
41
41
  /**
42
42
  * The most recent version whose EF-side SOURCE actually changed (#127).
@@ -233,6 +233,20 @@ so you can re-read without a second round trip. Sending no hash (and no
233
233
  (a file you are syncing, say) makes a conflict meaningless; there is no implicit
234
234
  default. Creating a new document needs no hash.
235
235
 
236
+ **Metadata has its own token** (v1.19.0). `GET /documents/{id}` also returns
237
+ `metadata_revision`, which goes up by one whenever the metadata changes.
238
+
239
+ - `POST /documents/{id}/edit` **replaces** the whole metadata object, so send
240
+ `expected_metadata_revision` with `metadata`. A stale one is a `409` with
241
+ `error: "metadata_conflict"`: re-read, reapply your change and retry. Sending
242
+ none is accepted for now as last-write-wins, with a `warnings` entry in the
243
+ response and `[last-write-wins]` in the audit log; a future release will
244
+ require it, announced in advance.
245
+ - A content update through `POST /ingest` **merges** `metadata`: keys you send
246
+ are set, keys you leave out are kept, and a key sent as `null` is removed.
247
+ `metadata: {}` changes nothing. `expected_metadata_revision` is optional
248
+ there.
249
+
236
250
  **Check the status code, not just the body.** Every refusal is a real HTTP
237
251
  status: `400` for a malformed or incomplete request (including a body field the
238
252
  route does not know, which is refused rather than ignored), `404` for a missing
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cerefox/memory",
3
- "version": "1.19.1",
3
+ "version": "1.19.2",
4
4
  "description": "Cerefox \u2014 user-owned shared memory for AI agents. CLI + stdio MCP server + web UI + ingestion for a knowledge base on your own Supabase project (or fully self-hosted with Cerefox Local).",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://github.com/fstamatelopoulos/cerefox",