@cerefox/memory 1.0.1-beta.1 → 1.0.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-6DS5ujj2.js"></script>
18
+ <script type="module" crossorigin src="/app/assets/index-CLD16BC4.js"></script>
19
19
  <link rel="stylesheet" crossorigin href="/app/assets/index-Asx5wD7g.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.0.0-rc.4";
21
+ export const EF_VERSION = "1.0.2";
22
22
 
23
23
  /**
24
24
  * The 8 peer EFs the cerefox-mcp aggregator probes (excludes cerefox-mcp
@@ -20,7 +20,7 @@ This section is for the **cloud / Supabase** backend. Every command reads config
20
20
 
21
21
  The CLI is the TypeScript `@cerefox/memory` package. Invoke any command as plain `cerefox <subcommand>` (installed via the installer or `npm install -g @cerefox/memory` — see [`quickstart.md`](quickstart.md#1-install)).
22
22
 
23
- > **v0.9 verb rename**: commands now follow a `resource verb` shape (e.g. `cerefox document get`, `cerefox project list`). The old flat verbs (`get-doc`, `list-docs`, `ingest`, `list-versions`, `config-get`, `deploy-server`, `docs`, …) survive as hidden husks — they still run but print a pointer to the new form and exit non-zero (removed only at v1.0). Use the new forms below.
23
+ > **v0.9 verb rename**: commands now follow a `resource verb` shape (e.g. `cerefox document get`, `cerefox project list`). The old flat verbs (`get-doc`, `list-docs`, `ingest`, `list-versions`, `config-get`, `deploy-server`, `docs`, …) survive as hidden husks — they don't run; they print a pointer to the new form and exit non-zero. These pointers are kept indefinitely. Use the new forms below.
24
24
 
25
25
  ## Commands
26
26
 
@@ -518,6 +518,13 @@ The success message echoes the resolved author / author_type back so you can sur
518
518
  | `--schema-only` | flag | off | Deploy only schema + RPCs (skip Edge Functions). |
519
519
  | `--functions-only` | flag | off | Deploy only the 9 Edge Functions (skip schema). |
520
520
  | `--dry-run` | flag | off | Preview what would happen; make no changes. |
521
+ | `--project-ref <ref>` | string | derived from `CEREFOX_SUPABASE_URL` | Supabase project ref for the Edge Function deploys (needed only for custom domains, where the ref can't be derived). |
522
+ | `--yes` | flag | off | Skip the deployment confirmation (for scripted/non-interactive runs). |
523
+
524
+ > **macOS**: the Edge Function step shells out to the Supabase CLI, which reads its
525
+ > login token from the Keychain — expect a password dialog per function (click
526
+ > "Always Allow"). To skip the dialogs, set `SUPABASE_ACCESS_TOKEN` in
527
+ > `~/.cerefox/.env` — see [`configuration.md`](configuration.md#supabase--database).
521
528
 
522
529
  Detects fresh vs. existing databases: a fresh DB gets schema + RPCs + migration stamps; an existing DB gets pending migrations applied and `rpcs.sql` re-applied in place. There is deliberately **no `--reset`** here — the destructive wipe lives only in the contributor script `bun scripts/db_deploy.ts --reset`. See [`setup-supabase.md`](setup-supabase.md).
523
530
 
@@ -731,7 +738,7 @@ surface).
731
738
 
732
739
  ## Known issues
733
740
 
734
- None outstanding as of v0.1.17 (cerefox#27 — the `cerefox search` NameError — is resolved). When new bugs surface, they are tracked in the GitHub issues list; check there before relying on a behaviour the docs imply.
741
+ None outstanding as of v1.0.1. When new bugs surface, they are tracked in the GitHub issues list; check there before relying on a behaviour the docs imply.
735
742
 
736
743
  ## Common recipes
737
744
 
@@ -43,11 +43,13 @@ Full rule documented in [`docs/specs/polish-and-distribution-design.md` §7](../
43
43
  | `CEREFOX_ACCESS_TOKENS` | `""` | Server-side (Function secret) | The **server-side accepted set** — a comma-separated list of Cerefox tokens, set as a Supabase **Function secret** (not local `.env`). A request is accepted if its Bearer matches any token in the set, enabling zero-downtime rotation. Managed by `cerefox token generate` / `rotate`. |
44
44
  | `CEREFOX_SUPABASE_ANON_KEY` | `""` | *(deprecated / unused)* | Formerly the legacy anon JWT Bearer for Edge Function calls. **Retired in iter-28E** — Edge Functions now authenticate the Cerefox access token in-function. Retained only so an old `.env` still parses; no longer read. |
45
45
  | `CEREFOX_DATABASE_URL` | `""` | For scripts | Direct Postgres URL for deployment scripts. **Use the Session Pooler** (port `5432`) — Transaction Pooler (`6543`) does not support DDL. Username must include the project-ref suffix (`postgres.<project-ref>`). Append `?sslmode=require`. See [`setup-supabase.md` → Connection pooling (2026)](setup-supabase.md#connection-pooling-2026). |
46
+ | `SUPABASE_ACCESS_TOKEN` | *(unset)* | For EF deploys (optional) | Supabase **personal access token** (`sbp_…`, from [supabase.com/dashboard/account/tokens](https://supabase.com/dashboard/account/tokens)), read by the **Supabase CLI** that `cerefox server deploy` shells out to for Edge Function deploys. Optional — without it the CLI falls back to its `supabase login` credential, which on **macOS lives in the Keychain and triggers a password dialog per function deploy** (9 per full deploy; a denied dialog fails that function with `LegacyPlatformAuthRequiredError`). Setting it in `~/.cerefox/.env` avoids the dialogs entirely: Cerefox exports every key from its `.env` to the environment, so the child CLI inherits it. Not a `CEREFOX_` variable — the name is the Supabase CLI's own. **Keep secret** (it grants management access to your Supabase account). |
46
47
 
47
48
  **When each is needed:**
48
49
  - `CEREFOX_SUPABASE_URL` + `CEREFOX_SUPABASE_KEY` — used by the CLI, web UI, and local MCP server (ingestion, search) via the Supabase Data API
49
50
  - `CEREFOX_ACCESS_TOKEN` — used to call the Edge Functions (remote MCP, GPT Actions, direct HTTP) and by `cerefox doctor` / the live e2e tests; `CEREFOX_ACCESS_TOKENS` is its server-side counterpart (the accepted set). Generate both with `cerefox token generate`.
50
51
  - `CEREFOX_DATABASE_URL` — used only for schema deploys (`cerefox server deploy`, or the contributor scripts `bun scripts/db_*.ts`) via a direct Postgres connection
52
+ - `SUPABASE_ACCESS_TOKEN` — optional; only consumed by the Supabase CLI during `cerefox server deploy` Edge Function deploys (recommended on macOS to avoid per-function Keychain dialogs)
51
53
 
52
54
  ---
53
55
 
@@ -87,7 +87,7 @@ unaffected — they are not Python and remain the source of truth for the schema
87
87
  ```bash
88
88
  cerefox self-update # or: npm install -g @cerefox/memory@latest
89
89
  cerefox token generate # change #1: mint + set the access token
90
- cerefox server deploy # changes #1 + #2: token-gated EFs + schema 0.8.1
90
+ cerefox server deploy # changes #1 + #2: token-gated EFs + schema 0.8.1 (0.8.2 as of v1.0.1)
91
91
  cerefox doctor # verify (edge-functions green; content-format ℹ)
92
92
  # then: update GPT Actions / remote MCP clients to the token; revoke the anon key
93
93
  ```
@@ -126,6 +126,7 @@ Your machine
126
126
  └── Docker container (free)
127
127
  └── Postgres + pgvector + cerefox web/MCP
128
128
  Embeddings via OpenAI API (pay-per-use)
129
+ — or the in-container local embedder ($0, no API key)
129
130
  ```
130
131
 
131
132
  **Typical cost for personal use**: just the **OpenAI embedding spend** (the same pay-per-use
@@ -128,6 +128,15 @@ npx supabase link # prompts for your project ref (the ID in your Supabas
128
128
  Your project ref is in the Supabase dashboard URL:
129
129
  `https://supabase.com/dashboard/project/<project-ref>`
130
130
 
131
+ > **macOS Keychain dialogs**: the Supabase CLI stores the `login` token in the
132
+ > Keychain and reads it back **once per function deploy** — expect up to 9
133
+ > password dialogs per full deploy (click **"Always Allow"**; denying one fails
134
+ > that function with `LegacyPlatformAuthRequiredError`). To skip the Keychain
135
+ > entirely, create a personal access token at
136
+ > [supabase.com/dashboard/account/tokens](https://supabase.com/dashboard/account/tokens)
137
+ > and set it in `~/.cerefox/.env` as `SUPABASE_ACCESS_TOKEN=sbp_…` — see
138
+ > [`configuration.md`](configuration.md#supabase--database).
139
+
131
140
  After it finishes, verify in the Supabase Dashboard → **Edge Functions** — all 9
132
141
  functions should appear with a green "Active" status.
133
142
 
@@ -30,7 +30,9 @@ cerefox doctor # verify
30
30
  database it applies **every** pending migration (regardless of which version
31
31
  you're coming from — so there are no per-version steps to follow), re-applies
32
32
  `rpcs.sql`, and redeploys all nine Edge Functions from npm-bundled assets. No
33
- repo clone required.
33
+ repo clone required. On **macOS**, set `SUPABASE_ACCESS_TOKEN` in
34
+ `~/.cerefox/.env` first to avoid a Keychain password dialog per function deploy
35
+ (see [`configuration.md`](configuration.md#supabase--database)).
34
36
 
35
37
  **Re-embed only when a release says so.** If a release changes the embedding
36
38
  model or FTS / title weighting, also run `cerefox server reindex --all` — that's
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cerefox/memory",
3
- "version": "1.0.1-beta.1",
3
+ "version": "1.0.2",
4
4
  "description": "Cerefox — 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",
@@ -39,12 +39,12 @@
39
39
  "CHANGELOG.md"
40
40
  ],
41
41
  "dependencies": {
42
- "@hono/node-server": "^2.0.4",
43
- "@modelcontextprotocol/sdk": "^1.0.0",
42
+ "@hono/node-server": "^2.0.12",
43
+ "@modelcontextprotocol/sdk": "^1.30.0",
44
44
  "@supabase/supabase-js": "^2.45.0",
45
45
  "cli-progress": "^3.12.0",
46
46
  "commander": "^12.1.0",
47
- "hono": "^4.12.23",
47
+ "hono": "^4.12.34",
48
48
  "mammoth": "^1.9.0",
49
49
  "ora": "^9.4.0",
50
50
  "picocolors": "^1.0.0",