@cerefox/memory 1.16.0 → 1.16.1
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/dist/bin/cerefox.js
CHANGED
|
@@ -5318,7 +5318,7 @@ var init_cli_core = __esm(() => {
|
|
|
5318
5318
|
});
|
|
5319
5319
|
|
|
5320
5320
|
// src/meta.ts
|
|
5321
|
-
var PKG_VERSION = "1.16.
|
|
5321
|
+
var PKG_VERSION = "1.16.1";
|
|
5322
5322
|
var init_meta = () => {};
|
|
5323
5323
|
|
|
5324
5324
|
// ../../_shared/config/paths.ts
|
|
@@ -26248,7 +26248,7 @@ var init_bundled_docs = __esm(() => {
|
|
|
26248
26248
|
});
|
|
26249
26249
|
|
|
26250
26250
|
// ../../_shared/ef-meta/index.ts
|
|
26251
|
-
var EF_VERSION = "1.16.
|
|
26251
|
+
var EF_VERSION = "1.16.1", CEREFOX_VERSION = "1.16.1", EF_LAST_CHANGED = "1.16.1";
|
|
26252
26252
|
var init_ef_meta = () => {};
|
|
26253
26253
|
|
|
26254
26254
|
// ../../_shared/compatibility/index.ts
|
|
@@ -26529,7 +26529,7 @@ async function ensurePipeline() {
|
|
|
26529
26529
|
} else if (info.status === "done") {
|
|
26530
26530
|
const prior = progressState.get(file);
|
|
26531
26531
|
finalizeLine();
|
|
26532
|
-
const finalSize = prior && prior.loaded > 0 ? `${fmtMb(prior.loaded)} MB` : info.total && info.total > 0 ? `${fmtMb(info.total)} MB` : "
|
|
26532
|
+
const finalSize = prior && prior.loaded > 0 ? `${fmtMb(prior.loaded)} MB` : info.total && info.total > 0 ? `${fmtMb(info.total)} MB` : "size not reported";
|
|
26533
26533
|
process.stderr.write(`[cerefox-embed] ✓ ${file} (${finalSize})
|
|
26534
26534
|
`);
|
|
26535
26535
|
if (prior)
|
|
@@ -67872,13 +67872,9 @@ Proceed with deployment to Supabase?`, true);
|
|
|
67872
67872
|
for (const ef of efNames) {
|
|
67873
67873
|
info(` deploying ${ef}…`);
|
|
67874
67874
|
const workdir = assets.functionsDir.replace(/\/functions$/, "").replace(/\/supabase$/, "");
|
|
67875
|
-
const args =
|
|
67876
|
-
if (
|
|
67877
|
-
args.push("--project-ref", projectRef);
|
|
67878
|
-
if (NO_VERIFY_JWT_EFS.has(ef)) {
|
|
67879
|
-
args.push("--no-verify-jwt");
|
|
67875
|
+
const args = efDeployArgs(ef, workdir, projectRef);
|
|
67876
|
+
if (NO_VERIFY_JWT_EFS.has(ef))
|
|
67880
67877
|
info(` (${ef}: --no-verify-jwt — in-function auth)`);
|
|
67881
|
-
}
|
|
67882
67878
|
const r = spawnSync2("npx", args, {
|
|
67883
67879
|
encoding: "utf8",
|
|
67884
67880
|
stdio: ["inherit", "pipe", "pipe"],
|
|
@@ -67942,6 +67938,14 @@ ${r.stderr ?? ""}`);
|
|
|
67942
67938
|
println(c.dim("Verify with: cerefox doctor"));
|
|
67943
67939
|
println(c.dim("Refresh the bundled guides: cerefox guides ingest"));
|
|
67944
67940
|
}
|
|
67941
|
+
function efDeployArgs(ef, workdir, projectRef) {
|
|
67942
|
+
const args = ["--yes", "supabase", "functions", "deploy", ef, "--use-api", "--workdir", workdir];
|
|
67943
|
+
if (projectRef)
|
|
67944
|
+
args.push("--project-ref", projectRef);
|
|
67945
|
+
if (NO_VERIFY_JWT_EFS.has(ef))
|
|
67946
|
+
args.push("--no-verify-jwt");
|
|
67947
|
+
return args;
|
|
67948
|
+
}
|
|
67945
67949
|
function upstreamRegistryRace(output) {
|
|
67946
67950
|
return /Failed to bundle the function/i.test(output) && /Could not find npm package/i.test(output);
|
|
67947
67951
|
}
|
|
@@ -81680,7 +81684,7 @@ async function buildWebServer(options = {}) {
|
|
|
81680
81684
|
`);
|
|
81681
81685
|
}
|
|
81682
81686
|
const app = buildApp();
|
|
81683
|
-
const server = serve({ fetch: app.fetch, hostname: host, port });
|
|
81687
|
+
const server = serve({ fetch: app.fetch, hostname: host, port, overrideGlobalObjects: false });
|
|
81684
81688
|
return {
|
|
81685
81689
|
host,
|
|
81686
81690
|
port,
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* doesn't touch `supabase/functions/` leaves it alone).
|
|
19
19
|
*/
|
|
20
20
|
|
|
21
|
-
export const EF_VERSION = "1.16.
|
|
21
|
+
export const EF_VERSION = "1.16.1";
|
|
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.16.0";
|
|
|
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.16.
|
|
39
|
+
export const CEREFOX_VERSION = "1.16.1";
|
|
40
40
|
|
|
41
41
|
/**
|
|
42
42
|
* The most recent version whose EF-side SOURCE actually changed (#127).
|
|
@@ -46,7 +46,7 @@ export const CEREFOX_VERSION = "1.16.0";
|
|
|
46
46
|
* `cut_release.ts` ONLY when EF source changed since the last tag; doctor
|
|
47
47
|
* uses it to stay silent on label-only drift.
|
|
48
48
|
*/
|
|
49
|
-
export const EF_LAST_CHANGED = "1.16.
|
|
49
|
+
export const EF_LAST_CHANGED = "1.16.1";
|
|
50
50
|
|
|
51
51
|
/**
|
|
52
52
|
* The 8 peer EFs the cerefox-mcp aggregator probes (excludes cerefox-mcp
|
|
@@ -217,7 +217,7 @@ async function ensurePipeline(): Promise<FeaturePipeline> {
|
|
|
217
217
|
? `${fmtMb(prior.loaded)} MB`
|
|
218
218
|
: info.total && info.total > 0
|
|
219
219
|
? `${fmtMb(info.total)} MB`
|
|
220
|
-
: "
|
|
220
|
+
: "size not reported";
|
|
221
221
|
process.stderr.write(`[cerefox-embed] ✓ ${file} (${finalSize})\n`);
|
|
222
222
|
if (prior) progressState.set(file, { ...prior, done: true });
|
|
223
223
|
}
|
|
@@ -258,7 +258,12 @@ before "completing" the parity table by adding purge to agent-facing access path
|
|
|
258
258
|
> that in #210 (2026-08-13): every delete and restore is audited with author
|
|
259
259
|
> attribution, restore cannot destroy content, and the CLI had `document restore`
|
|
260
260
|
> all along — the boundary the docs described had already outgrown the code. The
|
|
261
|
-
> guarded property is now exactly one thing: **no
|
|
261
|
+
> guarded property is now exactly one thing: **no MCP, Edge Function or CLI path to
|
|
262
|
+
> permanent purge.** Stated precisely: the web UI's own backend, `/api/v1`, has a
|
|
263
|
+
> per-document purge endpoint, and any client that can reach the web server (on
|
|
264
|
+
> loopback, or elsewhere with the API key) can call it, an agent harness built on the
|
|
265
|
+
> HTTP API included. Securing that port is what keeps it human-only; see
|
|
266
|
+
> `securing-local-access.md`.
|
|
262
267
|
|
|
263
268
|
### The three tiers
|
|
264
269
|
|
|
@@ -266,7 +271,7 @@ before "completing" the parity table by adding purge to agent-facing access path
|
|
|
266
271
|
|---|---|---|---|
|
|
267
272
|
| 1. Reads + soft mutations | search, get, list-*, ingest (create/update), metadata-search, get-audit-log | n/a (reads) / yes (versioned) | All paths — MCP, Edge Functions, CLI, web UI |
|
|
268
273
|
| 2. Soft-destructive + recovery | `delete_document` (soft delete to trash), `restore_document` (un-trash), `set_review_status` (web only; a `404` while `review_workflow_enabled` is off) | yes — delete is restorable; restore recovers | CLI (`cerefox document delete` / `restore`), web UI, and — since v1.7.0 (#208, #210) — MCP (`cerefox_delete_document`, which requires the caller's read-hash, and `cerefox_restore_document`). **Not** the primitive GPT-Actions Edge Functions (deliberately deferred). |
|
|
269
|
-
| 3. **Hard-destructive** | `purge_document` (permanent), `set_version_archived` (toggle version retention) | no (purge) | **Web UI
|
|
274
|
+
| 3. **Hard-destructive** | `purge_document` (permanent), `set_version_archived` (toggle version retention) | no (purge) | **Web UI**, through its backend `/api/v1`, which any client that can reach the web server can also call. Never MCP, the Edge Functions or the CLI. |
|
|
270
275
|
|
|
271
276
|
### Why purge is web-UI-only
|
|
272
277
|
|
|
@@ -304,9 +309,10 @@ agent's action can *trigger* a purge. It stays within the model because:
|
|
|
304
309
|
window of step 2, decided in advance instead of per document;
|
|
305
310
|
- the sweep purges only documents **older than that period**, never the one being
|
|
306
311
|
deleted and never anything an agent selects;
|
|
307
|
-
-
|
|
308
|
-
|
|
309
|
-
|
|
312
|
+
- it adds **no new way to purge**: the sweep function is not exposed over MCP or the
|
|
313
|
+
Edge Functions, has no CLI verb, and, like every RPC, is callable over the Data API
|
|
314
|
+
only with the service-role key. Explicit purge stays where it was: the web UI, and
|
|
315
|
+
`/api/v1`'s per-document endpoint for any client that can reach the web server.
|
|
310
316
|
|
|
311
317
|
With the setting off (the default), nothing here changes. Design:
|
|
312
318
|
[`docs/specs/trash-auto-purge.md`](../specs/trash-auto-purge.md).
|
|
@@ -149,7 +149,7 @@ cerefox-local upgrade # newest stable release + recreate (keeps data + OP
|
|
|
149
149
|
cerefox-local upgrade v1.2.3 # pin an exact version (also how you downgrade)
|
|
150
150
|
cerefox-local upgrade --latest # follow the moving :latest tag from now on
|
|
151
151
|
cerefox-local uninstall # remove the container, KEEP the data volume
|
|
152
|
-
cerefox-local uninstall --purge # remove the container AND delete the data volume
|
|
152
|
+
cerefox-local uninstall --purge # remove the container AND delete the data volume (asks you to confirm; --yes in scripts)
|
|
153
153
|
```
|
|
154
154
|
|
|
155
155
|
> **Coming from an image older than v1.1.0?** Run `cerefox-local upgrade v1.1.1`
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cerefox/memory",
|
|
3
|
-
"version": "1.16.
|
|
3
|
+
"version": "1.16.1",
|
|
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",
|