waku-memory 0.1.0 → 0.3.0

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.
@@ -0,0 +1,15 @@
1
+ {
2
+ "name": "waku",
3
+ "version": "0.3.0",
4
+ "description": "Waku Memory: durable memory for your Codex sessions. memory.recall brings what is known about a project into a session; memory.remember keeps what matters; the plugin's hooks open each session with a brief and send each turn to be remembered.",
5
+ "skills": "./skills/",
6
+ "hooks": "./hooks/hooks.json",
7
+ "interface": {
8
+ "displayName": "Waku Memory",
9
+ "shortDescription": "Memory that follows you across sessions",
10
+ "developerName": "Waku",
11
+ "category": "Developer Tools",
12
+ "capabilities": ["Read", "Write"],
13
+ "websiteURL": "https://www.waku.one/"
14
+ }
15
+ }
package/.mcp.json ADDED
@@ -0,0 +1,9 @@
1
+ {
2
+ "mcpServers": {
3
+ "waku": {
4
+ "type": "http",
5
+ "url": "https://api.waku.one/mcp",
6
+ "default_tools_approval_mode": "approve"
7
+ }
8
+ }
9
+ }
package/README.md ADDED
@@ -0,0 +1,55 @@
1
+ # waku-memory
2
+
3
+ This package is the shim that connects an agent harness to Waku Memory. It
4
+ points Claude Code's or Codex's MCP config at Waku's server, and it can turn
5
+ on capture: hooks that send each turn of a session to the server, so the
6
+ agent remembers a project across sessions without anyone typing the same
7
+ conventions twice.
8
+
9
+ ## Commands
10
+
11
+ - `npx waku-memory setup [--name <name>] [--url <url>]` adds the Waku MCP
12
+ server to Claude Code's config.
13
+ - `npx waku-memory capture enable [flags]` turns on automatic capture: it
14
+ shows a disclosure, asks you to accept it, then installs hooks for every
15
+ harness this machine has.
16
+ - `npx waku-memory login [--url <ingest-base>]` signs in through the
17
+ browser and mints an API key, without you ever seeing it.
18
+ - `npx waku-memory capture disable` removes exactly the hook entries
19
+ `capture enable` added. Your saved key stays where it is.
20
+ - `npx waku-memory capture status` prints whether capture is installed for
21
+ Claude Code and for Codex, and whether a key is saved. It only reads.
22
+
23
+ `capture enable` takes these flags:
24
+
25
+ - `--login` signs in through the browser without asking first.
26
+ - `--key <key>` uses this key without asking first.
27
+ - `--url <ingest-base>` points capture at a server other than the default.
28
+ - `--since <N>d` limits the history scan to the last N days.
29
+ - `--all` scans full history instead of `--since`.
30
+ - `--no-bootstrap` skips the history scan and its question entirely.
31
+
32
+ ## Codex
33
+
34
+ Codex can run Waku's hooks and MCP server through two routes.
35
+
36
+ **The plugin.** Install Waku from a Codex plugin marketplace. The plugin
37
+ needs no Node on your machine; it carries its own hooks and its own MCP
38
+ server, and Codex signs you in with its own OAuth flow when you install it.
39
+ Codex still runs a new hook only after you trust it: open `/hooks` in Codex
40
+ and trust Waku's entries once.
41
+
42
+ **The CLI.** `npx waku-memory capture enable` on a machine with Codex
43
+ installed writes the `[mcp_servers.waku]` table into
44
+ `~/.codex/config.toml` and three entries (`SessionStart`, `Stop`,
45
+ `SessionEnd`) into `~/.codex/hooks.json`. This route runs the compiled
46
+ shim directly, so it needs Node 20 or newer. Codex asks the same trust
47
+ step: open `/hooks` and trust Waku's three entries once.
48
+
49
+ When both routes are present on the same machine, the plugin wins:
50
+ `capture enable` leaves both Codex files untouched and says so, since the
51
+ plugin already carries the hooks and the MCP server.
52
+
53
+ `login` works the same way on Codex as it does on Claude Code: it signs you
54
+ in and stores the key at `~/.waku-memory/config.json`, without touching
55
+ either harness's config.