@cerefox/memory 1.15.1 → 1.15.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,8 +15,8 @@
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-xHSz7_7E.js"></script>
19
- <link rel="stylesheet" crossorigin href="/app/assets/index-Dm_zCch4.css">
18
+ <script type="module" crossorigin src="/app/assets/index-DWeD_pcf.js"></script>
19
+ <link rel="stylesheet" crossorigin href="/app/assets/index-B0H_N4if.css">
20
20
  </head>
21
21
  <body>
22
22
  <div id="root"></div>
@@ -18,7 +18,7 @@
18
18
  * doesn't touch `supabase/functions/` leaves it alone).
19
19
  */
20
20
 
21
- export const EF_VERSION = "1.15.1";
21
+ export const EF_VERSION = "1.15.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.15.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.15.1";
39
+ export const CEREFOX_VERSION = "1.15.2";
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.15.1";
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.14.5";
49
+ export const EF_LAST_CHANGED = "1.15.2";
50
50
 
51
51
  /**
52
52
  * The 8 peer EFs the cerefox-mcp aggregator probes (excludes cerefox-mcp
@@ -65,6 +65,12 @@ async function loadTransformers(): Promise<typeof transformersModule> {
65
65
  // eszip for the EF) from statically resolving the ~30 MB package + native
66
66
  // onnxruntime binary. Resolved at runtime from node_modules.
67
67
  const spec = "@huggingface/transformers";
68
+ // onnxruntime 1.29+ ships Microsoft usage telemetry (a device id plus usage
69
+ // events, queued on disk and posted to mobile.events.data.microsoft.com).
70
+ // This is the embedder that exists so nothing leaves the machine, so opt out
71
+ // before the native library loads. `??=`: an operator who sets it explicitly
72
+ // (to anything) keeps their choice.
73
+ process.env.ORT_DISABLE_TELEMETRY ??= "1";
68
74
  transformersModule = await import(spec);
69
75
  const dir = getCacheDir();
70
76
  if (!existsSync(dir)) mkdirSync(dir, { recursive: true });
@@ -29,6 +29,16 @@ The canonical scripts are **TypeScript**, run with [Bun](https://bun.sh) (instal
29
29
  | `backup_create.ts` | `bun scripts/backup_create.ts` |
30
30
  | `backup_restore.ts` | `bun scripts/backup_restore.ts` |
31
31
  | `reindex_all.ts` | `bun scripts/reindex_all.ts` |
32
+ | `cerefox_export.ts` | `bun scripts/cerefox_export.ts` |
33
+ | `gen_openapi.ts` | `bun scripts/gen_openapi.ts` |
34
+ | `cut_release.ts` | `bun scripts/cut_release.ts` (see [RELEASING.md](../../RELEASING.md)) |
35
+
36
+ The remaining files under `scripts/` are not run by hand: `bundle_help.ts`,
37
+ `bundle_package_docs.ts` and `bundle_server_assets.ts` are `prepublishOnly` steps,
38
+ and `check_ef_parity.ts` and `check_help_bundle.ts` are CI checks.
39
+ `_shared/__tests__/ops-scripts-documented.test.ts` holds that split, so a new
40
+ script has to be either documented here or deliberately classified — it cannot be
41
+ silently forgotten.
32
42
 
33
43
  Use the `.ts` scripts. The former `.py` equivalents were **removed at v1.0.0** — update any
34
44
  cron jobs / CI / make targets that still invoke a `python scripts/*.py` path.
@@ -279,6 +289,43 @@ Two naming details worth knowing:
279
289
  numeric suffix and neither can overwrite the other. A real store contains such
280
290
  a pair.
281
291
 
292
+ ## gen_openapi.ts — Regenerate the OpenAPI document
293
+
294
+ `docs/api/openapi.json` describes `/api/v1` in OpenAPI 3.1, for callers that embed
295
+ Cerefox instead of using MCP or the CLI. Point any OpenAPI tool at it to generate
296
+ a client or a tool set.
297
+
298
+ ```bash
299
+ bun scripts/gen_openapi.ts # write docs/api/openapi.json
300
+ bun scripts/gen_openapi.ts --check # fail if the committed file is stale (CI)
301
+ bun scripts/gen_openapi.ts --stdout # print, write nothing
302
+ ```
303
+
304
+ **Run it after changing a route, a summary in [`api.md`](api.md), or a zod schema
305
+ in `_shared/schemas/`.** You will not forget silently:
306
+ `_shared/__tests__/api-openapi-spec.test.ts` fails when the committed artifact is
307
+ not what the generator produces.
308
+
309
+ It is assembled from three sources rather than written, so no fact about the API
310
+ is authored twice:
311
+
312
+ | Part of the spec | Comes from |
313
+ |---|---|
314
+ | paths and methods | the route registrations in `packages/memory/src/web/routes/` |
315
+ | summaries | the endpoint table in `docs/guides/api.md` |
316
+ | request/response shapes | the zod schemas in `_shared/schemas/` |
317
+
318
+ Two things worth knowing about what it does *not* claim:
319
+
320
+ - **Coverage is stated, not implied.** `x-cerefox-coverage` in the document lists
321
+ how many routes carry a response schema, which routes legitimately return
322
+ something other than JSON, and which are unmodelled. An unmodelled route gets
323
+ **no** schema rather than a guessed one.
324
+ - **`info.version` is the API's, not the release's.** It moves when `/api/v1`
325
+ changes. Binding it to the package version made the committed artifact stale at
326
+ every release cut — which broke the v1.15.1 npm publish — and churned every
327
+ generated client on patch releases that did not touch the API.
328
+
282
329
  ## sync_docs.ts — Sync project documentation into Cerefox
283
330
 
284
331
  Ingests `README.md`, `AGENT_GUIDE.md`, `AGENT_QUICK_REFERENCE.md`, and every Markdown file under `docs/` into your Cerefox knowledge base, updating existing documents in-place. Run this any time after editing documentation so AI agents always have access to the current state of the project.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cerefox/memory",
3
- "version": "1.15.1",
3
+ "version": "1.15.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",
@@ -40,27 +40,27 @@
40
40
  ],
41
41
  "dependencies": {
42
42
  "@hono/node-server": "^2.1.1",
43
- "@modelcontextprotocol/sdk": "^1.30.0",
44
- "@supabase/supabase-js": "^2.45.0",
43
+ "@modelcontextprotocol/sdk": "^1.30.1",
44
+ "@supabase/supabase-js": "^2.117.2",
45
45
  "cli-progress": "^3.12.0",
46
46
  "commander": "^15.0.0",
47
- "hono": "^4.13.7",
48
- "mammoth": "^1.9.0",
47
+ "hono": "^4.13.9",
48
+ "mammoth": "^1.13.0",
49
49
  "ora": "^9.4.0",
50
50
  "picocolors": "^1.0.0",
51
51
  "postgres": "^3.4.9",
52
52
  "prompts": "^2.4.2",
53
- "smol-toml": "^1.6.1",
53
+ "smol-toml": "^1.9.0",
54
54
  "zod": "^4.6.5"
55
55
  },
56
56
  "optionalDependencies": {
57
- "@huggingface/transformers": "^4.2.0",
57
+ "@huggingface/transformers": "^4.3.0",
58
58
  "onnxruntime-node": "^1.21.0"
59
59
  },
60
60
  "devDependencies": {
61
- "@types/bun": "^1.3.14",
61
+ "@types/bun": "^1.4.2",
62
62
  "@types/cli-progress": "^3.11.5",
63
- "@types/node": "^24.13.3",
63
+ "@types/node": "^24.19.0",
64
64
  "@types/prompts": "^2.4.9",
65
65
  "typescript": "^6.0.3"
66
66
  },