waku-memory 0.2.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.
- package/.codex-plugin/plugin.json +15 -0
- package/.mcp.json +9 -0
- package/README.md +55 -0
- package/dist/bootstrap.js +256 -64
- package/dist/capture.js +660 -112
- package/dist/cli.js +351 -64
- package/dist/codex-config.js +321 -0
- package/dist/dialogue-codex.js +63 -0
- package/dist/dialogue.js +2 -2
- package/dist/harnesses.js +57 -22
- package/dist/hook.js +103 -74
- package/dist/login.js +312 -0
- package/hooks/hooks.json +63 -0
- package/package.json +2 -2
- package/skills/waku/SKILL.md +23 -0
package/hooks/hooks.json
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
{
|
|
2
|
+
"description": "Waku Memory: the session brief and turn capture through the waku MCP server.",
|
|
3
|
+
"hooks": {
|
|
4
|
+
"SessionStart": [
|
|
5
|
+
{
|
|
6
|
+
"matcher": "startup|resume|clear|compact",
|
|
7
|
+
"hooks": [
|
|
8
|
+
{
|
|
9
|
+
"type": "mcp_tool",
|
|
10
|
+
"server": "waku",
|
|
11
|
+
"tool": "session.hook",
|
|
12
|
+
"timeout": 10,
|
|
13
|
+
"statusMessage": "Waku memory",
|
|
14
|
+
"input": {
|
|
15
|
+
"event": "${hook_event_name}",
|
|
16
|
+
"session_id": "${session_id}",
|
|
17
|
+
"cwd": "${cwd}",
|
|
18
|
+
"source": "${source}"
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
]
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
"UserPromptSubmit": [
|
|
25
|
+
{
|
|
26
|
+
"hooks": [
|
|
27
|
+
{
|
|
28
|
+
"type": "mcp_tool",
|
|
29
|
+
"server": "waku",
|
|
30
|
+
"tool": "session.hook",
|
|
31
|
+
"timeout": 10,
|
|
32
|
+
"input": {
|
|
33
|
+
"event": "${hook_event_name}",
|
|
34
|
+
"session_id": "${session_id}",
|
|
35
|
+
"cwd": "${cwd}",
|
|
36
|
+
"turn_id": "${turn_id}",
|
|
37
|
+
"prompt": "${prompt}"
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
]
|
|
41
|
+
}
|
|
42
|
+
],
|
|
43
|
+
"Stop": [
|
|
44
|
+
{
|
|
45
|
+
"hooks": [
|
|
46
|
+
{
|
|
47
|
+
"type": "mcp_tool",
|
|
48
|
+
"server": "waku",
|
|
49
|
+
"tool": "session.hook",
|
|
50
|
+
"timeout": 10,
|
|
51
|
+
"input": {
|
|
52
|
+
"event": "${hook_event_name}",
|
|
53
|
+
"session_id": "${session_id}",
|
|
54
|
+
"cwd": "${cwd}",
|
|
55
|
+
"turn_id": "${turn_id}",
|
|
56
|
+
"last_assistant_message": "${last_assistant_message}"
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
]
|
|
60
|
+
}
|
|
61
|
+
]
|
|
62
|
+
}
|
|
63
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "waku-memory",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Install Waku Memory into your agent harness, and turn on automatic session capture.",
|
|
5
5
|
"keywords": ["mcp", "memory", "claude-code", "agent", "waku"],
|
|
6
6
|
"homepage": "https://github.com/ShenSeanChen/waku-memory-backend/tree/spec-driven/shim#readme",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
},
|
|
15
15
|
"type": "module",
|
|
16
16
|
"bin": { "waku-memory": "./dist/index.js" },
|
|
17
|
-
"files": ["dist"],
|
|
17
|
+
"files": ["dist", ".codex-plugin", ".mcp.json", "hooks", "skills"],
|
|
18
18
|
"engines": { "node": ">=20" },
|
|
19
19
|
"publishConfig": { "access": "public" },
|
|
20
20
|
"scripts": {
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: waku
|
|
3
|
+
description: Durable memory for this person across sessions. Use memory.recall for what is known about a project and memory.remember for something worth keeping.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Waku Memory keeps what a person tells their agents and what their agents
|
|
7
|
+
learn, and brings it back into later sessions.
|
|
8
|
+
|
|
9
|
+
- At the start of a session the plugin's hooks add a short brief of the
|
|
10
|
+
project's memories to your context. It arrives on the first or second
|
|
11
|
+
prompt; nothing needs to be called for it.
|
|
12
|
+
- Call `memory.recall` with `scope: "project:<name>"` when the person asks
|
|
13
|
+
what is known, or when a task depends on a preference or decision you do
|
|
14
|
+
not have. Call `memory.search` for one specific thing.
|
|
15
|
+
- Call `memory.remember` when the person states a preference, a decision,
|
|
16
|
+
a procedure or a fact they will want next time. Use their words. Do not
|
|
17
|
+
store secrets, credentials or file contents.
|
|
18
|
+
- What the person types and what you reply is sent to Waku after each turn
|
|
19
|
+
by the plugin's hooks; tool output is not.
|
|
20
|
+
|
|
21
|
+
One-time setup the person does: after installing, Codex asks them to
|
|
22
|
+
review and trust this plugin's hooks (`/hooks` in the CLI). Until then
|
|
23
|
+
the brief and the capture do not run.
|