@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.
@@ -5318,7 +5318,7 @@ var init_cli_core = __esm(() => {
5318
5318
  });
5319
5319
 
5320
5320
  // src/meta.ts
5321
- var PKG_VERSION = "1.16.0";
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.0", CEREFOX_VERSION = "1.16.0", EF_LAST_CHANGED = "1.16.0";
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` : "cached";
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 = ["--yes", "supabase", "functions", "deploy", ef, "--use-api"];
67876
- if (projectRef)
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.0";
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.0";
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.0";
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
- : "cached";
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 agent path to permanent purge.**
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 only** |
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
- - there is still **no agent-callable purge**: the sweep function is not exposed over MCP
308
- or the Edge Functions, has no CLI verb, and, like every RPC, is callable over the
309
- Data API only with the service-role key.
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.0",
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",